java面试准备之基础概念与常识(2)
Java 中的几种基本数据类型是什么?对应的包装类型是什么?各自占用多少字节呢?


自动装箱与拆箱

java在背后做的事情如下:

一个坑 Integer在-128-127时可以使用== 比较



即Integer默认的缓存区间为-128 127 如果我们使用这区间的值时会直接指向定义好的地址,但是如果超过这个区间jvm就会创建新对象
如下面就会开两个新对象 所以地址空间不同 结果为false
Integer i1=500;
Integer i2=500;
System.out.println(i1==i2);
但是如果是在区间 那么都会指向常量池对应的地址空间,结果为true
在一个静态方法内调用一个非静态成员为什么是非法的?

String,StringBuffer和StringBuilder 的区别是什么? String 为什么是不可变的?

String(不可变):

StringBuffer(线程安全)

简单来说就是StringBuffer的源码定义的操作方法都加上了synchronized同步锁 使得保证了线程安全
StringBuilder(线程不安全)
几乎和StringBuffer提供的API一致 但是并没有保证线程安全,用于多线程操作提高性能
3种类型使用场景

反射
什么是反射

反射机制优缺点


什么是序列化?什么是反序列化?

Java 序列化中如果有些字段不想进行序列化,怎么办?

既然有了字节流,为什么还要有字符流?


浙公网安备 33010602011771号