ZHOU'S BLOG
深入理解Java虚拟机之类加载 深入理解Java虚拟机之类加载
类加载机制类加载时机一个类型从被加载到虚拟机内存中开始,到卸载出内存为止,其生命周期如图所示: 对于初始化阶段,《Java虚拟机规范》严格规定了有且只有六种情况必须立即对类进行“初始化”,以下行为称为对一个类型的主动引用: 遇到new、
深入理解Java虚拟机之虚拟机执行子系统 深入理解Java虚拟机之虚拟机执行子系统
三、虚拟机执行子系统类文件结构Java虚拟机的语言无关性: Class类文件结构 Class文件是一组以8个字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在文件之中,中间没有添加任何分隔符,这使得整个Class文件中存储的内
深入理解Java虚拟机之工具篇 深入理解Java虚拟机之工具篇
虚拟机性能监控、故障处理工具 给一个系统定位问题的时候,知识、经验是关键基础,数据是依据,工具是运用知识处理数据的手段。这里说的数据包括但不限于异常堆栈、虚拟机运行日志、垃圾收集器日志、线程快照(threaddump/javaco
深入理解Java虚拟机之字节码执行引擎 深入理解Java虚拟机之字节码执行引擎
字节码执行引擎 所有的Java虚拟机的执行引擎输入、输出都是一致的:输入的是字节码二进制流,处理过程是字节码解析执行的等效过程,输出的是执行结果 运行时栈帧结构局部变量表 局部变量表(Local Variables Table)是一组变量
深入理解Java虚拟机之垃圾收集器及策略 深入理解Java虚拟机之垃圾收集器及策略
垃圾收集器与内存分配策略 程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而灭,栈中的栈帧随着方法的进入和退出而有条不紊地执行着出栈和入栈操作。每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的(尽管在运行期会由即时编译器
深入理解Java虚拟机之自动内存管理 深入理解Java虚拟机之自动内存管理
二、自动内存管理Java内存区域与内存溢出异常运行时数据区域JDK8前的分布: 程序计数器 用于记录从内存执行的下一条指令的地址,线程私有的一小块内存,也是唯一不会报出OOM异常的区域 Java虚拟机栈 Java虚拟机栈(Java V
深入理解Java虚拟机之自己编译JDK 深入理解Java虚拟机之自己编译JDK
一、Windows 10 + WSL(ubuntu 20.04) + CLion 编译JDK12前置准备平台及工具:Windows 10 + WSL(ubuntu 20.04) + CLion(2021.2.2) OpenJDK12下载地址