用来理解 Java 编程语言的 8 个图表

发表于:2013-10-28来源:开源中国社区作者:oschina点击数: 标签:java
很多时候,一张图比你说 1000 个字能更有效的说清楚一个问题。我们列举了 8 个关于 Java 语言的图表,或许可以让你对 Java 有着更深入的认识。 1. 字符串不变性(String Immutability) 下面的图表显示执行如下两行代码所发生的事:

  很多时候,一张图比你说 1000 个字能更有效的说清楚一个问题。我们列举了 8 个关于 Java 语言的图表,或许可以让你对 Java 有着更深入的认识。

  1. 字符串不变性(String Immutability)

  下面的图表显示执行如下两行代码所发生的事:

  view source

print?
1 String s = "abcd"
2 s = s.concat("ef");
string-immutability

  2. equals() 和 hashCode()

  HashCode 方法设计用来提升性能,hashCode 和 equals 之间的差异有:

  1. 如果两个对象是 equal 的,那么他们必须有相同的 hashCode

  2. 如果两个对象有相同的 hashCode,但他们可以是不 equals 的

java-hashcode

  3. Java 异常类层次

  红色的方块为 Checked Exception,必须被捕获或者是在方法中使用 throws 声明抛出。

Exception-Hierarchy-Diagram

  4. 集合类层次

  注意 Collections 和 Collection 之间的差别。

  5. Java 同步

  Java 同步机制可以通过如下比喻来说明

  6. 混淆 Aliasing

  混淆意思是有多个别名指向同一位置,而且这些别名有着不同的类型

Java Aliasing

  7. 栈和堆

  该图标显示方法和对象在运行时内存中的位置

Java-array-in-memory

  8. JVM 运行时数据区域 Run-Time Data Areas

JVM runtime data area

原文转自:http://www.oschina.net/news/44438/top-8-diagrams-for-understanding-java