面试集锦一
1.
String Stringbuffer和StringBuilder的区别?
ava.lang.StringBuffer线程安全的可变字符序列
将 StringBuilder 的实例用于多个线程是不安全的
2.
wait():使一个线程处于等待状态,并且释放所持有的对象的lock。sleep():使一个正在运行的线程处于睡眠状态,是一个静态方法,调用此方法要捕捉InterruptedException异常。notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。Allnotity():唤醒所有处入等待状态的线程,注意并不是给所有唤醒线程一个对象的锁,而是让它们竞争。
3.
break只能跳出最近一层的循环,要跳出多重循环,就需要使用标签语句
4.
switch ( 整型或字符型变量 ) 中,变量的类型如文中所标,只能是整型和字符类型。它们包含 int,char。当然无符类型或不同的长度整型(unsigned int,short,unsigned char)等都可以。另外,枚举类型(enum)内部也是由整型或字符类型实现。所以也可以。对于switch(枚举类型),里面的case 匹配的项必须在枚举类型里定过过,否则就会报错。
5.
使用final修饰变量时,是指引用变量不能变,也就是修饰的引用变量不能指向其他对象,但是刚开始指定的变量的内容还是可以改的。
6.
static方法是不属于对象的,确切说属于类。但是非static方法是属于对象的。所以static方法调用非static方法时就无法关联对象,编译就会报错。
7.
java中采用unicode编码(其中包含了全球大多数语言的字符),一个char型数据占两个字节共16位,所以它可以表示汉字,也即是存储汉字。
8.Java中的==和equals区别
A.==可用于基本类型和引用类型:当用于基本类型时候,是比较值是否相同;当用于引用类型的时候,是比较对象是否相同。
B.对于String a = “a”; Integer b = 1;这种类型的特有对象创建方式,==的时候值是相同的
C.基本类型没有equals方法,equals只比较值(对象中的内容)是否相同(相同返回true)。