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团长(javatuanzhang)

原文发表时间:2017-11-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据结构与算法

10:大整数加法

10:大整数加法 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB描述 求两个不超过200位的非负整数的和。 输入有两行,每...

44512
来自专栏尾尾部落

[剑指offer] 二维数组中的查找

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个...

1142
来自专栏机器学习原理

python函数基础字符串操作numpy 和list互相转换

list 转 numpy np.array(a) ndarray 转 list a.tolist() 写入文件必须是字符

3131
来自专栏测试开发架构之路

C/C++常用头文件及函数汇总

C/C++头文件一览 C #include <assert.h>    //设定插入点 #include <ctype.h>     //字符处理 #inclu...

4005
来自专栏青青天空树

3032-杨辉三角

还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 ...

1113
来自专栏尾尾部落

希尔排序【Shellsort】

希尔排序是基于插入排序的以下两点性质而提出改进方法的: – 插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率 – 但插入排序一般来说...

923
来自专栏从零开始学自动化测试

python笔记21-列表生成式

python里面[]表示一个列表,快速生成一个列表可以用range()函数来生成。 对列表里面的数据进行运算和操作,生成新的列表最高效快速的办法,那就是列表生成...

1311
来自专栏菩提树下的杨过

python高级特性:切片/迭代/列表生成式/生成器

1913
来自专栏Java帮帮-微信公众号-技术文章全总结

数据结构是哈希表(hashTable)(一)

哈希表也称为散列表,是根据关键字值(key value)而直接进行访问的数据结构。也就是说,它通过把关键字值映射到一个位置来访问记录,以加快查找的速度。这个映射...

2683
来自专栏数据结构与算法

分块之区间修改与单点查询

给出一个长为n的数列,以及n个操作,操作涉及区间加法,单点查值。 这是一道能用许多数据结构优化的经典题,可以用于不同数据结构训练。 数列分块就是把数列中每m个元...

3535

扫码关注云+社区

领取腾讯云代金券