图说Java —— 理解Java机制最受欢迎的8幅图

栏目: Java · 发布时间: 7年前

内容简介:图说Java —— 理解Java机制最受欢迎的8幅图

世间总是一图胜过千万言!

下面的8幅图来自于 Program Creek 的 Java 教程 ,目前这是该网站最受欢迎的文章.

希望本文能帮你回顾你已经知道的那些知识。如果图片讲解的不够清晰,你可能需要阅读详细的文章或者进行搜索。

1. String对象不可改变的特性

(详情请点击上面的标题查看)

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

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

中文参考: Java String 详解 

图说Java —— 理解Java机制最受欢迎的8幅图

2. equals()与hashCode()方法协作约定

HashCode(哈希编码,散列码)是设计了用来提高性能的.

equals()与hashCode()方法之间的关系可以概括为:

2.1 如果两个对象相等(equal),那么必须拥有相同的哈希码(hash code)

2.2 即使两个对象有相同的哈希值(hash code),他们不一定相等.

中文参考:  HashMap的实现原理

图说Java —— 理解Java机制最受欢迎的8幅图

3. Java 异常类层次结构

粉红色的是受检查的异常(checked exceptions),其必须被 try{}catch语句块所捕获,或者在方法签名里通过throws子句声明.

另一类异常是运行时异常(runtime exceptions),需要 程序员 自己分析代码决定是否捕获和处理。

而声明为Error的,则属于严重错误,需要根据业务信息进行特殊处理,Error不需要捕捉。

中文示例:  Exception

图说Java —— 理解Java机制最受欢迎的8幅图

4. 集合类层次结构关系

注意Collections(工具类) 和 Collection(集合顶层接口) 的区别:

中文参考:  Collections

图说Java —— 理解Java机制最受欢迎的8幅图

图说Java —— 理解Java机制最受欢迎的8幅图

5. 锁——Java同步的基本思想

Java同步(synchronization)机制可以用一座大楼来比喻:

中文参考:  线程同步---synchronized

图说Java —— 理解Java机制最受欢迎的8幅图

6.Java对象引用处理机制

别名是指多个引用指向同一个内存地址(对象实际地址,可以理解为这就是对象),甚至这些引用的类型完全不一样.

图说Java —— 理解Java机制最受欢迎的8幅图

7. Java 对象在堆中的内存结构

下图显示了运行时内存中方法和对象所处的地盘

绝大多数情况下:对象(及其属性域)都保存在堆里面,而方法的参数,局部变量(引用,以及6种基本类型)保存在栈里面.

当然,极特殊的情况下(极度优化[对象入栈],常量池[String],静态变量[方法区]等)也会打破这个潜规则。

图说Java —— 理解Java机制最受欢迎的8幅图

8. JVM 运行时数据区

下图显示了JVM(Java虚拟机)运行时总体的数据区域划分

图说Java —— 理解Java机制最受欢迎的8幅图

Java学习交流QQ群:523047986  禁止闲聊,非喜勿进!


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Spark

Spark

Bill Chambers、Matei Zaharia / O′Reilly / 2017-10-31 / GBP 39.99

Learn how to use, deploy, and maintain Apache Spark with this comprehensive guide, written by the creators of the open-source cluster-computing framework. With an emphasis on improvements and new feat......一起来看看 《Spark》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具