尤其记得高中上数学课的时候,数学老师课堂上最喜欢说的一句话:“数形结合百般好”;这些年过去,数学虽然学的并未多么好,但这句话倒是一直烙印在我的脑海,在其他学科的学习当中,我总是尽量将知识转变为数学相关的方式来记忆,或者是将知识做成一个图片来强化记忆,事实上也证明,这确实是一种实用的学习方式。
1-字符串不可变性
下图显示了以下代码会发生什么情况:
String s = “abcd” ;
s = s。concat (“ef” );
2-equals()和hashCode()Contract
HashCode旨在提高性能。equals()和hasCode()之间的契约是:
- 如果两个对象相等,则它们必须具有相同的散列码。
- 如果两个对象具有相同的哈希码,则它们可能相等,也可能不相等。
3- Java异常类层次结构
红色被检查的异常必须在方法的throws子句中被捕获或声明。
4- 集合类层次结构
5- Java同步
Java同步机制可以用一个建筑的类比来说明。
6- 别名
别名意味着可以更新的位置有多个别名,并且这些别名具有不同的类型。
7- 堆栈和堆
此图显示了方法和对象在运行时内存中的位置。
8- JVM运行时数据区
此图显示了整个JVM运行时数据区域。
原文地址:
https://www.programcreek.com/2013/09/top-8-diagrams-for-understanding-java/