JavaGuide icon indicating copy to clipboard operation
JavaGuide copied to clipboard

「Java学习+面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!

Results 145 JavaGuide issues
Sort by recently updated
recently updated
newest added

在[mysql索引详解](https://github.com/Snailclimb/JavaGuide/blob/main/docs/database/mysql/mysql-index.md)一文中提及聚簇索引和非聚簇索引的定义: - 聚簇索引(Clustered Index)即索引结构和数据一起存放的索引,并不是一种单独的索引类型。InnoDB 中的主键索引就属于聚簇索引。 - 非聚簇索引(Non-Clustered Index)即索引结构和数据分开存放的索引,并不是一种单独的索引类型。二级索引(辅助索引)就属于非聚簇索引。MySQL 的 MyISAM 引擎,不管主键还是非主键,使用的都是非聚簇索引。 若只针对mysql而言是合理的,但此处应该是不考虑具体数据库,更宽泛的关于聚簇索引和非聚簇索引的定义。聚簇索引应为索引中数据项(data entry)的顺序与实际磁盘中数据(data record)存放的顺序相同(或相近)的索引,非聚簇索引反之。也就是说索引中数据页并不一定要存放完整的数据(data record),可以是真实数据地址。恰好mysql会创建一个包含完整数据的主键索引,所以唯一的聚簇索引就是和数据一起存放的索引。但实质上聚簇索引的定义与所谓索引结构和数据是否一起存放无关。我翻看了两本比较权威的数据库教材: > If the file containing the records is sequentially ordered, a clustering index is an...

问题来源:https://github.com/Snailclimb/JavaGuide/issues/2378 对于以上问题所指出的SPI机制的设计和使用场景作出了修正阐述

> 如果没有使用双亲委派模型,而是每个类加载器加载自己的话就会出现一些问题,比如我们编写一个称为 java.lang.Object 类的话,那么程序运行的时候,系统就会出现两个不同的 Object 类。双亲委派模型可以保证加载的是 JRE 里的那个 Object 类,而不是你写的 Object 类。这是因为 AppClassLoader 在加载你的 Object 类时,会委托给 ExtClassLoader 去加载,而 ExtClassLoader 又会委托给 BootstrapClassLoader,BootstrapClassLoader 发现自己已经加载过了 Object 类,会直接返回,不会去加载你写的 Object 类。 类名为java开头的会在preDefineClass校验就抛出异常,保护核心类库可能跟这个校验关系更大。而且Classloader还将defineClass定义成了final,这个校验preDefineClass和defineClass相关的本地方法还是private,因此根本无法通过打破双亲委派去定义java.lang.Object或者java.lang.String等。 ![image](https://github.com/Snailclimb/JavaGuide/assets/48376692/b98b2d2d-1de5-4fba-8df7-479e1d6c3975)

在SQL常见面试题总结1中,计算总和这部分的sql语句 SELECT order_num, Sum(item_price * quantity) AS total_price FROM OrderItems GROUP BY order_num HAVING total_price >= 1000 ORDER BY order_num SQL语句中having的执行顺序是在select之前吧,所以having中不能写total_price吧

少一个“介词”?,应该是 “同步到”

注释,由 “如果链表元素个数大于等于TREEIFY_THRESHOLD(8)” 改为“如果链表元素个数大于TREEIFY_THRESHOLD(8)”。 个人认为,等于8时,并没有考虑转红黑树。