8 张图,看你是否理解 Java
一图胜千言,下面图解均来自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相关推荐
- 【JavaScript】JavaScript模拟实现面向对象一张图帮助你深刻理解原型链和原型对象
文章目录 一.JavaScript模拟面向对象 1.函数是类 2.函数中各种变量的声明 3.关于函数内的this 小结:JavaScript中函数是什么? 4.练习:面向对象思想编写Complex类 ...
- 网络协议——一张图看懂网络分层
目录 一.四个问题 二.网络为什么分层? 三.程序时如何工作的 3.1 一张图看懂工作过程 3.2 接受包 3.3 发起请求 四.层与层之间的关系 一.四个问题 1. TCP进行三次握手时,IP层和M ...
- 一张图看懂图像识别算法发展历史
一张图看懂图像识别算法发展历史
- 一张图看懂数据库十年大格局!
[欢迎关注微信公众号:厦门微思网络] 数据库大佬们的十年兴衰 一张图看尽! ↓ 这个TOP10排名 包含了SQL和NoSQL 原始数据在这里 [数据库市场份额十年走势图] ↓ (小图看不清,点击看大图 ...
- 【转】几张图看懂列式存储
几张图看懂列式存储 转载于:https://www.cnblogs.com/apeway/p/10870211.html
- 一张图看懂阿里云网络产品[二] 专有网络VPC
摘要: 一张图看懂网络产品系列文章,让用户用最少的时间了解网络产品,本文章是第二篇 专有网络VPC 一张图看懂阿里云网络产品系列文章,让用户用最少的时间了解网络产品,本文章是第二篇 专有网络VPC 系 ...
- 一张图看懂2017双11中的网络产品和技术
摘要: 大家都知道,2017年双11又创造了新纪录,全天交易额1682亿,交易峰值32.5万笔/秒,支付峰值25.6W笔/秒,狂欢的背后是极其复杂庞大的技术系统,其中就有大量阿里云云计算相关的产品和技 ...
- 鸿蒙分布式体验,一张图看懂鸿蒙OS 2.0 分布式能力升级构筑全场景体验
原标题:一张图看懂鸿蒙OS 2.0 分布式能力升级构筑全场景体验 [手机中国新闻]9月10日下午,华为召开HDC2020大会,全新的HarmonyOS 2.0正式发布.新系统的分布式能力全面升级,同时 ...
- 一张图看懂SOA与微服务
一张图看懂SOA与微服务 图片来自普元 1.SOA是站在整个企业系统的角度的治理 2.微服务的概念则小一点 3.ESB主要解决的是系统集成的问题,而且是面向已有的信息资产
- 一张图看懂开源许可协议,开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别...
一张图看懂开源许可协议,开源许可证GPL.BSD.MIT.Mozilla.Apache和LGPL的区别 转载于:https://www.cnblogs.com/jingzhishen/p/589278 ...
最新文章
- 【数据平台】同一mysql主机不同数据库建复制表
- Java快速生成20亿数字_关于内存:Java-打印10亿到20亿
- 云炬Android开发笔记 9主界面-通用底部导航设计与一键式封装
- Spring注入总结
- 【图嵌入】Graph Embedding 方法之 LINE 原理解读
- 从javaagent迁移到JVMTI:我们的经验
- leetcode哈希表(python与c++)
- Duilib初级控件扩展一例: 具有鼠标滚动消息的OptionUI
- [转]Yii Framework: 从 model 中生成 select option
- java一键生成《数据库设计文档》
- 计算机二级河南2020年12月报名时间,2020年3月河南省洛阳市计算机二级报名时间|网上报名入口【12月16日9:00开通】...
- 变换累次积分顺序的方法和原理(图文详解)
- 哪个dns服务器延迟最低,可以立即测出延迟最小的DNS
- 个人博客/博客管理系统/Siteserver cms
- 苹果备份删除有影响吗_苹果手机短信删除还可以恢复吗?
- Jenkins教程(六)脚本与方法执行效果不合预期,如何及时中止pipeline
- 《刨根问底系列》01:操作系统凭什么可以调度程序?
- 跨浏览器书签同步(Floccus + WebDav)
- 强势来袭!取代传统PC开辟新增长极,这款“云电脑”凭啥?
- 架构与开发语言 购OA最重要的两个核心
热门文章
- http://blog.csdn.net/java2000_wl/article/details/8627874
- tbox新增stackless协程支持
- 华硕P8B-C/2L及其他
- 使用DOM方法实现多附件上传客户端
- css3学习 理论之渐变
- 关于MOSS SDK的Web Content Management
- Android开源SIP协议栈比较
- Fabric权限管理和策略
- java 什么是内存屏障,java内存屏障和可见性
- stm32 adc过采样_产生ADC误差的外部原因有哪些?