一图胜千言,下面图解均来自Program Creek 网站的Java教程,目前它们拥有最多的票选。如果图解没有阐明问题,那么你可以借助它的标题来一窥究竟。

1、字符串不变性

堆中常量池决定(毕竟final类型,JVM还特别优化了String)

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

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

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

如果hash相等,其实就是第三个桶的情况,两个元素(一般情况下,用链表或者红黑树串起来)

3、Java异常类的层次结构

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

4、集合类的层次结构

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

5、Java同步

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

不是人民币玩家的(VIP),车还没来就好好等着。

6、别名

这种情况经常出现在使用了的ViewHolder的ListView中

7、堆和栈

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

理解这个可以明白浅拷贝和深拷贝的原理,对象在堆中(除了方法区,常量池外,另外一片可以抽象的说是线程专有的运行时数据区)

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

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

每个线程PC寄存器,JVM栈,本地方法栈是自己特有的,神圣不可侵犯。堆,方法区,运行时常量是我们大中国??的,时刻帮你,给你和平,给你富有。

8 张图,看你是否理解 Java相关推荐

  1. 【JavaScript】JavaScript模拟实现面向对象一张图帮助你深刻理解原型链和原型对象

    文章目录 一.JavaScript模拟面向对象 1.函数是类 2.函数中各种变量的声明 3.关于函数内的this 小结:JavaScript中函数是什么? 4.练习:面向对象思想编写Complex类 ...

  2. 网络协议——一张图看懂网络分层

    目录 一.四个问题 二.网络为什么分层? 三.程序时如何工作的 3.1 一张图看懂工作过程 3.2 接受包 3.3 发起请求 四.层与层之间的关系 一.四个问题 1. TCP进行三次握手时,IP层和M ...

  3. 一张图看懂图像识别算法发展历史

    一张图看懂图像识别算法发展历史

  4. 一张图看懂数据库十年大格局!

    [欢迎关注微信公众号:厦门微思网络] 数据库大佬们的十年兴衰 一张图看尽! ↓ 这个TOP10排名 包含了SQL和NoSQL 原始数据在这里 [数据库市场份额十年走势图] ↓ (小图看不清,点击看大图 ...

  5. 【转】几张图看懂列式存储

    几张图看懂列式存储 转载于:https://www.cnblogs.com/apeway/p/10870211.html

  6. 一张图看懂阿里云网络产品[二] 专有网络VPC

    摘要: 一张图看懂网络产品系列文章,让用户用最少的时间了解网络产品,本文章是第二篇 专有网络VPC 一张图看懂阿里云网络产品系列文章,让用户用最少的时间了解网络产品,本文章是第二篇 专有网络VPC 系 ...

  7. 一张图看懂2017双11中的网络产品和技术

    摘要: 大家都知道,2017年双11又创造了新纪录,全天交易额1682亿,交易峰值32.5万笔/秒,支付峰值25.6W笔/秒,狂欢的背后是极其复杂庞大的技术系统,其中就有大量阿里云云计算相关的产品和技 ...

  8. 鸿蒙分布式体验,一张图看懂鸿蒙OS 2.0 分布式能力升级构筑全场景体验

    原标题:一张图看懂鸿蒙OS 2.0 分布式能力升级构筑全场景体验 [手机中国新闻]9月10日下午,华为召开HDC2020大会,全新的HarmonyOS 2.0正式发布.新系统的分布式能力全面升级,同时 ...

  9. 一张图看懂SOA与微服务

    一张图看懂SOA与微服务 图片来自普元 1.SOA是站在整个企业系统的角度的治理 2.微服务的概念则小一点 3.ESB主要解决的是系统集成的问题,而且是面向已有的信息资产

  10. 一张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别...

    一张图看懂开源许可协议,开源许可证GPL.BSD.MIT.Mozilla.Apache和LGPL的区别 转载于:https://www.cnblogs.com/jingzhishen/p/589278 ...

最新文章

  1. 【数据平台】同一mysql主机不同数据库建复制表
  2. Java快速生成20亿数字_关于内存:Java-打印10亿到20亿
  3. 云炬Android开发笔记 9主界面-通用底部导航设计与一键式封装
  4. Spring注入总结
  5. 【图嵌入】Graph Embedding 方法之 LINE 原理解读
  6. 从javaagent迁移到JVMTI:我们的经验
  7. leetcode哈希表(python与c++)
  8. Duilib初级控件扩展一例: 具有鼠标滚动消息的OptionUI
  9. [转]Yii Framework: 从 model 中生成 select option
  10. java一键生成《数据库设计文档》
  11. 计算机二级河南2020年12月报名时间,2020年3月河南省洛阳市计算机二级报名时间|网上报名入口【12月16日9:00开通】...
  12. 变换累次积分顺序的方法和原理(图文详解)
  13. 哪个dns服务器延迟最低,可以立即测出延迟最小的DNS
  14. 个人博客/博客管理系统/Siteserver cms
  15. 苹果备份删除有影响吗_苹果手机短信删除还可以恢复吗?
  16. Jenkins教程(六)脚本与方法执行效果不合预期,如何及时中止pipeline
  17. 《刨根问底系列》01:操作系统凭什么可以调度程序?
  18. 跨浏览器书签同步(Floccus + WebDav)
  19. 强势来袭!取代传统PC开辟新增长极,这款“云电脑”凭啥?
  20. 架构与开发语言 购OA最重要的两个核心

热门文章

  1. http://blog.csdn.net/java2000_wl/article/details/8627874
  2. tbox新增stackless协程支持
  3. 华硕P8B-C/2L及其他
  4. 使用DOM方法实现多附件上传客户端
  5. css3学习 理论之渐变
  6. 关于MOSS SDK的Web Content Management
  7. Android开源SIP协议栈比较
  8. Fabric权限管理和策略
  9. java 什么是内存屏障,java内存屏障和可见性
  10. stm32 adc过采样_产生ADC误差的外部原因有哪些?