diff --git a/journals/2024_07_01.md b/journals/2024_07_01.md index 6949c19..b334031 100644 --- a/journals/2024_07_01.md +++ b/journals/2024_07_01.md @@ -38,4 +38,61 @@ - optional类 - concurrentHashMap - 红黑树 #card #java -- \ No newline at end of file + - 一种自平衡的二叉树 + - 可以加快查找元素的速度,但是插入的速度由于需要自平衡会变慢 +- 如何让线程进入等待,有哪些方法 #card #java + - 使用wait和sleep方法 +- wait和sleep的区别 #card #java + - wait会释放锁,放入wait等待池中,等待notify和notifyAll唤醒,唤醒后再重新竞争锁 + - sleep不会释放锁,睡眠期间不会占用CPU资源,等待时间到达后继续执行 +- 常用的线程池 #card #java + - SingleThreadPool + - FixedThreadPool + - ScheduleThreadPool + - CachedThreadPool + - ForkJoinPool +- JVM组成 #card #java + - 程序计数器 + - 虚拟机栈 + - 本地方法栈 + - 堆 + - 元空间 + - 直接内存 +- 栈溢出 #card #java + - 递归 + - 方法深度超过栈容量 + - 对象过多,栈空间不足 +- mysql 常用数据库引擎及区别 #card #java + - InnoDB + - 支持事务,可靠性较好 + - 性能较好,可以提供表锁和行锁 + - 支持聚簇索引 + - MyISAM + - 不支持聚簇索引 + - 只有表锁 + - 不支持事务 +- 索引原理实现 #card #java + id:: 668210e1-3980-42b5-ab90-e6c60a7933ba + - 用于快速查找需要的数据 + - 使用B+树索引,是一种多叉树,非叶子结点不存储数据,因此比B树的高度要更低,同时叶子节点之间使用双向链表连接,支持范围查询 + - 非聚簇索引存储的是主键ID,查询的时候可能需要回表,如果索引覆盖就不需要回表 + - 复合索引需要符合最左匹配的原则,否则会导致索引失效 +- SQL执行顺序 #card #java + - select a,b from A B left join where group by having order by limit +- union和union all的区别 #card #java + - union不会去重复,union all会去重,union性能要更好 +- spring 解决循环依赖问题 #card #java + - 使用三级缓存架构,解决循环依赖 + - 第一层存放EarlySingletonFactoryObject + - 第二层存放EarlySingletonObject +- Spring Bean的原理 #card #java +- Spring Boot的注解 #card #java + - Bean + - Controller,RestController + - Service + - Compoment + - Repository +- Spring Boot自动装配原理 #card #java +- Spring Cloud组成 #card #java +- 负载均衡如何配置 #card #java +- 网关如何转发请求 #card #java \ No newline at end of file