8张图理解Java

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了8张图理解Java相关的知识,希望对你有一定的参考价值。

一图胜千言,下面图解均来自Program Creek网站的Java教程,目前它们拥有最多的票选。

1、字符串不变性

下面这张图展示了这段代码做了什么

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

技术分享图片

2、equals()方法、hashCode()方法的区别

HashCode被设计用来提高性能。equals()方法与hashCode()方法的区别在于:

  1. 如果两个对象相等(equal),那么他们一定有相同的哈希值。

  2. 如果两个对象的哈希值相同,但他们未必相等(equal)。

技术分享图片

3、Java异常类的层次结构

图中红色部分为受检查异常。它们必须被捕获,或者在函数中声明为抛出该异常。

技术分享图片

4、集合类的层次结构

注意Collections和Collection的区别。(Collections包含有各种有关集合操作的静态多态方法)

技术分享图片

5、Java同步

Java同步机制可通过类比建筑物来阐明。

技术分享图片

6、别名

别名意味着有多个变量指向同一可被更新的内存块,这些别名分别是不同的对象类型。

技术分享图片

7、堆和栈

图解表明了方法和对象在运行时内存中的位置。

技术分享图片

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

图解展示了整个虚拟机运行时数据区域的情况。

技术分享图片

我有一个微信公众号,经常会分享一些Java技术相关的干货。如果你喜欢我的分享,可以用微信搜索“Java团长”或者“javatuanzhang”关注。

以上是关于8张图理解Java的主要内容,如果未能解决你的问题,请参考以下文章

8 张图带你理解 Java字串符,异常类,集合类,同步,别名,堆和栈,Java虚拟机,你看懂了吗?

一张图理解Java锁的原理

错误记录Android Studio 编译报错 ( Could not determine java version from ‘11.0.8‘. | Android Studio 降级 )(代码片段

错误记录Android Studio 编译报错 ( Could not determine java version from ‘11.0.8‘. | Android Studio 降级 )(代码片段

如何从活动意图到特定片段?

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式