3.9 KiB
3.9 KiB
- 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(操作系统决定,一般30s),1S,Always
- 存储的不是数据,而是操作命令
- 存在重写的过程,实时性较好,恢复的速度较慢
- 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
- 不支持聚簇索引
- 只有表锁
- 不支持事务
- InnoDB
- 索引原理实现 #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