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实现原理
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相关问题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?