1. 字符串不变性
String s = "abcd";
s = s.concat("ef");
![](https://img.haomeiwen.com/i11772136/1d4e758f46b188b6.png)
2. equals()方法、hashCode()方法的区别
HashCode被设计用来提高性能。equals()方法与hashCode()方法的区别在于:
如果两个对象相等(equal),那么他们一定有相同的哈希值。
如果两个对象的哈希值相同,但他们未必相等(equal)。
![](https://img.haomeiwen.com/i11772136/c69f17820b9d8eb6.png)
3. Java异常类的层次结构
图中红色部分为受检查异常。它们必须被捕获,或者在函数中声明为抛出该异常。
![](https://img.haomeiwen.com/i11772136/0f29f5dcaaac55bb.png)
4. 集合类的层次结构
![](https://img.haomeiwen.com/i11772136/6768e97e75af5fa2.png)
5. Java同步
![](https://img.haomeiwen.com/i11772136/54402cb3539856b5.png)
6. 别名
别名意味着有多个变量指向同一可被更新的内存块,这些别名分别是不同的对象类型。
![](https://img.haomeiwen.com/i11772136/08ec1cac47a5da5f.png)
7. 堆和栈
图解表明了方法和对象在运行时内存中的位置。
![](https://img.haomeiwen.com/i11772136/318f6a1c95fa02e3.png)
8. Java虚拟机运行时数据区域
图解展示了整个虚拟机运行时数据区域的情况。
![](https://img.haomeiwen.com/i11772136/69e842f1030c0cb9.png)
网友评论