- 博客(18)
- 收藏
- 关注
原创 MySQL索引的底层原理详解
MySQL索引的底层原理基于B+树结构,这种结构通过平衡树的深度和有序存储,提供了高效的查询性能。InnoDB存储引擎的聚集索引和二级索引设计,进一步优化了数据存储和检索效率。理解这些原理,有助于在实际工作中优化数据库性能,提高查询效率。希望本文能够帮助读者深入理解MySQL索引的底层原理,并在实际应用中进行有效的性能优化。
2025-03-21 11:05:33
704
原创 MySQL索引与SQL优化详解
在数据库领域,MySQL是一种广泛使用的开源关系型数据库管理系统,因其性能卓越、功能全面而备受青睐。在MySQL中,索引是提升数据库性能的关键机制,而SQL语句的优化则是确保数据库高效运行的重要手段。本文将深入探讨MySQL的索引机制以及SQL优化的相关内容,帮助读者更好地理解和应用这些技术。
2025-03-21 10:11:01
929
原创 Java手写LinkedList详解(重复造轮子之LinkedList底层原理)
一、LinkedList的构成框架LinkedList是一个基于双向链表的数据结构,其核心构成包括:内部节点类(Node):item:存储节点数据。next:指向后继节点。prev:指向前驱节点。成员变量:first:指向链表的第一个节点。last:指向链表的最后一个节点。size:链表中节点的数量。构造方法:无参构造方法,用于创建一个空的LinkedList。方法: 包括添加元素、删除元素、查找元素、更新元素、判断容量等操作,分为公共接口方法、私有辅助方法和工
2025-03-12 15:05:42
381
原创 Java手写ArrayList详解(重复造轮子之ArraList底层原理)
ArrayList是Java中一种基于动态数组实现的数据结构,适用于需要频繁随机访问和元素遍历的场景。与普通数组相比,ArrayList提供了更为灵活的元素增删改查操作,且在运行时能够自动调整数组大小,以适应数据存储的需求。通过合理使用ArrayList的方法,可以高效地管理和操作数组中的元素。
2025-03-12 14:51:51
430
原创 不同变量和对象在内存中的存储深度解析
理解不同变量和对象在内存中的存储方式对于优化 Java 程序的性能和内存使用至关重要。通过对比 int 变量与 Integer 对象、String 类与 StringBuffer 及 StringBuilder、引用型数组与普通数组以及数组与变量,我们能够更清晰地认识到它们在内存中的存储特性,从而在实际开发中做出更合理的选择和优化。
2025-03-11 10:23:50
1058
原创 Java 中静态变量和实例变量的深度解析
静态变量和实例变量在 Java 中有着不同的特性和应用场景。静态变量属于类,适合存储全局共享的数据和实现单例模式;实例变量属于对象,适合存储对象的私有数据和实现多态。在使用私有静态变量时,要注意不能在子类中直接访问、不能通过对象访问以及不能在静态方法中修改等问题。
2025-03-07 20:11:25
963
原创 Java 中 toString 方法的深度解析与应用
toString 方法虽然看似简单,但在 Java 编程中却有着广泛的应用。重写 toString 方法时,要注意信息的完整性、简洁性、格式的统一性,以及避免性能问题和递归循环等问题。在自定义类中,可以通过 super.toString() 来调用父类的 toString 方法,以保留父类的信息。除了 Object 类之外,集合类、日期类、数值包装类等的 toString 方法也比较常用。
2025-03-05 19:50:40
1924
原创 Java 中函数方法和构造方法的区别与应用
函数方法和构造方法在 Java 中有着明确的区别和各自的应用场景。函数方法侧重于功能实现和数据操作,构造方法专注于对象的初始化。理解它们的区别与联系,能够帮助我们编写出更加清晰、高效的 Java 代码,在实际开发中灵活运用,实现各种复杂的功能和对象模型。
2025-03-05 19:14:56
788
原创 Java中的String类与StringBuffer 和 StringBuilder 类的应用
在实际开发中,我们可以根据具体的需求选择合适的类: 如果需要表示一个固定的字符串,可以选择String类。 如果需要在多线程环境中对字符串进行修改,可以选择StringBuffer类。 如果需要在单线程环境中对字符串进行修改,并且对性能有较高要求,可以选择StringBuilder类。
2025-03-04 20:44:34
968
转载 错误解决:C/C++ c/c++ OpenGL VS2019 错误LNK2019 无法解析的外部符号 _vsprintf,该符号在函数 _PrintMessage
错误解决:C/C++ c/c++ OpenGL VS2019 错误LNK2019 无法解析的外部符号 _vsprintf,该符号在函数 _PrintMessage
2023-11-30 12:15:32
280
原创 错误日志1:常见错误可能:Vscode Remote SSH 远程连接失败过程报错:试图写入的管道不存在
Vscode Remote SSH 远程连接失败过程报错:试图写入的管道不存在,常见三种错误修改情况
2023-07-27 20:50:07
1312
2
原创 算法 : 关节点问题(邻接表,图的遍历)
策略:图的遍历,双连通分量方法:深度优先生成树(DFS),然后判断是否是关节点。关节点定义:无向图G=(V,E)中,可能存在某个(多个)结点a,删除a后,图G就不再是连通图,则a就是图G的关节点。应用场景:例如:通讯网络中的关键结点(如果断开就没办法连接,通讯网络就中断了)如图:通信网络中的结点1就是关节点,删除1后图:整体代码如下:int adjvex;}ENode;//根节点的孩子数int t=0;//时间戳int sum=0;//总个数//parents数组。
2023-03-25 20:15:17
1863
原创 C6011取消指针null的引用(结构体指针或者malloc的注意)
当我们使用结构体指针的时候,常常直接使用指针,而忽略判断这个指针是否是隐藏的空指针,从而产生的警告,本问题同样在malloc等动态内存管理中存在。
2022-08-31 19:53:00
14296
原创 C语言指针进阶(1.一阶与二阶指针)
目录一、一阶指针与二阶指针一.一阶指针二.二阶指针以及高阶指针一、一阶指针与二阶指针一.一阶指针字符指针char*,浮点指针double* 等等类比整数指针 int*1.指针是用来存取变量地址的,我们可以通过指针来间接的访问变量。指针&是取本变量的地址。而指针变量,存储的就是需要调用的地址。*是指针引用,间接访问存储的地址的内容。如图:理解:实际上p也是变量,只不过他存储的是a的地址,而*是访问p存储地址的内容。我们用一个.
2022-04-20 11:11:31
1153
1
原创 数据结构—1.时间复杂度
时间复杂的初始认识,包括从简入深的循环的复杂度,冒泡排序的复杂度,二分法查找的复杂度,递归的复杂度,(阶乘)(斐波那契数列)
2022-03-28 19:47:46
5203
原创 C语言程序设计常见题目
循环结构1.while循环(当型循环):可以一次循环都不进行;例:2.do while循环(直到型循环):必须执行一次;(注意do—while中while后加' ; '。3.for循环:已知循环初始值,循环次数,循环递进数;4.循环结构的嵌套5.break语句6.continue语句4.5偶数和(for循环)4.6整数的数位(do-while循环)4.6(2)整数的数位(while循环)4.7欧几里得算法(while循环)4.8百元买百鸡(for的嵌套循环
2021-12-06 20:14:46
7171
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人