|
|
51CTO旗下网站
|
|
移动端

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

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

作者:佚名来源:开源中国|2013-09-23 09:22

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

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

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

  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.programcreek.com/2013/09/top-8-diagrams-for-understanding-java/

译文链接:http://www.oschina.net/news/44438/top-8-diagrams-for-understanding-java

【编辑推荐】

  1. Java I/O流概念分析整理
  2. 通过/proc/stat文件信息,java实现计算cpu使用率
  3. JavaScript原型继承工作原理
  4. Java 8发出提示 可能将不再支持Windows XP
【责任编辑:chensf TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

活学活用 Ubuntu Server

活学活用 Ubuntu Server

实战直通车
共35章 | UbuntuServer

226人订阅学习

Java EE速成指南

Java EE速成指南

掌握Java核心
共30章 | 51CTO王波

87人订阅学习

Mysql DBA修炼之路

Mysql DBA修炼之路

MySQL入门到高阶
共24章 | 51CTO叶老师

483人订阅学习

读 书 +更多

非常网管——网络服务

本书使用通俗易懂的语言,通过大量的实例,从实际应用的角度出发,全面系统地介绍了网络服务操作系统平台、电子邮件系统、Web站点和FTP站点...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客