java的常用技术

1、java 集合(Iterable、List、Set、Map,JUC 安全性集合)

2、hashmap(原理,延申)、ConcurrentHashMap(锁:1.8 是 synchronized+node,1.7 是 segment)

3、乐观锁(比较 / 交换)和 悲观锁

5、线程池

5.1 运行状态

5.2 运行过程

5.3 其他核心参数

6、mysql 事务隔离级别

6.1 读已提交

6.2 读未提交

6.3 可重复读

6.4 串行化

7、mysql 存储引擎

常用的比如 innodb 和 mysiam

8、mysql 索引

主要是:聚簇索引 -- 主键索引

9、最左匹配原则

10、sql 调优

离散性很低的数据字段列不需要建立索引,字段是否建立索引,索引失效的情况,多表数据量大时,不要使用连表查询。(两张表的测试性能,一张表 30 万数据,另一张 3 万数据)(单表数据量大,500 万和 2000-4000 万的时候性能会急剧下降,或存储其他数据库如 es、mongdb 等进行存储调优)

11、接口调用 500 毫秒进行调优

12、JVM 的堆栈、本地方法区

13、内存调优

14、springmvc 原理

15、spring 的两大特性:bean 的管理(AOP 和 IOC)

16、springboot 的自动装配(约定大于配置)

17、分布式事务、性能监控(skywarking、普罗米修斯)

18、mq 生产者、消费者、重发机制、手动确认、防重复消费

19、redis 五大常用数据类型 三大新数据类型(bitmap)

20、布隆过滤器

21、redis lua 脚本

22、redission 锁,看门狗机制(30 秒自动续锁)

23、es 查询

filter 不计算分值,性能更好、skript 脚本、查询数据不能超过 1 万条,可配置

24、时间按照国际标准存储

25、es 磁盘空间占用 85 以上之后,会拒绝 es 服务,只能读取,不支持新增