博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
图说Java —— 理解Java机制最受欢迎的8幅图
阅读量:6406 次
发布时间:2019-06-23

本文共 970 字,大约阅读时间需要 3 分钟。

原文链接:  

翻译人员: 铁锚

翻译时间: 2013年10月29日

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

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

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

1.

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

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

String s = "abcd";s = s.concat("ef");
中文参考:

图1

2. 

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

equals()与hashCode()方法之间的关系可以概括为:
2.1 如果两个对象相等(equal),那么必须拥有相同的哈希码(hash code)
2.2 即使两个对象有相同的哈希值(hash code),他们不一定相等.
中文参考:

图2
3.
粉红色的是受检查的异常(checked exceptions),其必须被 try{}catch语句块所捕获,或者在方法签名里通过throws子句声明.
另一类异常是运行时异常(runtime exceptions),需要程序员自己分析代码决定是否捕获和处理。
而声明为Error的,则属于严重错误,需要根据业务信息进行特殊处理,Error不需要捕捉。
中文示例:
图3
4.
注意Collections(工具类) 和 Collection(集合顶层接口) 的区别:
中文参考:
图4.1

图4.2
5.
Java同步(synchronization)机制可以用一座大楼来比喻:
中文参考:
图5
6.
别名是指多个引用指向同一个内存地址(对象实际地址,可以理解为这就是对象),甚至这些引用的类型完全不一样.
图 6
7. 
下图显示了运行时内存中方法和对象所处的地盘
绝大多数情况下:对象(及其属性域)都保存在堆里面,而方法的参数,局部变量(引用,以及6种基本类型)保存在栈里面.
当然,极特殊的情况下(极度优化[对象入栈],常量池[String],静态变量[方法区]等)也会打破这个潜规则。
图 7
8.
下图显示了JVM(Java虚拟机)运行时总体的数据区域划分
图8
相关文章:
1. 

2. 

3. 

4.

转载于:https://www.cnblogs.com/lanzhi/p/6467091.html

你可能感兴趣的文章
咏南中间件支持手机客户端
查看>>
fastscript增加三方控件之二
查看>>
Windows Vista RTM 你准备好了么?
查看>>
Tensorflow Serving 模型部署和服务
查看>>
Java Web开发详解——XML+DTD+XML Schema+XSLT+Servlet 3.0+JSP 2.2深入剖析与实例应用
查看>>
topcoder srm 680 div1 -3
查看>>
topcoder srm 430 div1
查看>>
具体数学第二版第四章习题(1)
查看>>
高效前端优化工具--Fiddler入门教程
查看>>
【翻译】我钟爱的HTML5和CSS3在线工具
查看>>
Java多线程学习(吐血超详细总结)
查看>>
css3 变形
查看>>
Win7 64bit 安装Mysql5 出错 无法启动服务。
查看>>
嵌入式 H264参数语法文档: SPS、PPS、IDR以及NALU编码规律
查看>>
初识Opserver,StackExchange的监控解决方案
查看>>
给大家讲解一下JavaScript与后台Java天衣无缝相结合
查看>>
探索HTML5之本地文件系统API - File System API
查看>>
javascript有用代码块(1)
查看>>
libevent 笔记
查看>>
PHP实现人人OAuth登录和API调用
查看>>