不积跬步,无以至千里

博客园 首页 新随笔 联系 订阅 管理

有时候一张图往往胜过千言万语。下列的图是来自于Program Creek的Java教程,这是至今为止最受欢迎的文章。希望这些图能够帮助你复习已经学习到的知识。如果你通过这些图还无法将问题弄明白,那么你可能就要去阅读详细的文章来更进一步地学习Java

 

1、字符串的不变性

 

下图展示了如下的代码运行过程:

 

String s = "abcd";s = s.concat("ef");

 

备注:String reference variable :字符串引用变量  String object:字符串对象

 

2、equals() 和hashCode()的关系

 

哈希码是设计用于提高性能的。equals()和hashCode()的关系是:

 

2.1如果两个对象相等,那么它们一定有着相同的哈希码。

2.2即使两个对象有着相同的哈希码,但它们不一定相等。

 

备注:Hash Function:哈希函数        buckets:散列桶

 

3、Java异常类的层次结构

 

红颜色标注的方块属于检查异常,这类异常必须通过在try—catch代码块里捕获异常或者在方法中用thorws申明抛出异常。

 

 

4、集合类的层次结构

 

注意Collections和Collection的区别:

 

备注:Collection:是集合类层次结构的最顶层接口。

Collecitons:这个类由操作集合对象的静态方法和集合对象组成。

 

 

5、Java同步机制

 

Java同步机制可以用一栋大楼来比喻阐述:

 

备注:special room:专用房间   wait room:等待室     hallway:走廊

 

6、引用别名机制

 

引用别名机制是指多个引用可以定位到同一个能被更新的内存地址,而这些引用变量可以是不同的类型。

 

 

 

7、栈和堆

 

下图展示了方法和对象在运行时在内存的存储位置

 

备注:Stack:栈  Heap:堆

 

8、Java虚拟机运行时数据区域

 

下图展示了java虚拟机运行时总体的数据区域

 

 

备注:Thread:线程  PC Register:程序计数器   JVM Stack:Java虚拟机栈

Native Method Stack:本地方法栈 Heap:堆   Method Area:方法区Runtime Constant Pool:运行时常量池

posted on 2016-02-17 10:12  Zeroassetsor  阅读(140)  评论(0)    收藏  举报