2024-01-16
2024-01-16
程序员朱永胜有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步, 认准
https://blog.zysicyj.top
全网最细面试题手册,支持艾宾浩斯记忆法。这是一份最全面、最详细、最高质量的 java 面试题,不建议你死记硬背,只要每天复习一遍,有个大概印象就行了。https://store.amazingmemo.com/chapterDetail/1685324709017001`
- 强引用:手动删除
- 软引用:JVM 内存不足时删除
- 弱引用:每次 GC 时删除
- 虚引用:随时可能删除
hashcode 计算哈希值再看 equals
TreeMap 底层是红黑树 + 链表
可变
自旋,compareandswap,当前值,新值,比较值 ABA 问题 版本号
大部分线程并不会发生竞争,不需要锁住资源。CAS 可以极大的提升性能
线程多的时候 CPU 计算资源多,ABA 问题
两个线程互相持有对方锁等待对方释放
- 超时自动释放
- 监控 Kill
Map 主要有 HashMap、LinkedHashMap、TreeMap、concurrentHashMap
HashMap:数组 + 链表 / 红黑树,不安全
LinkedHashMap:链表 + 红黑树,不安全
TreeMap:红黑树,不安全
concurrentHashMap:数组 + 链表 / 红黑树,不安全
Vector 可变数组,默认扩容 2 倍
CopyOnWriteList:写的时候才会上锁,读不上锁