当前位置: 首页 > news >正文

OceanBase 学习计划全攻略:开启分布式数据库探索之旅

《OceanBase 学习计划全攻略:开启分布式数据库探索之旅》

在当今数字化浪潮汹涌澎湃的时代,数据库作为企业信息存储与管理的核心基础设施,其性能、可靠性和扩展性至关重要。OceanBase 作为一款具有卓越分布式特性的国产数据库,正逐渐在行业内崭露头角,吸引着众多技术爱好者和专业人士投身学习。今天,就让我们精心规划一个全面的 OceanBase 学习计划,助你顺利踏上这一充满挑战与机遇的学习征程。

一、学习目标确立

  1. 深入理解分布式数据库原理
    在学习初期,要将掌握分布式数据库的底层架构、数据分片、一致性协议等核心原理作为首要目标。了解 OceanBase 如何通过分布式技术实现高可用、高性能以及无限横向扩展,为后续的实践操作奠定坚实的理论基础。例如,学习其基于 Paxos 协议的多副本强一致性保障机制,探究如何在复杂的分布式环境下确保数据的准确性与完整性。
  2. 熟练掌握 OceanBase 基本操作
    能够熟练运用 OceanBase 进行数据库的创建、表的设计、数据的增删改查等常规操作,如同使用传统关系型数据库一样得心应手。熟悉 OceanBase SQL 语法,包括常见函数、查询优化技巧,掌握索引的创建与使用,以提升数据检索效率,确保在实际开发场景中能够快速构建稳定的数据库应用。
  3. 具备解决实际问题的能力
    学习的最终落脚点是解决实际问题。要致力于培养自己应对 OceanBase 在部署、运维、性能优化等过程中出现的各类问题的能力。例如,当遇到数据库性能瓶颈时,能够通过分析系统资源利用率、查询执行计划等手段,精准定位问题根源,并运用所学知识实施有效的优化策略,如调整数据分片策略、优化 SQL 语句等。

二、学习资源筹备

  1. 官方文档
    OceanBase 官方网站提供了丰富且权威的学习资料,包括详细的产品文档、技术白皮书、API 参考手册等。这些文档从基础概念到高级特性,全方位覆盖,是学习过程中的“宝典”。务必仔细研读,遇到问题首先回归官方文档查找答案,养成良好的学习习惯。
  2. 在线课程
    如今,各大在线教育平台纷纷推出了关于 OceanBase 的课程。可以选择一些由资深讲师授课、课程体系完整、包含大量实战案例的在线课程进行系统学习。例如,网易云课堂、腾讯课堂上的相关课程,通过视频讲解、在线答疑等形式,帮助你更加直观地理解复杂的知识点,加深学习印象。
  3. 书籍资料
    虽然 OceanBase 相关书籍相对较少,但一些经典的分布式数据库著作同样具有极高的参考价值。如《分布式数据库系统原理》,有助于从理论高度深入剖析分布式数据库的内在逻辑;另外,关注 OceanBase 团队成员编写或推荐的专业书籍,能获取更具针对性的知识。
  4. 社区与论坛
    加入 OceanBase 官方社区、技术论坛以及 GitHub 开源社区中的相关项目组,与众多同行、OceanBase 开发者和技术专家交流互动。在这里,你可以分享学习心得、请教疑难问题、了解最新的技术动态,借助集体智慧加速自己的学习进程。

三、学习阶段划分

(一)基础入门阶段(1 - 2 个月)

  1. 分布式数据库理论学习
    • 阅读分布式数据库相关的基础书籍和文章,了解分布式系统的基本概念,如数据分布、副本管理、分布式事务等。
    • 重点学习 OceanBase 的架构概述,掌握其分布式架构的主要组件,包括 ObServer、RootServer、ChunkServer 等的功能与协作方式。
  2. 环境搭建与熟悉
    • 按照官方文档指引,在本地或云端环境搭建 OceanBase 单机或集群模式的测试环境。这一过程中,熟悉 Linux 操作系统的基本命令,掌握必要的网络配置、软件安装与启动停止等技能。
    • 运行 OceanBase 自带的示例数据库,尝试使用简单的 SQL 查询语句检索数据,初步感受 OceanBase 的操作界面与使用方式。

(二)技能提升阶段(2 - 3 个月)

  1. OceanBase SQL 深入学习
    • 系统学习 OceanBase SQL 语法,对比与传统 SQL 的异同点,重点掌握其特有的函数、语法扩展以及针对分布式环境的查询优化技巧。
    • 进行大量的 SQL 练习题,包括复杂查询、多表联查、子查询等,通过实际操作加深对 SQL 语句的理解与运用能力。同时,学习如何使用 Explain 等工具分析查询执行计划,优化查询性能。
  2. 数据库设计与管理
    • 学习基于 OceanBase 的数据库设计原则,考虑分布式环境下的数据分片、冗余备份等因素,设计合理的数据库表结构。
    • 掌握 OceanBase 数据库的日常管理操作,如用户权限管理、数据备份与恢复、数据库参数配置等,确保数据库的稳定运行与数据安全。

(三)实战进阶阶段(3 - 4 个月)

  1. 项目实战
    • 参与或自主开发一些基于 OceanBase 的小型项目,如电商订单管理系统、社交媒体用户信息管理系统等。在项目中,将所学的数据库设计、SQL 操作、性能优化等知识全面应用,积累实际开发经验。
    • 学会解决项目中遇到的实际问题,如数据一致性问题、高并发场景下的性能瓶颈等,通过查阅资料、请教他人等方式,不断提升问题解决能力。
  2. 性能优化与运维
    • 深入研究 OceanBase 的性能优化策略,包括硬件资源优化、SQL 优化、数据分片优化、缓存优化等多个方面。通过监控工具实时了解数据库的运行状态,根据性能指标及时调整优化策略。
    • 学习 OceanBase 的运维知识,掌握集群的扩缩容、故障诊断与修复、版本升级等操作,确保在生产环境中能够保障数据库的稳定高效运行。

(四)高级突破阶段(4 个月以上)

  1. 深入研究分布式特性
    • 对 OceanBase 的分布式特性进行深入挖掘,研究其分布式事务处理机制、全局一致性读实现方式、多租户资源管理等高级技术点。
    • 通过阅读学术论文、参与技术研讨等方式,了解行业内分布式数据库的最新研究成果与发展趋势,结合 OceanBase 的实际应用,探索创新的解决方案。
  2. 开源贡献与技术分享
    • 积极参与 OceanBase 的开源项目,为社区贡献代码、提交 Bug 报告或改进建议,与全球开发者共同推动 OceanBase 的发展。
    • 将自己的学习成果、实战经验整理成技术文章、博客或在技术会议上进行分享,不仅能够巩固所学知识,还能提升个人在行业内的知名度与影响力。

四、学习方法与技巧

  1. 多实践
    数据库学习重在实践,每学习一个新知识点,立即在测试环境中进行操作验证。通过大量的实际案例,加深对理论知识的理解,提高解决实际问题的能力。例如,学习完索引优化后,就在自己搭建的数据库中创建不同类型的索引,对比查询性能的变化。
  2. 做笔记与总结
    学习过程中,养成做笔记的好习惯,将重点知识、疑难问题、解决方案等详细记录下来。定期对笔记进行整理总结,构建知识体系框架,便于复习回顾,避免遗忘。同时,通过总结能够发现知识之间的内在联系,加深理解。
  3. 善用工具
    利用各种数据库开发工具、监控工具以及调试工具,辅助学习与工作。如使用 Navicat 等可视化工具连接 OceanBase,方便进行数据库操作;借助 OceanBase 自带的监控系统或第三方工具如 Prometheus、Grafana,实时监控数据库的性能指标,及时发现问题。
  4. 交流合作
    积极参与学习小组、技术交流活动,与其他 OceanBase 学习者或从业者合作完成项目、探讨技术问题。不同的人有不同的思维方式和经验积累,通过交流合作能够拓宽视野,获取更多的学习资源与解决问题的灵感。

OceanBase 学习是一场充满挑战但极具价值的旅程,需要我们持之以恒、循序渐进地推进学习计划。按照上述规划,扎实走好每一步,相信你定能掌握这一强大的分布式数据库技术,在数字化时代的技术浪潮中勇立潮头,为个人职业发展与企业数字化转型贡献卓越力量。让我们怀揣热情,即刻出发,开启 OceanBase 学习的精彩篇章!

相关文章:

OceanBase 学习计划全攻略:开启分布式数据库探索之旅

《OceanBase 学习计划全攻略:开启分布式数据库探索之旅》 在当今数字化浪潮汹涌澎湃的时代,数据库作为企业信息存储与管理的核心基础设施,其性能、可靠性和扩展性至关重要。OceanBase 作为一款具有卓越分布式特性的国产数据库,正…...

Linux 虚拟机与windows主机之间的文件传输--设置共享文件夹方式

Linux 虚拟机与windows主机之间的文件传输 设置共享文件夹方式 在虚拟机中打开终端查看是否已经新建完成,到文件夹中找到它看一下,这个位置就能存储东西啦...

React Context用法总结

1. 基本概念 1.1 什么是 Context Context 提供了一种在组件树中共享数据的方式,而不必通过 props 显式地逐层传递。它主要用于共享那些对于组件树中许多组件来说是"全局"的数据。 1.2 基本用法 // 1. 创建 Context const ThemeContext React.createC…...

Linux好用软件

力荐软件 apt-fast:更快速的软件管理安装过程会进入一个图形界面,配置线程数等信息,全部默认即可 sudo add-apt-repository ppa:apt-fast/stable sudo apt-get update sudo apt-get -y install apt-fast 以后安装应用,把apt-get直接替换成apt-fast即可,例如安装vlc sudo…...

【MYSQL】

文章目录 1.DDL 1.DDL --添加字段 ALTER TABLE table_name add COLUMN embed_model VARCHAR(32) NOT NULL COMMENT 名称备注 COLLATE utf8mb4_bin AFTER config_code;--修改字段 ALTER TABLE table_name CHANGE COLUMN column_a column_b VARCHAR(500) NOT NULL COMMENT 配置信…...

webrtc之rtc::ArrayView<const uint8_t>

rtc::ArrayView<const uint8_t> 是 WebRTC&#xff08;或其他基于 rtc 命名空间的库&#xff09;中常见的一个类型&#xff0c;它通常用于表示一块 只读的内存区域&#xff0c;该内存区域由一系列 uint8_t 类型&#xff08;无符号 8 位整数&#xff09;元素组成。 1. rt…...

深入理解 MySQL 的 EXPLAIN 工具

1. 什么是 EXPLAIN 工具&#xff1f; EXPLAIN 是 MySQL 中用来分析 SQL 查询执行计划的命令&#xff0c;它能够显示查询在执行时会如何访问表、使用哪些索引、扫描多少行等信息。通过 EXPLAIN 工具&#xff0c;开发者可以直观地了解查询的执行过程&#xff0c;从而进行针对性的…...

谷歌Google、紫鸟浏览器插件开发

对于跨境电商行业的IT部门来说&#xff0c;经常需要获取各种店铺相关数据&#xff0c;但是仅靠官方提供的接口来获取数据远远不够&#xff0c;这个时候我们就需要插件或者RPA的方式来获取数据。 以下是关于自研紫鸟插件的简单demo&#xff0c;紫鸟浏览器使用的是火狐和谷歌的插…...

HTML 显示器纯色亮点检测工具

HTML 显示器纯色亮点检测工具 相关资源文件已经打包成html等文件&#xff0c;可双击直接运行程序&#xff0c;且文章末尾已附上相关源码&#xff0c;以供大家学习交流&#xff0c;博主主页还有更多Html相关程序案例&#xff0c;秉着开源精神的想法&#xff0c;望大家喜欢&#…...

Win32汇编学习笔记09.SEH和反调试

Win32汇编学习笔记09.SEH和反调试-C/C基础-断点社区-专业的老牌游戏安全技术交流社区 - BpSend.net SEH - structed exception handler 结构化异常处理 跟筛选一样都是用来处理异常的,但不同的是 筛选器是整个进程最终处理异常的函数,但无法做到比较精细的去处理异常(例如处理…...

计算机组成原理(九):乘法器

乘法器原理 乘法器的工作原理可以用二进制乘法来说明。二进制乘法和十进制乘法类似&#xff0c;通过部分积的累加得到结果。 部分积的生成 在二进制乘法中&#xff0c;每一位的乘积是两个二进制数位的 与运算&#xff08;0 0 0&#xff0c;1 0 0&#xff0c;0 1 0&…...

前端开发中常用的插件库

ahooks 一个高质量且可靠的React Hooks库。class-variance-authority&#xff08;CVA&#xff09; 是一个专注于解决CSS类管理问题的库。classnames 是一个在React开发中非常流行的JavaScript工具库&#xff0c;它可以帮助开发者有条件地连接类名字符串。copy-to-clipboard 一个…...

认识+安装ElasticSearch

1. 为什么要学习ElasticSearch? 一般的来说,项目中的搜索功能尤其是电商项目,商品的搜索肯定是访问频率最高的页面之一。目前搜索功能是基于数据库的模糊搜索来实现的&#xff0c;存在很多问题。 1.1 数据库搜索所存在的问题 1.1.1 查询效率较低 由于数据库模糊查询不走索引&…...

Nginx | 解决 Spring Boot 与 Nginx 中的 “413 Request Entity Too Large“ 错误

关注&#xff1a;CodingTechWork 引言 在 Web 开发中&#xff0c;413 Request Entity Too Large 是一种常见的 HTTP 错误&#xff0c;它指示客户端请求的实体&#xff08;例如文件或数据&#xff09;超出了服务器允许的最大大小。对于使用 Spring Boot 和 Nginx 的应用程序来说…...

CAD批量打印可检索的PDF文件

本文虽介绍CAD使用方法&#xff0c;但还是劝告大家尽早放弃使用CAD软件。。。。太TM难用了 当你打开CAD时发现如下一堆图纸&#xff0c;但是不想一个一个打印时。你可以按照下面操作实现自动识别图框实现批量打印。 1.安装批量打印插件 2.安装后打开CAD&#xff0c;输入命令Bp…...

理解Unity脚本编译过程:程序集

https://docs.unity3d.com/Manual/script-compilation.html 关于Unity C#脚本编译的细节&#xff0c;其中一个比较重要的知识点就是如何自定义Assembly。 预定义的assembly 默认情况下&#xff0c;Unity会按照这个规则进行编译。 PhaseAssembly nameScript files1Assembly-…...

Linux-Ubuntu之SPI串行通信陀螺仪和加速度计

Linux-Ubuntu之SPI串口通信陀螺仪和加速度计 一&#xff0c;SPI通信原理二&#xff0c;ICM-20608六轴传感器控制三&#xff0c;代码1.小tip 一&#xff0c;SPI通信原理 SPI&#xff1a;串行全双工通信&#xff0c;最高能达到百MHZ&#xff0c;通常一个主设备跟多个从设备&…...

【C++/控制台】2048小游戏

源代码&#xff1a; #include <iostream> #include <windows.h> #include <stdio.h> #include <math.h> #include <stdlib.h> #include <conio.h> #include <time.h>// #define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME)…...

github gitbook写书

github创建新的仓库 在仓库中添加目录 ‘SUMMARY.md # Summary * [简介](README.md)gitbook 新建一个site https://www.gitbook.com/ 注册账号 取名字 一路 next&#xff0c;注意选免费版 最后 gitbook同步到github 你在主页可以看到 刚刚的test网站 点击右上角圈出来…...

鸿蒙中调整应用内文字大小

1、ui Stack() {Row() {ForEach([1, 2, 3, 4], (item: number) > {Text().width(3).height(20).backgroundColor(Color.Black).margin(item 2 ? { left: 8 } : item 3 ? { left: 7 } : { left: 0 })})}.width(97%).justifyContent(FlexAlign.SpaceBetween).padding({ ri…...

欧拉公式和傅里叶变换

注&#xff1a;英文引文机翻&#xff0c;未校。 中文引文未整理去重&#xff0c;如有异常&#xff0c;请看原文。 Euler’s Formula and Fourier Transform Posted byczxttkl October 7, 2018 Euler’s formula states that e i x cos ⁡ x i sin ⁡ x e^{ix} \cos{x} i …...

【C++经典例题】求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句

&#x1f493; 博客主页&#xff1a;倔强的石头的CSDN主页 &#x1f4dd;Gitee主页&#xff1a;倔强的石头的gitee主页 ⏩ 文章专栏&#xff1a; 期待您的关注 题目描述&#xff1a; 原题链接&#xff1a; 求123...n_牛客题霸_牛客网 (nowcoder.com) 解题思路&#xff1a; …...

Robot---奇思妙想轮足机器人

1 背景 传统机器人有足式、轮式、履带式三种移动方式&#xff0c;每种移动方式都有各自的优缺点。轮式机器人依靠车轮在地面上移动&#xff0c;能源利用率高、移动速度快&#xff0c;但是仅以轮子与地面接触&#xff0c;缺乏越障能力和对复杂地形的适应能力&#xff0c;尤其面对…...

升级 Spring Boot 3 配置讲解 —— 如何处理文件上传下载?

学会这款 &#x1f525;全新设计的 Java 脚手架 &#xff0c;从此面试不再怕&#xff01; 1. 环境准备 在开始之前&#xff0c;确保你已经具备以下环境&#xff1a; JDK 17 或更高版本&#xff08;Spring Boot 3 要求的最低 JDK 版本&#xff09;Maven 或 Gradle 构建工具Spr…...

(四)结合代码初步理解帧缓存(Frame Buffer)概念

帧缓存&#xff08;Framebuffer&#xff09;是图形渲染管线中的一个非常重要的概念&#xff0c;它用于存储渲染过程中产生的像素数据&#xff0c;并最终输出到显示器上。简单来说&#xff0c;帧缓存就是计算机图形中的“临时画布”&#xff0c;它储存渲染操作生成的图像数据&am…...

WebRTC 在视频联网平台中的应用:开启实时通信新篇章

在当今这个以数字化为显著特征的时代浪潮之下&#xff0c;实时通信已然稳稳扎根于人们生活与工作的方方面面&#xff0c;成为了其中不可或缺的关键一环。回首日常生活&#xff0c;远程办公场景中的视频会议让分散各地的团队成员能够跨越地理距离的鸿沟&#xff0c;齐聚一堂共商…...

Python文件操作

文件的编码 文件编码 思考&#xff1a;计算机只能识别&#xff1a;0和1&#xff0c;那么我们丰富的文本文件是如何被计算机识别&#xff0c;并存储在硬盘中呢&#xff1f; 答案&#xff1a;使用编码技术&#xff08;密码本&#xff09;将内容翻译成0和1存入。 编码技术即&am…...

【渗透测试术语总结】

Top 渗透测试常用专业术语 相信大家和我一样&#xff0c;搞不清这些专业名词的区别&#xff0c;所以我来整理一下。 1. POC、EXP、Payload与Shellcode POC&#xff1a;全称 Proof of Concept &#xff0c;中文 概念验证 &#xff0c;常指一段漏洞证明的代码。 EXP&#xf…...

利用ArcGIS快速准确地统计出地块的现状容积率

研究目的 根据建筑.dwg、建筑.dwg Annotation、建筑.dwg Polygon&#xff0c;地籍边界.shp等数据&#xff0c;利用GIS快速准确地统计出地块的现状容积率。 研究思路 加载数据图层&#xff1a;建筑.dwg Polygon、建筑.dwg Annotation&#xff0c;使用空间连接功能把建筑层数数…...

Linux:守护进程

一、套路 直接来&#xff0c;不铺垫了&#xff1b; #include<iostream> #include<string> #include<cstdlib> #include<unistd.h> #include<unistd.h> #include<sys/types.h> #include<sys/stat.h> #include<funtl.h> const …...

《Spring Framework实战》3:概览

欢迎观看《Spring Framework实战》视频教程 Spring Framework 为基于现代 Java 的企业应用程序提供了全面的编程和配置模型 - 在任何类型的部署平台上。 Spring 的一个关键要素是应用程序级别的基础设施支持&#xff1a;Spring 专注于企业应用程序的 “管道”&#xff0c;以便…...

【云商城】高性能门户网构建

第3章 高性能门户网构建 网站门户就是首页 1.OpenResty 百万并发站点架构 ​ 1).OpenResty 特性介绍 ​ 2).搭建OpenResty ​ 3).Web站点动静分离方案剖析 2.Lua语法学习 ​ 1).Lua基本语法 3.多级缓存架构实战 ​ 1).多级缓存架构分析 用户请求网站&#xff0c;最开始…...

IvorySQL 升级指南:从 3.x 到 4.0 的平滑过渡

日前&#xff0c;IvorySQL 4.0 重磅发布&#xff0c;全面支持 PostgreSQL 17&#xff0c;并且增强了对 Oracle 的兼容性。关于 IvorySQL 4.0 的介绍&#xff0c;各位小伙伴可以通过这篇文章回顾&#xff1a;IvorySQL 4.0 发布&#xff1a;全面支持 PostgreSQL 17. 在 IvorySQL…...

GESP202312 四级【小杨的字典】题解(AC)

》》》点我查看「视频」详解》》》 [GESP202312 四级] 小杨的字典 题目描述 在遥远的星球&#xff0c;有两个国家 A 国和 B 国&#xff0c;他们使用着不同的语言&#xff1a;A 语言和 B 语言。小杨是 B 国的翻译官&#xff0c;他的工作是将 A 语言的文章翻译成 B 语言的文章…...

数据库_解决SQL Server数据库log日志过大,清理日志文件方法

SQL Server数据库日志文件过大的原因主要有几个方面&#xff1a; 事务日志记录了所有对数据库进行修改的操作&#xff0c;如插入、更新和删除&#xff0c;这些操作会不断增加日志文件的大小。 长时间运行且未正确结束的事务会持续占用事务日志中的空间&#xff0c;导致日志文…...

Java 的单例模式详解及优化

&#x1f496; 欢迎来到我的博客&#xff01; 非常高兴能在这里与您相遇。在这里&#xff0c;您不仅能获得有趣的技术分享&#xff0c;还能感受到轻松愉快的氛围。无论您是编程新手&#xff0c;还是资深开发者&#xff0c;都能在这里找到属于您的知识宝藏&#xff0c;学习和成长…...

关于 webservice 日志中 源IP是node IP的问题,是否能解决换成 真实的客户端IP呢

本篇目录 1. 问题背景2. 部署gitlab 17.52.1 添加repo源2.2 添加repo源 下载17.5.0的charts包2.3 修改values文件2.3.1 hosts修改如下2.3.2 appConfig修改如下2.3.3 gitlab下的sidekiq配置2.3.4 certmanager修改如下2.3.5 nginx-ingress修改如下2.3.6 <可选> prometheus修…...

[python3]xlrd不支持Excel xlsx文件类型

https://xlrd.readthedocs.io/en/latest/ xlrd is a library for reading data and formatting information from Excel files in the historical .xls format. 解决办法&#xff1a;指定支持的版本1.2.0&#xff0c;pip3 install xlrd1.20 pip3 install xlrd1.2.0 Looking …...

React中createRoot函数原理解读——Element对象与Fiber对象、FiberRootNode与HostRootNode

【2024最新版】React18 核心源码分析教程&#xff08;全61集&#xff09; Element对象与Fiber对象 在 React 中&#xff0c;Element 对象 和 Fiber 对象 是核心概念&#xff0c;用于实现 React 的高效渲染和更新机制。以下是它们的详细解读&#xff1a; 1. Element 对象 定…...

【网络协议】动态路由协议

前言 本文将概述动态路由协议&#xff0c;定义其概念&#xff0c;并了解其与静态路由的区别。同时将讨论动态路由协议相较于静态路由的优势&#xff0c;学习动态路由协议的不同类别以及无类别&#xff08;classless&#xff09;和有类别&#xff08;classful&#xff09;的特性…...

DevOps:CI、CD、CB、CT、CD

目录 一、软件开发流程演化快速回顾 &#xff08;一&#xff09;瀑布模型 &#xff08;二&#xff09;原型模型 &#xff08;三&#xff09;螺旋模型 &#xff08;四&#xff09;增量模型 &#xff08;五&#xff09;敏捷开发 &#xff08;六&#xff09;DevOps 二、走…...

网络安全 | WAF防护开通流程与技术原理详解

关注&#xff1a;CodingTechWork 引言 随着互联网安全形势的日益严峻&#xff0c;Web应用防火墙&#xff08;WAF, Web Application Firewall&#xff09;逐渐成为网站和应用的标准防护措施。WAF能够有效识别和防止如SQL注入、跨站脚本攻击&#xff08;XSS&#xff09;、恶意流…...

【我的 PWN 学习手札】IO_FILE 之 FSOP

FSOP&#xff1a;File Stream Oriented Programming 通过劫持 _IO_list_all 指向伪造的 _IO_FILE_plus&#xff0c;进而调用fake IO_FILE 结构体对象中被伪造的vtable指向的恶意函数。 目录 前言 一、glibc-exit函数浅析 二、FSOP 三、Largebin attack FSOP &#xff08;…...

Spring——自动装配

假设一个场景&#xff1a; 一个人&#xff08;Person&#xff09;有一条狗&#xff08;Dog&#xff09;和一只猫(Cat)&#xff0c;狗和猫都会叫&#xff0c;狗叫是“汪汪”&#xff0c;猫叫是“喵喵”&#xff0c;同时人还有一个自己的名字。 将上述场景 抽象出三个实体类&…...

C语言——文件IO 【文件IO和标准IO区别,操作文件IO】open,write,read,dup2,access,stat

1.思维导图 2.练习 1&#xff1a;使用C语言编写一个简易的界面&#xff0c;界面如下 1&#xff1a;标准输出流 2&#xff1a;标准错误流 3&#xff1a;文件流 要求&#xff1a;按1的时候&#xff0c;通过printf输出数据&#xff0c;按2的时候&#xff0c;通过p…...

人工智能知识分享第九天-机器学习_集成学习

集成学习 概念 集成学习是机器学习中的一种思想&#xff0c;它通过多个模型的组合形成一个精度更高的模型&#xff0c;参与组合的模型称为弱学习器&#xff08;基学习器&#xff09;。训练时&#xff0c;使用训练集依次训练出这些弱学习器&#xff0c;对未知的样本进行预测时…...

腾讯云AI代码助手编程挑战赛-武器大师

作品简介 对话过程能够介绍二战 各种武器 冷战 武器 现代的 各种武器装备&#xff0c;陆海空三军都知道。 技术架构 使用全后端分离的架构&#xff0c;前端使用Vue脚手架&#xff0c;腾讯云修改样式css 开发环境、开发流程 系统&#xff1a;win11 开发工具&#xff1a;VS…...

Python机器学习笔记(十八、交互特征与多项式特征)

添加原始数据的交互特征&#xff08;interaction feature&#xff09;和多项式特征&#xff08;polynomial feature&#xff09;可以丰富特征表示&#xff0c;特别是对于线性模型。这种特征工程可以用统计建模和许多实际的机器学习应用中。 上一次学习&#xff1a;线性模型对w…...

java_深入理解main方法

深入理解main方法 在 main()方法中&#xff0c;我们可以直接调用 main 方法所在类的静态方法或静态属性。但是&#xff0c;不能直接访问该类中的非静态成员&#xff0c;必须创建该类的一个实例对象后&#xff0c;才能通过这个对象去访问类中的非静态成员&#xff0c;[举例说明]…...

NLP中常见的分词算法(BPE、WordPiece、Unigram、SentencePiece)

文章目录 一、基本概念二、传统分词方法2.1 古典分词方法2.2 拆分为单个字符 三、基于子词的分词方法&#xff08;Subword Tokenization&#xff09;3.1 主要思想3.2 主流的 Subword 算法3.3 Subword 与 传统分词方法的比较 四、Byte Pair Encoding (BPE)4.1 主要思想4.2 算法过…...