随笔分类 -  基础

摘要:B-树内部节点是保存数据的;而B+树内部节点是不保存数据的,只作索引作用,它的叶子节点才保存数据。 B+树相邻的叶子节点之间是通过链表指针连起来的,B-树却不是。 查找过程中,B-树在找到具体的数值以后就结束,而B+树则需要通过索引找到叶子结点中的数据才结束 B-树中任何一个关键字出现且只出现在一个 阅读全文
posted @ 2023-07-14 03:04 huigui_mint 阅读(357) 评论(0) 推荐(0) 编辑
摘要:Hash哈希,只适合等值查询,不适合范围查询。 一般二叉树,可能会特殊化为一个链表,相当于全表扫描。 红黑树,是一种特化的平衡二叉树,MySQL 数据量很大的时候,索引的体积也会很大,内存放不下的而从磁盘读取,树的层次太高的话,读取磁盘的次数就多了。 B-Tree,叶子节点和非叶子节点都保存数据,相 阅读全文
posted @ 2023-07-14 03:00 huigui_mint 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2023-07-10 18:24 huigui_mint 阅读(5) 评论(0) 推荐(0) 编辑
摘要:一、注意事项 不要在接口上声明@Transactional ,而要在具体类的方法上使用 @Transactional 注解,不然注解可能无效。不要将@Transactional放置在类级的声明中,放在类声明,会使得全部方法都有事务。所以@Transactional应该放在方法级别,不需要使用事务的方 阅读全文
posted @ 2023-06-29 19:58 huigui_mint 阅读(998) 评论(0) 推荐(1) 编辑
摘要:按照流的流向分,可以分为输入流和输出流;按照操作单元划分,可以划分为字节流和字符流;按照流的角色划分为节点流和处理流。Java Io 流共涉及 40 多个类,这些类看上去很杂乱,但实际上很有规则,而且彼此之间存在非常紧密的联系, Java I0 流的 40 多个类都是从如下 4 个抽象类基类中派生出 阅读全文
posted @ 2023-06-19 07:48 huigui_mint 阅读(78) 评论(0) 推荐(0) 编辑
摘要:对象的强、软、弱和虚引用 在 JDK 1.2 以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从 JDK 1.2 版本开始,把对象的引用分为 4 种级别,从而使程序能更加灵活地控制对象的生命周期。这 4 阅读全文
posted @ 2023-06-14 21:17 huigui_mint 阅读(126) 评论(0) 推荐(0) 编辑
摘要:一、概述 List是存储单列数据的集合,Map是存储键和值这样的双列数据的集合,List中存储的数据是有顺序,并且允许重复,值允许有多个null;Map中存储的数据是没有顺序的,键不能重复,值是可以有重复的,key最多有一个null。 二、明细 List 1)可以允许重复的对象。2)可以插入多个nu 阅读全文
posted @ 2023-06-13 21:27 huigui_mint 阅读(40) 评论(0) 推荐(0) 编辑
摘要:HashMap内部结构jdk8以前:数组+链表jdk8以后:数组+链表 (当链表长度到8时,转化为红黑树)在并发的情况,发生扩容时,可能会产生循环链表,在执行get的时候,会触发死循环,引起CPU的100%问题,所以一定要避免在并发环境下使用HashMap。 阅读全文
posted @ 2023-06-13 20:17 huigui_mint 阅读(26) 评论(0) 推荐(0) 编辑
摘要:1)引入了模块系统,采用模块化系统的应用程序只需要这些应用程序所需的那部分JDK模块,而非是整个JDK框架了,减少了内存的开销。 2)引入了一个新的package:java.net.http,里面提供了对Http访问很好的支持,不仅支持 Http1.1而且还支持HTTP2。 3)引入了jshell这 阅读全文
posted @ 2023-06-13 20:15 huigui_mint 阅读(64) 评论(0) 推荐(0) 编辑
摘要:在介绍java9之前,我们先来看看java成立到现在的所有版本。 1990年初,最初被命名为Oak; 1995年5月23日,Java语言诞生; 1996年1月,第一个JDK-JDK1.0诞生; 1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入Java技术; 1996年9月,约8.3万 阅读全文
posted @ 2023-06-13 20:13 huigui_mint 阅读(28) 评论(0) 推荐(0) 编辑
摘要:一、接口的默认方法 Java 8允许我们给接口添加一个非抽象的方法实现,只需要使用 default关键字即可,这个特征又叫做扩展方法,示例如下: 代码如下: interface Formula { double calculate(int a); default double sqrt(int a) 阅读全文
posted @ 2023-06-13 20:05 huigui_mint 阅读(4963) 评论(0) 推荐(0) 编辑
摘要:红黑树(一棵自平衡的排序二叉树)五大特性: 1)每个结点要么是红的,要么是黑的。 2)根结点是黑的。 3)每个叶结点,即空结点是黑的。 4)如果一个结点是红的,那么它的俩个儿子都是黑的。 5)对每个结点,从该结点到其子孙结点的所有路径上包含相同数目的黑结点 场景 1)广泛用于C++的STL中,map 阅读全文
posted @ 2023-06-13 19:50 huigui_mint 阅读(32) 评论(0) 推荐(0) 编辑
摘要:启动类加载器:负责加载JRE的核心类库,如jre目标下的rt.jar,charsets.jar等扩展类加载器:负责加载JRE扩展目录ext中JAR类包系统类加载器:负责加载ClassPath路径下的类包用户自定义加载器:负责加载用户自定义路径下的类包 为什么会有多种:1)分工,各自负责各自的区块2) 阅读全文
posted @ 2023-06-13 19:46 huigui_mint 阅读(41) 评论(0) 推荐(0) 编辑
摘要:1、类文件介绍 每一个 Class 文件都对应着唯一一个类或接口的定义信息,但是相对地,类或接口并不一定都得定义在文件里(譬如类或接口也可以通过类加载器直接生成)。 本节中,我们只是通俗地将任意一个有效的类或接口所应当满足的格式称为“Class 文件格式”,即使它不一定以磁盘文件的形式存在。 每个 阅读全文
posted @ 2023-06-13 19:41 huigui_mint 阅读(173) 评论(0) 推荐(0) 编辑
摘要:如果一个类加载器收到了类加载请求,它并不会自己先去加载,而是把这个请求委托给父类的加载器去执行,如果父类加载器还存在其父类加载器,则进一步向上委托,依次递归,请求最终将到达顶层的启动类加载器,如果父类加载器可以完成类加载任务,就成功返回,倘若父类加载器无法完成此加载任务,子加载器才会尝试自己去加载, 阅读全文
posted @ 2023-06-13 19:14 huigui_mint 阅读(29) 评论(0) 推荐(0) 编辑
摘要:AtomicInteger是Java中的一个原子类,用于实现对整型变量的原子操作。它提供了一些方法,如get()、set()、getAndSet()、compareAndSet()等,可以实现原子性的读取、设置、获取并设置、比较并设置等操作。 以下是一些关于AtomicInteger的链接: Jav 阅读全文
posted @ 2023-06-07 21:04 huigui_mint 阅读(87) 评论(0) 推荐(0) 编辑
摘要:https://rumenz.com/java-topic/index.html 阅读全文
posted @ 2023-06-07 20:55 huigui_mint 阅读(7) 评论(0) 推荐(0) 编辑
摘要:二进制数的逻辑运算有四种:“与”运算AND、“或”运算OR、 “非”运算NOT、“异或”运算XOR。 其中“或”运算又称逻辑加法、“与”运算又称逻辑乘法、“非”运算又称逻辑否定,“异或”运算又称逻辑半加法。二进制数1和0在逻辑上可以代表“真”与“假”、“是”与“否”、“有”与“无”。二进制数的逻辑运 阅读全文
posted @ 2023-04-02 15:01 huigui_mint 阅读(4362) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示