自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 JavaEE初阶第一课时补充

指令的执行,是 CPU 的控制器按照程序计数器的地址,从内存中取指并暂存到指令寄存器,经译码器解析操作码和操作数后,指挥运算器、内存、寄存器等硬件,完成指令定义的具体操作,且执行完一条指令后自动更新程序计数器,进入下一条指令的执行循环,整个过程由时钟驱动,是硬件按二进制规则的自动化协同过程。

2026-03-09 20:24:27 358

原创 JavaEE初阶第一课时==计算机与系统讨论==

操作系统(OS)是管理计算机硬件与软件资源的软件集合,是用户、应用程序与计算机硬件之间的中间层接口,课件明确了其核心定位和功能。系统分层视图(从上层到下层):应用程序 → 操作系统 → 处理器 / 主存 / I/O 设备两大核心基本功能资源管理:防止硬件资源被应用程序滥用,合理分配 CPU、内存、I/O 设备等硬件资源;接口提供:向应用程序提供简单、一致的硬件控制机制,屏蔽硬件的复杂性和差异性。核心管理功能。

2026-03-09 20:13:39 437

原创 MySQL第五课时

主服务器(Master):负责所有写操作(INSERT/UPDATE/DELETE)及部分简单读操作,记录二进制日志(binlog)从服务器(Slave):负责复杂读操作和数据备份,通过复制主库 binlog 并重放实现数据同步ShardingSphere-Proxy 是 Apache 顶级项目,定位为透明化数据库代理,支持 MySQL、PostgreSQL 等数据库,提供读写分离、数据分片、分布式事务、数据加密等功能,应用程序可通过标准 SQL 协议连接,无需修改代码。表格业务规模推荐架构。

2026-03-08 14:18:36 320

原创 MySQL第四课时

mysqldump 是 MySQL 官方自带的逻辑备份工具,通过导出 SQL 语句实现备份,支持全库 / 单库 / 单表 / 多表备份,生成的 SQL 文件可直接导入恢复,简单灵活,跨平台性好。Xtrabackup 是 Percona 公司开发的开源免费 MySQL 物理热备工具,是 MySQL 社区唯一的开源物理热备工具,支持 InnoDB/XtraDB 存储引擎的非阻塞热备,备份 / 恢复速度快,支持全量 / 增量备份,是生产环境大型数据库备份的主流选择。

2026-03-08 14:07:16 336

原创 MySQL第三课时

调优核心目标:减少 CPU 占用和 I/O 操作,提升查询响应速度,避免全表扫描性能对比案例,耗时0.00 秒,耗时0.59 秒(无索引时)压测结果:100 并发下,主键查询平均耗时0.203 秒,非索引列查询平均耗时1001.484 秒测试数据准备:通过存储过程创建 100 万条数据的index_demo表,含主键索引、普通索引(class_id)等答案索引覆盖:查询的所有列(SELECT 子句列)均包含在索引中,MySQL 可直接从索引中获取数据,无需访问主表,执行计划 Extra 列显示。

2026-03-08 11:26:15 353

原创 MySQL进阶版第二课时

在 MySQL Workbench 中,选中主表的主键字段,拖拽到从表的外键字段,弹出关系设置窗口,选择关系类型(1:1/1:N/N:M),确认后完成关联。:一个主表记录对应多个从表记录,如字典类型与字典条目、行政区域(省 / 市 / 区)自身关联、聊天会话与聊天内容。:成绩表(学生 ID、课程 ID、学生姓名、分数),联合主键为「学生 ID + 课程 ID」,:两个实体的记录互相对应多条,如房源与标签、学生与课程、用户与角色。:订单表(订单 ID、用户 ID、用户姓名、订单金额),

2026-03-08 10:47:36 353

原创 MySQL进阶版第一课时

SQL 会话中定义,无需提前声明,作用域为当前会话。sql标签名: LOOPIF 退出条件 THENLEAVE 标签名;-- 退出整个循环END IF;IF 跳过条件 THENITERATE 标签名;-- 跳过本次循环END IF;执行语句;END LOOP 标签名;与表关联的数据库对象,对表执行时自动触发执行指定 SQL,MySQL仅支持行级触发器(每操作一行触发一次),不支持语句级触发器。

2026-03-08 10:41:05 396

原创 MySQL存储过程

存储过程是一组为了完成特定功能的 SQL 语句集,经过编译后存储在数据库中;用户通过指定存储过程的名字 + 参数,即可执行并获取返回结果。

2026-03-01 14:33:02 714

原创 MySQL==表的结构操作1

字母对应英文中文含义核心 SQL 语句CCreate新增数据INSERTRRetrieve查询数据SELECTUUpdate更新数据UPDATEDDelete删除数据DELETE。

2026-01-02 18:33:59 909

原创 MySQL数据库基础操作

【代码】MySQL数据库基础操作。

2026-01-01 15:24:54 775

原创 数据结构==B-树==

(每次 IO 仅能读取一个节点),二叉树的高树高会导致大量 IO 次数,性能急剧下降。子节点数与关键字数的关系:子节点数 = 关键字数 + 1(B 树的核心关联规则)。趋势(如 100 万条数据,树高约 20),而外存操作的核心成本是。各节点的关键字 / 子节点数范围(需熟记,为插入分裂打基础)。关键字的有序性和叶子节点的同层性(B 树平衡的两大保证)。以 **m=3 阶 B 树(2-3 树)二叉树的树高随数据量增长呈。

2025-12-14 20:00:52 721

原创 数据结构==LRU Cache ==

LRU Cache 是算法与开发中的高频考点,核心在于哈希表 + 双向链表的组合使用,重点掌握数据结构的协同逻辑、getput方法的业务逻辑,难点在于哑节点的设计和双向链表的指针操作。在实战中,需注意线程安全和边界条件处理,也可利用 Java 自带的 LinkedHashMap 快速实现 LRU,或使用 Redis 等中间件实现分布式缓存。

2025-12-12 17:02:30 785

原创 并查集(Union-Find)数据结构

定义:并查集是一种抽象数据类型(ADT),专门用于处理n 个不同元素的不相交集合的合并(Union)与查询(Find)问题,能高效管理元素的所属集合关系。应用场景:适用于需要动态维护集合归属、判断元素是否同属一个集合的场景。例如:公司校招学生组队(从互不相识的小分队合并为朋友圈)、城市连通性(省份划分)、变量等式 / 不等式关系校验等。

2025-12-11 20:33:31 1129

原创 哈希切割、位图、布隆过滤器 (针对超大数据量处理场景)

会议围绕「超大数据量(100亿/100G级)无法直接加载内存」的共性问题,展开三大算法思想的应用讲解,每个思想对应具体每个思想对应具体题目、解法细节及拓展延伸,同时明确各环节重难点。关键逻辑通过图片注释直观呈现,辅助理解核心流程。

2025-12-10 19:53:06 884

原创 数据结构==布隆过滤

布隆过滤器是由 Burton Howard Bloom 在 1970 年提出的紧凑型概率型数据结构,核心目标是解决 “海量数据的存在性快速判断” 问题,本质是哈希函数 + 位图(BitSet)的组合设计,弥补了传统哈希表空间利用率低、纯位图仅支持整数存储的缺陷。核心价值:以极小的空间开销和 O (1) 的时间复杂度,实现海量元素的存在性判断(无漏判,有可控误判);适用场景边界:仅关注 “存在性”,不关注元素的具体内容获取(无法从过滤器中提取元素本身)。

2025-12-09 20:02:21 781

原创 位图(BitSet)核心知识与自定义实现

以下为基于byte数组实现的自定义位图类,已修正变量名拼写错误,并补充逻辑注意点注释:java运行/*** 自定义位集(BitSet)实现类* 基于byte数组存储位信息,每个byte占8位,可高效存储和操作大量布尔状态(位标记)* 核心逻辑:通过数组索引定位byte元素,通过位索引定位byte内的具体位,利用位运算完成置1/置0/查询操作*//*** 存储位数据的byte数组:每个byte元素可表示8个位的状态(0/1)

2025-12-09 16:29:32 390

原创 数据结构===红黑树===

代码展示int val;1.4红黑树的插入红黑树是在二叉搜索树的基础上加以平衡限制条件,因此红黑树的插入可以分为两部:1,按照二叉搜索的树规则插入新节点2,检测新节点插入后,红黑树的性质是否造到破坏因为新节点的默认颜色是红色,因此:如果其双亲节点的颜色是黑色,没有违反红黑树任何性质,则不需要 调整;但当新插入节点的双亲节点颜色为红色时,就违反了性质三不能有连在一起的红色节点,此时需要对 红黑树分情况来讨论:1,插入的节点是根节点➡️直接变黑。

2025-12-07 16:23:47 478

原创 数据结构==二叉平衡树,AVL树 ===

/ 当前节点的平衡因子=右子树高度-左子树的高度。

2025-12-04 19:39:40 857

原创 字符串常量池与String.intern() &&HashMap 底层实现 &&反射机制

本文摘要: 本文详细解析了Java三大核心模块:1.String的intern()方法,重点分析JDK不同版本下字符串常量池的存储差异和内存优化;2.HashMap源码,深入讲解JDK1.7和1.8的底层结构差异、扩容机制和哈希冲突解决方案;3.反射机制,全面介绍Class对象获取、成员访问和动态调用方法等核心功能。每个模块都包含底层原理、代码演示、重点难点、易错点和面试常见问题,并配有版本差异说明和性能优化建议。文章既涵盖必须掌握的基础知识,也提供了扩展延伸内容,适合不同层次的Java开发者学习参考。

2025-12-02 20:32:34 1033

原创 哈希桶,元素插入逻辑实现

4,核心知识:通过哈希运算实现O(1)级别的查找/插入效率,用链表地址解决哈希冲突。1,哈希桶的核心结构:数组加链表(数组负责快速定位,链表负责解决哈希冲突);3,插入流程:(put方法)计算下标➡️检查重复key➡️插入/更新节点。2,节点设计:封装key,value,和next指针,支持链表式存储。

2025-12-02 20:18:48 919

原创 数据结构===Map/Set (2)===

哈希表是一种通过哈希函数将键映射到存储位置的高效数据结构,实现O(1)时间复杂度访问。其核心包括:1)哈希函数设计需满足定义域全覆盖、值域合法和均匀分布;2)冲突处理分为开放地址法(线性/二次探测)和链地址法(哈希桶);3)负载因子控制(Java默认0.75)通过扩容降低冲突率。实际应用包括统计词频、查找唯一数字等,Java中的HashMap采用数组+链表/红黑树结构,通过扰动函数优化哈希分布。哈希表以空间换时间,是处理快速查找问题的首选数据结构。

2025-11-22 19:38:34 671

原创 数据结构===Map/Set + 搜索树===

【代码】数据结构===Map/Set + 搜索树===

2025-11-18 12:13:35 685

原创 排序算法的相关讨论

核心作用:解决自定义对象(如 Student、Card)无法直接比较的问题,让 PriorityQueue 支持复杂对象的有序管理。实现逻辑:要么让自定义类实现 Comparable 接口(内部定义排序规则),要么传入 Comparator(外部定义排序规则),本质是为对象提供 “可比较性”。典型用途按对象属性排序(如 Student 类按年龄升序、Card 类按花色 + 点数排序)。灵活切换排序规则(如同一批商品,可通过不同 Comparator 实现按价格升序 / 销量降序排序)。

2025-11-10 20:21:21 931

原创 数据结构==排序==

本文介绍了常见的排序算法实现,主要包括插入排序(直接插入排序、希尔排序)、选择排序(简单选择排序、双向选择排序)、交换排序(冒泡排序、快速排序)以及堆排序。详细阐述了每种算法的核心思想、实现步骤和代码示例,包括时间复杂度分析(如O(N²)、O(NlogN))和空间复杂度(O(1))。特别对快速排序进行了优化,提出三数取中法、小范围插入排序和非递归实现。最后通过测试类验证了各排序算法的正确性。文章采用Java语言实现,代码规范清晰,是学习经典排序算法的实用参考资料。

2025-11-06 19:28:51 374

原创 数据结构==优先级队列与堆==

1,堆的核心概念 2,节点下标关系公式(父子节点互推) 3,堆的创建逻辑(向下调整 实现) 4,堆的插入操作(向上调整 实现) 5,时间复杂度推导(向下调整建堆 O (n)、向上调整 O (nlogn)) 堆(Heap)是一种基于完全二叉树的数据结构,它通过“父节点值始终大于等于子节点(大顶堆)或始终小于等于子节点(小顶堆)”的规则维护元素优先级,便于快速获取并删除优先级最高(或最低)的元素。重点解释 交换操作是核心:通过与最后一个元素交换,避免数

2025-11-01 13:10:28 994

原创 二叉树问题讨论(部分内容待补充)

本文总结了二叉树相关算法实现,包括: 树结构判断:相同树、子树、对称树、平衡树的递归解法 树操作:反转二叉树、创建二叉树(递归和栈实现)、分层遍历(队列实现) 遍历算法:前序/中序/后序的非递归实现(栈实现) 高级应用:最近公共祖先(递归和哈希表实现)、根据遍历序列重建树、二叉树字符串表示 核心要点: 递归是解决树问题的主要方法 栈和队列是实现非递归遍历的关键数据结构 平衡判断需结合高度计算 前序+中序可唯一确定二叉树结构 非递归遍历需要注意节点访问顺序和状态保存

2025-10-25 18:57:37 776

原创 树与二叉树研讨

/ 二叉树节点类,用于存储单个节点的信息// 节点存储的值(字符类型)// 左孩子引用(指向当前节点的左子节点,默认为null)// 右孩子引用(指向当前节点的右子节点,默认为null)// 构造方法:创建节点时初始化value,left和right默认null// 无需手动给left/right赋值,默认值为null。

2025-10-21 09:32:09 940

原创 数据结构===栈===

栈是一种特殊的线性表,其特殊性体现在对数据操作的 “限制性”—— 仅允许在表的一端(称为 “栈顶”)进行插入和删除操作,而表的另一端(称为 “栈底”)则固定不动。(跟手枪弹夹一样只能从一头操作)

2025-10-17 19:12:17 284

原创 数据结构==最小栈和队列实现讨论==

能够在O(1)时间复杂度内获取栈 的最小值的特殊栈结构先进先出(FIFO)的数据结构,元素从队尾入队,从队头出队。

2025-10-12 18:30:41 358

原创 数据结构==栈的理解和代码案例===

【代码】数据结构==栈的理解和代码案例===

2025-10-10 13:44:21 580

原创 数据结构==链表的代码案例==

指向节点 2,形成环),要求高效判断(时间复杂度 O (n),空间复杂度 O (1))。),新链表由原链表所有节点拼接而成,不创建新节点(仅调整指针)。公共节点定义为 “地址相同”(非值相同),且链表相交后呈。),找出它们的第一个公共节点(示例中为。若单链表有环,返回入环的第一个节点(如。)合并为一个新的升序单链表(如。(禁止用数组存储节点值)。判断单链表是否为回文(如。判断单链表是否存在环(如。型,因每个节点只有一个。,x=36,分割后为。

2025-10-08 13:48:56 595

原创 数据结构==顺序表==

【代码】数据结构==顺序表==

2025-10-07 19:49:32 373

原创 数据结构==ArrayList及链表==

执行prev.next=prev.next.next。特殊处理头节点直接删除head=head.next。先绑定后面然后再和前面进行绑定。找到删除的节点的前一个节点。特殊位置采用头插尾/插法。检查判断所应是否合法。

2025-10-07 19:25:50 438

原创 数据结构与 Java

Java 有 8 种基本数据类型(int、char、double 等),但它们不是类,无法调用方法(如将 int 转成字符串),也不能作为泛型的类型参数(如 ArrayList<int>报错)。定义:8 种基本类型各对应一个包装类,仅 2 个特殊,其余均为 “基本类型首字母大写”:特殊:int→Integer、char→Character;普通:byte→Byte、short→Short、long→Long、float→Float、double→Double、boolean→Boolean;

2025-09-25 11:00:50 944

原创 数据结构===包装

简单说就是:把intdouble这些基础类型,变成它们对应的包装类(IntegerDouble)的过程。就像把散装的糖果(基础类型)放进漂亮的礼盒(包装类)里。和装箱相反:把IntegerDouble这些包装类,变回intdouble这些基础类型的过程。就像把礼盒里的糖果拿出来,变回散装的。包装类:基础类型对应的 "对象版",有很多实用方法;装箱:基础类型→包装类(自动装箱靠valueOf()拆箱:包装类→基础类型(自动拆箱靠xxxValue()面试题要注意Integer。

2025-07-10 22:49:12 395

原创 数据结构基础准备

1,数据结构是计算机中,它关注数据元素之间的关系以及对数据的操作(如插入、删除、查找等)。简单来说,数据结构 = 数据 + 结构。2,主要用于。

2025-07-10 21:53:47 209

原创 异常(啊啊啊啊)

在Java中,将程序执行过程中发生的不正常行为称为异常 1,算数异常2. 数组越界异常3. 空指针异常1. Throwable:是异常体系的顶层类,其派生出两个重要的子类, Error 和 Exception2. Error:指的是Java虚拟机无法解决的严重问题,比如:JVM的内部错误、资源耗尽等,典型代表: StackOverflowError和OutOfMemoryError,一旦发生回力乏术。3. Exception:异常产生后程序员可以通过代码进行处理,使程序继续执行。比如

2025-05-30 12:23:59 852

原创 String

(4)compareTolgnoreCase() 与compareTo()的方法类似但是可以忽略大小写的比较。甲:先按字典次序大小比较,如果出现不等的字符, 直接返回这两个字符的差值(ASCII码值)2xxx.toUpperCase()和xxxx.toLowerCse()方法的使用。(2)“A.equals(B)”比较的是内容(返回值是boolean类型)。(3)“compareTo()” 比较的是(看代码)(返回值类型是int)。注意:1,字符“|”,“*”,“+”都得加上转义字符,前面加上“\\”;

2025-05-28 16:20:13 620

原创 抽象类 接口 Object类

如果 一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。 注意:抽象类也是类,内部可以包含普通方法和属性,甚至构造方法(1)抽象类不能实例化对象(抽象类的实例化限制是针对父类本身的,而不是子类。)(2)抽象类的方法不能用是private的(3)抽象方法不能被final和static修饰,因为抽象方法要被子类重写(4)抽象类必须被继承(必需在子类中重写一遍父类的方法),并且继承后子类要重写父类中的抽象方法,否则子类也是抽象类,必须要使用 abstract 修 饰 抽象类本身不

2025-05-13 11:42:04 735

原创 修饰词的介绍(父子类之间的传递)

(1)用private修饰以后的name(子类的name ) 直接爆红(1)用 其他修饰以后的name(子类的name ) 一切正常(1)用 protected修饰以后的name(子类的name )在同一包内

2025-05-10 21:45:03 709

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除