这是在运行时发生的,编译器确定不了,所有交给JVM来赋值
局部变量:
在使用之前需要显式赋予初始值
局部变量的赋值和访问顺序是确定的
这样设计是一种约束,尽最大可能减少使用者犯错:
假使局部变量可以使用默认值...HashTable继承Dictionary类,HashMap继承AbstrctMap类
HashTable不允许空键值对,而HashMap允许空键值对,但最多只有一个空对象
HashTable同步,而HashMap...否则什么都不做并返回false.
整个比较并替换的操作是一个原子操作
CAS必须要volatile变量配合,这样才能保证每次拿到的变量是主内存中最新的响应值....否则旧的预期值A对某条线程来说,永远是一个不会变的值A....堆内存的分区以及每个分区的垃圾回收算法?回收器G1,CMS有标记清除,标记整理法?
如何排查Full GC,OOM?
线程个数太多会导致OOM,但是这里的线程包括程序的所有线程吗?