我们知道ArrayList是线程不安全,请编码写一个不安全的案例并给出解决方案
写时复制
彩蛋
- 1.撸源码,查看ArrayList new的过程,add的过程(包含扩容),本质是一个数组
- 2.工作经验:
有自己的故障收集手册
牛逼程序员(写正确代码,正确代码前提:写了无数的故障代码,并不断总结) - 3.优秀Java开发工程师方法论(软实力)
- 1)故障现象
- 2)导致原因
- 3)解决方案
- 4)优化建议(同样的错误不犯第2次)
- 4.天下武功(技术)无高低之分,习武之人(工程师)只有强弱之分
- 5.使用idea查看类图
类中右键,选择diagram - 6.有了Vector(JDK 1.0就有了)为什么还用ArrayList(JDK 1.2才有)
- 7.一致性与并发性
加锁可以保证一致性,但是并发性下降 - 8.没有实力的愤怒和抱怨毫无意义
- 9.和面试官过招时 以退为进(谦虚)
- 10.Collections与Collection区别
- 11.JVM口诀
栈管运行,堆管存储 - 12.idea查看变量作用域技巧
双击变量,高亮显示的就是他的作用域 - 13.TransferValue醒脑小练习
TransferValue.java