![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深入理解Java虚拟机读书笔记
文章平均质量分 88
小宇哥x
这个作者很懒,什么都没留下…
展开
-
深入理解Java虚拟机读书笔记一、走进 Java
文章目录一、走进 Java1、Java虚拟机家族1.1、武林盟主:HotSpot VM1.2、天下第二:BEA JRockit/IBM J9 VM1.3、新一代即时编译器 一、走进 Java 1、Java虚拟机家族 1.1、武林盟主:HotSpot VM HotSpot虚拟机的热点代码探测能力可以通过执行计数器找出最具有编译价值的代码,然后通知即时编译器以方法为单位进行编译。如果一个方法被频繁调用,或方法中有效循环次数很多,将会分别触发标准即时编译和栈上替换编译(On-StackReplacement,O.原创 2021-05-18 19:29:42 · 96 阅读 · 0 评论 -
深入理解Java虚拟机读书笔记二、自动内存管理
文章目录自动内存管理一、Java内存区域与内存溢出异常1、运行时数据区域1.1、程序计数器1.2、Java虚拟机栈1.3、本地方法栈1.4、Java堆1.5、方法区1.6、运行时常量池1.7、直接内存2、HotSpot虚拟机对象探秘2.1、对象的创建2.2、对象的内存布局2.3、对象的访问定位2.4、实战:OutOfMemoryError异常2.4.1 Java堆溢出2.4.2 虚拟机栈和本地方法栈溢出2.4.3 方法区和运行时常量池溢出2.4.4 本机直接内存溢出二、垃圾收集器与内存分配策略1、对象已死.原创 2021-05-18 19:38:21 · 652 阅读 · 0 评论 -
深入理解Java虚拟机读书笔记三、虚拟机执行子系统
文章目录虚拟机执行子系统一、虚拟机类加载机制1、概述2、类加载的时机3、类加载的过程3.1 加载3.2 验证3.3 准备3.4 解析3.5 初始化4、类加载器4.1 类与类加载器4.2 双亲委派模型4.3 破坏双亲委派模型5、Java模块化系统二、虚拟机字节码执行引擎1、概述2、运行时栈帧结构2.1 局部变量表2.2 操作数栈2.3 动态连接2.4 方法返回地址2.5 附加信息3、方法调用3.1 解析3.2 分派4、动态类型语言支持4.1 动态类型语言4.2 Java与动态类型4.3 javalang.i.原创 2021-05-18 19:40:53 · 260 阅读 · 0 评论 -
深入理解Java虚拟机读书笔记四、程序编译与代码优化
文章目录程序编译与代码优化一、前端编译与优化1、概述2、Javac编译器3、Java语法糖的味道3.1 泛型3.2 自动装箱、拆箱与遍历循环4、实战:插入式注解处理器5、本章小结二、后端编译与优化1、概述2、即时编译器2.1 解释器与编译器2.2 编译对象与触发条件2.3 编译过程2.4 实战:查看及分析即时编译结果3、提前编译器3.1 提前编译的优劣得失4、编译器优化技术4.1 优化技术概览4.2 方法内联4.3 逃逸分析4.4 公共子表达式消除4.5 数组边界检查消除 程序编译与代码优化 一、前端编译.原创 2021-05-18 19:44:27 · 266 阅读 · 1 评论 -
深入理解Java虚拟机读书笔记五、高效并发
文章目录高效并发一、Java内存模型与线程1、概述2、硬件的效率与一致性3、Java内存模型3.1 主内存与工作内存3.2 内存间交互操作3.3 对于volatile型变量的特殊规则3.4 原子性、可见性与有序性3.5 先行发生原则4、Java与线程4.1 线程的实现4.2 Java线程调度4.3 状态转换二、线程安全与锁优化1、概述2、线程安全2.1 Java语言中的线程安全2.2 线程安全的实现方法3、锁优化3.1 自旋锁与自适应自旋3.2 锁消除3.3 锁粗化3.4 轻量级锁3.5 偏向锁 高效并发.原创 2021-05-18 19:47:26 · 187 阅读 · 0 评论