java面试记录

1.mysql执行流程

https://jishuin.proginn.com/p/763bfbd6e703

mysql explain 详解

https://www.cnblogs.com/tufujie/p/9413852.html

 mysql 小表驱动大表

https://blog.csdn.net/weixin_39634876/article/details/111698250

mysql B树B+树,索引

https://blog.csdn.net/wangfeijiu/article/details/113409719?spm=1001.2014.3001.5502

2.redis

分布式锁:https://www.zhihu.com/question/452803310/answer/1931377239

单机、主从、哨兵、集群:https://www.cnblogs.com/zhonglongbo/p/13128955.html

为啥集群分片会用16384(2^14)个哈希槽: https://blog.csdn.net/hollis_chuang/article/details/103692187

缓存穿透,缓存击穿,缓存雪崩https://blog.csdn.net/kongtiao5/article/details/82771694

3.java8中关键字default

https://blog.csdn.net/qq_35835624/article/details/80196932

4.String在内存中怎么存储的

https://www.cnblogs.com/straybirds/p/8505990.html

5.CAS产生的ABA问题,可通过加入版本号解决(每次更新时除了将旧值与期望值比较外,还要比较版本号)

6.synchronized实现原理

https://medlen.blog.csdn.net/article/details/88384493?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_aa&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_aa&utm_relevant_index=1

7.hashmap的负载因子为什么是0.75

负载因子是0.75的时候,空间利用率比较高,而且避免了相当多的Hash冲突,使得底层的链表或者是红黑树的高度比较低,提升了空间效率。

8.hashmap扩容为什么是2倍?

因为hashmap在计算元素存储位置时的公式为: (n-1)&hash  n为集合容量,hash是元素进行哈希计算后的值所以,当n为2的幂次方时,(n-1)的值用2进制表示就是111**111,全为1的二进制数,再与hash变量做与运算时,散列更充分,避免不必要的hash冲突,可以让元素更均匀的分布在map里

9.springboot自动装配原理

https://www.jianshu.com/p/88eafeb3f351

10.spring中beanFactory和factoryBean的区别

https://blog.csdn.net/qiesheng/article/details/72875315

11.spring解决循环依赖为什么要用三级缓存?

https://blog.csdn.net/weixin_45727359/article/details/114696668

12.spring bean的生命周期

 

13.spring声明式事务失效场景

https://www.cnblogs.com/qiankun-site/p/12893364.html

 14.http和rpc的区别

https://ask.seowhy.com/question/58170

 15.mq相关问题

https://www.cnblogs.com/xiapu5150/p/9927323.html

posted @ 2022-02-15 23:09  yizw  阅读(76)  评论(0编辑  收藏  举报