1、Synchronized(sync.class)实现锁定全局锁,否则要确保运行的是同一个实例,否则synchronize不起作用。
2、子类构造方法在调用时必须先调用父类的,如果父类没有无参构造,必须在子类中显式调用。
3、析构的时候先调动派生类的析构函数,再调用基类的析构函数。而构造时是先构造基类再构造派生类。
4、执行顺序:父类B静态代码块->子类A静态代码块->父类B非静态代码块->父类B构造函数->子类A非静态代码块->子类A构造函数
其中非静态代码块即构造块
5、Volatile的两大作用:保证内存可见性,防止指令重排。但它不能保证线程安全。
6、枚举类enum中,每个元素用大写单词表示,元素都会以单例的方式被实例化
7、Java中不可直接限定数组的长度,即String a[50] = , Object b[3]=这种是非法的,要在实例化的过程中指定。
8、Int a[] = null; a[0]=1会产生NullPointerException
9、在有除零导致ArithmeticException的可能时,可以抛出异常而不处理。
10、两对象用equals()返回true的必要不充分条件是hashcode相同,即相等一定hashcode同,但hashcode同却不一定相等。
11、Hashmap中的key值不能重复。
12、Boolean类型默认初始值false。
12.5、局部变量必须自行初始化,给一个初始值。