
《深入理解java虚拟机》读书笔记
《深入理解java虚拟机》读书笔记
进击的营长
雁过留痕,掷地有声。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
第三章-垃圾收集器与内存分配策略
3.1概述 垃圾收集器关注Java堆和方法区的内存回收。 3.2对象已死吗? 判断方法:1.引用计数算法2.可达性分析算法 3.2.1引用计数算法 给对象添加引用计数器,当有地方引用它时就加1,引用失效就减1,为0时就认为对象不再被使用可回收。 简单,但是无法解决对象间循环引用的问题 3.2.2可达性分析算法 给对象添加引用计数器,当有地方引用它时就加1,引用失效就减1,为0时就认为对象不再被使用...原创 2019-12-26 16:39:40 · 145 阅读 · 0 评论 -
第二章-Java内存区域与内存溢出异常
2.1概述 如果不了解虚拟机是怎样使用内存的,那么排查错误将会成为一项异常艰难的工作。 2.2运行时数据区域 2.2.1程序计数器 Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。 当前线程所执行的字节码的行号指示器,字节码解释器工作时就是通过改变这个计数器的值来确定下一条要执行的字节码指令的位置,对于多线程,每个线程都需要有一个独立的程序计数器(线程私有...原创 2019-12-25 14:12:18 · 195 阅读 · 0 评论 -
第七章-虚拟机类加载机制
7.1概述 虚拟机的类加载机制:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型。 在Java语言中,类型的加载、连接和初始化过程都是在程序运行期间完成的。 7.2类加载的时机 类的生命周期:加载---->验证---->准备---->解析---->初始化---->使用---->卸载。 ...原创 2019-12-24 00:05:02 · 108 阅读 · 0 评论 -
第六章-类文件结构
6.1概述 过去:我们将编写的程序编译成二进制本地机器码(Native Code) 如今:我们将程序编译为与操作系统和机器指令集无关的、平台中立的格式 6.2无关性的基石 一次编写,到处运行:Sun公司以及其他虚拟机提供商发布了许多可以运行在各种不同平台上的虚拟机,这些虚拟机都可以载人和执行同一种平台无关的字节码,从而实现了程序的“一次编写,到处运行”。 无关性的基石:无关性是指:平台无关性和语言...原创 2019-12-19 23:24:25 · 218 阅读 · 0 评论