Java里面对于字符串的处理方法有很多,而且string本身在Java里面就是一个类,所以我们在定义一个字符串时可以用new的方法,但是对于Java的字符串本来就存在有一个字符串常量池,在Java虚拟机里面字符串常量池是在方法区,jdk1.8以后和堆合并了,我们知道堆里面存放的是实例化的对象,而且string本身就是一个类,推测所谓的字符串常量池里面也存放的是string的实例对象。
2、equals()方法、hashCode()方法的区别
HashCode被设计用来提高性能。equals()方法与hashCode()方法的区别在于:
如果两个对象相等(equal),那么他们一定有相同的哈希值。
如果两个对象的哈希值相同,但他们未必相等(equal)。
3、Java异常类的层次结构
异常类基本就那两种类型:
Error
代表了系统和编译的错误Exception
Exception
代表了标准Java库方法所激发的异常
Error类的异常是不允许捕获的,而发生Exception异常的程序可以通过捕获处理后正常运行保持程序的可读性及可靠性。
4、集合类的层次结构
注意Collections和Collection的区别。(Collections*含有各种有关集合操作的静态多态方法)
5、Java同步
Java同步机制可通过类比建筑物来阐明。
6、别名
别名意味着有多个变量指向同一可被更新的内存块,这些别名分别是不同的对象类型。
7、堆和栈
图解表明了方法和对象在运行时内存中的位置。
8、Java虚拟机运行时数据区域
图解展示了整个虚拟机运行时数据区域的情况。