JVM

探秘JVM:方法解析与分派调用

探秘JVM:方法解析与分派调用

在不同的虚拟机实现中,执行引擎在执行 java 代码时可能会有 解释执行(通过解释器执行)和 编译执行(通过 JIT 生成本地代码执行)两种选择,也可能是二者兼备,但不管采用哪种方式执行,当我们调用一个方法的时候,都需要确定我们调用方...

探秘JVM:类加载机制

JVM 的类加载机制描述了类数据从字节码文件加载到内存,并对其进行校验、解析、初始化、直至成为能够被 JVM 直接使用的 java 数据类型的过程。 类的整个生命周期包括: 加载、连接(验证、准备、解析)、初始化、使用、卸载 5 个阶...

探秘JVM:垃圾收集与内存分配策略

探秘JVM:垃圾收集与内存分配策略

JVM 中的程序计数器、java 虚拟机栈、本地方法区属于线程私有,其生命周期控制在线程生命周期范围之内,并且 java 虚拟机栈和本地方法区则随着栈帧的出栈入栈由生到灭,所以这些区域的内存使用是确定性的(编译期已知),而 java ...

探秘JVM:运行时数据区域

JVM 内存区域从概念模型上主要分为 堆、方法区、java 虚拟机栈、本地方法栈、程序计数器 五大模块,其中前两者属于线程共享,而后三者属于线程私有,如下图: 一. 线程共享区域1.1 方法区 调整指令:-XX:PermSiz...