Files
logseq-1/journals/2024_07_01.md

98 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
- finally #card #java
- java关键字之一用于构建try-catch-finally语句块
- 用于释放资源,关闭连接等
- finally中的内容会在try和catch结束前执行
- final #card #java
- java修饰符关键字
- 可以修饰变量,类,方法,修饰后的变量不可以被修改,方法无法重写,类无法继承
- finalize() #card #java
- Object中的一个方法
- 当对象要被回收时会被调用,执行一些资源清理的操作
- 调用的时间是不确定的
- 手写单例模式 #card #java
-
- 用了redis哪些数据结构 #card #java
- string存验证码缓存常用的一些数据
- hash存储一些购物车内容
- redis持久化机制 #card #java
- redis持久化分为RDB和AOF
- RDB
- 存储的是某一时刻内存的镜像副本
- 对内存占用要求高,创建副本的时候需要有一半的内存
- 创建的速度较慢,但恢复的速度快
- AOF
- 日志追加的方式可以设置不同的频率no操作系统决定一般30s1SAlways
- 存储的不是数据,而是操作命令
- 存在重写的过程,实时性较好,恢复的速度较慢
- redis事务 #card #java
- 原子性,可以让一组命令同时按照顺序执行
- 没有回滚以及隔离,出错后出错的命令不会执行,其他命令都会执行
- 需要配合lua脚本来保证执行的时候没有其他命令或lua脚本插入执行
- redis单线程问题哪个版本开始有多线程 #card #java
- 使用单线程可以避免线程间上下文切换带来的额外开销
- 6.0引入来IO多线程但是主线程还是单线程
- java8跟7有什么变化 #card #java
- completeablefuture
- locadatetime
- stream流
- optional类
- concurrentHashMap
- 红黑树 #card #java
- 一种自平衡的二叉树
- 可以加快查找元素的速度,但是插入的速度由于需要自平衡会变慢
- 如何让线程进入等待,有哪些方法 #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 ab 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
- ControllerRestController
- Service
- Compoment
- Repository
- Spring Boot自动装配原理 #card #java
- Spring Cloud组成 #card #java
- 负载均衡如何配置 #card #java
- 网关如何转发请求 #card #java