1.switch语句的表达式可以是byte吗?可以是long吗?可以是String吗?
可以是byte,不可以是long,JDK7以后可以;
2.子父类的构造执行过程
当new子类的时候先访问子类构造方法->在访问父类构造方法->执行父类方法体->执行子类方法体
之所以要去执行父类构造是因为子类可能使用父类的成员变量要提前进行初始化
3.一个类的初始化过程
//将类的变量入栈,new出来的对象入堆并在堆中进行成员变量的初始化,将对象地址复制给类变量,
4.分层初始化
父类静态代码块-》加载类时就会执行,只执行一次
子类静态代码块-》加载类时就会执行,只执行一次
父类属性对象初始化
父类构造代码块-》在构造方法前执行,每次new都执行
父类构造方法-》每次new都执行
子类属性对象初始化
子类构造代码块-》在构造方法前执行,每次new都执行
子类构造方法-》每次new都执行
5.Stringbuffer:同步、线程安全、效率低
StringBulider:不同步、不安全、效率高
String:适用于少量的字符串操作的情况
StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况
StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况