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

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

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

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

2. equals() 和 hashCode()

HashCode 方法设计用来提升性能,hashCode 和 equals 之间的差异有:

1. 如果两个对象是 equal 的,那么他们必须有相同的 hashCode.

2. 如果两个对象有相同的 hashCode,但他们可以是不 equals 的.

3. Java 异常类层次   

红色的方块为 Checked Exception,必须被捕获或者是在方法中使用 throws 声明抛出:

4. 集合类层次

注意 Collections 和 Collection 之间的差别:

5. Java 同步

Java 同步机制可以通过如下比喻来说明:

6. 混淆 Aliasing

混淆意思是有多个别名指向同一位置,而且这些别名有着不同的类型:

7. 栈和堆

该图标显示方法和对象在运行时内存中的位置:

8. JVM 运行时数据区域 Run-Time Data Areas

转载于:https://www.cnblogs.com/myCodingSky/p/3655504.html

(转)用来理解Java的8个图表相关推荐

  1. java事件处理模型_从零开始理解JAVA事件处理机制(3)

    我们连续写了两小节的教师-学生的例子,必然觉得无聊死了,这样的例子我们就是玩上100遍,还是不知道该怎么写真实的代码.那从本节开始,我们开始往真实代码上面去靠拢. 事件最容易理解的例子是鼠标事件:我们 ...

  2. mysql种编译码写在哪_深入理解Java虚拟机(程序编译与代码优化)

    对于性能和效率的追求一直是程序开发中永恒不变的宗旨,除了我们自己在编码过程中要充分考虑代码的性能和效率,虚拟机在编译阶段也会对代码进行优化.本文就从虚拟机层面来看看虚拟机对我们所编写的代码采用了哪些优 ...

  3. 《深入理解Java虚拟机》(第二版)学习3:垃圾收集器

    垃圾收集器 如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现. 我们这里讨论的收集器主要是基于JDK 1.7 Update 14之后的 Hotspot VM . Serial 收 ...

  4. JAVA好书之《深入理解Java虚拟机》

    最近打算做好现有工作的前提下,扎实一下自己专业的技术知识,并将相关的经典书也记录一下.今天看了一些JVM相关的知识,这里面的经典是<深入理解Java虚拟机>,适合有点基础又想深入理解其中原 ...

  5. 深入理解Java虚拟机-如何利用 JDK 自带的命令行工具监控上百万的高并发的虚拟机性能...

    虚拟机系列文章 深入理解 Java 虚拟机(第一弹) - Java 内存区域透彻分析 深入理解 Java 虚拟机(第二弹) - 常用 vm 参数分析 深入理解 Java 虚拟机-如何利用 Visual ...

  6. 深入理解 Java 虚拟机 - 你了解 GC 算法原理吗

    来自:好好学Java 虚拟机系列文章 深入理解 Java 虚拟机(第一弹) - Java 内存区域透彻分析 深入理解 Java 虚拟机(第二弹) - 常用 vm 参数分析 深入理解 Java 虚拟机- ...

  7. 深入理解 Java 虚拟机(第二弹) - 常用 vm 参数分析

    来自:好好学java 话不多说,今天就分析一下一些常用的Java虚拟机的参数设置,以及如何更好的使用! 1 JVM参数简介 首先想说的是其实这些参数我们并不是陌生的,在平时的开发和使用中经常都会遇到, ...

  8. 深入理解 Java 虚拟机(第一弹) - Java 内存区域透彻分析

    来自:好好学java 这篇文章主要介绍Java内存区域,也是作为Java虚拟机的一些最基本的知识,理解了这些知识之后,才能更好的进行Jvm调优或者更加深入的学习,本来这些知识是晦涩难懂的,所以希望能够 ...

  9. 深入理解 Java 注解

    本文内容基于 JDK8.注解是 JDK5 引入的,后续 JDK 版本扩展了一些内容,本文中没有明确指明版本的注解都是 JDK5 就已经支持的注解. :notebook: 本文已归档到:「blog」 : ...

最新文章

  1. 七、Mosquito 集群搭建
  2. 一样入职的应届生工资不一样_刘涛入职阿里:为什么阿里要招聘明星?明星入职和普通人一样吗...
  3. Configured broker.id 2 doesn‘t match stored broker.id 3 in meta.properties
  4. 2019年java安装步骤_win10的JAVA(jdk)2020年最新版安装教程心得
  5. 60分钟快速入门PyTorch
  6. 后盾网php多少钱_商标转让做公证花多少钱-购店网
  7. 分区字段必须包含在主键字段_十年Java开发经验分享:24 个必须掌握的数据库面试问题...
  8. asp.net编程基础
  9. 笨鸟先飞之ASP.NET MVC系列之过滤器(04认证过滤器)
  10. STM32_编程入门
  11. 韦根通信c语言程序,韦根26通信的示例程序
  12. 面试题之MyBatis缓存
  13. 网站小图标制作及配置
  14. git官网下载慢的问题解决方法
  15. uniapp开发hbuilder连接安卓模拟器mumu
  16. 编写第一个WOW插件
  17. 一、基础知识(3)-共轭函数、次梯度
  18. .net framework 官方下载地址
  19. 腾讯云数据库开源再突破:TDSQL PG版查询性能提升百倍
  20. 怎么把太大的ppt文件压缩变小

热门文章

  1. js兼容注意事项--仅供参考
  2. qq2440 cs8900移植
  3. 成功移植mplayer到mini2440
  4. java 去掉大量if else_java如何消除太多的if else判断?
  5. 函数 单片机glint_GL 库函数
  6. bcb异常处理显示错误行号_SpringBoot系列(七)- springboot 错误异常处理统一办法
  7. python写一个自动登录脚本_Python 脚本登录交换机实现自动配置备份
  8. python的列表和元组
  9. 试题 历届试题 带分数(全排列)
  10. AD管控下的弹性云桌面和文件共享最佳实践