
Java虚拟机
码手西风
这个作者很懒,什么都没留下…
展开
-
JVM Java内存区域 与 内存溢出 (系列号1)
运行时数据区域运行时的数据区域,就是JVM管理的内存区域。JVM 运行程序的时候,管理着运行时的内存(一般以静态的 main 方法进入本类的运行时数据区,几乎所有Java程序都是从此开始,也就是说这里的 “运行时的数据区域” 就是一个程序甚至是一个项目的内存开辟起始区,逻辑上不会有第二个与此不连通的区域了 )。JVM 将内存划分为多个不同的数据区域。这些不同的数据区域有着自己的创建和销毁时间,...原创 2019-02-27 22:14:36 · 220 阅读 · 0 评论 -
JVM Class 类文件结构 (系列号2)
Class 文件的基本介绍class 文件是一组以8字节为基本单位的二进制流。各个数据按照顺序紧凑的排列在class文件之中。遇到大于8字节的数据会分成若干个8位数据。下图就是class文件中的数据:魔数:类的识别号,就好比 文件的尾缀。但是这里是放在前面。 Class版本号:注意JDK可以向前兼容版本,但是无法向后兼容Class文件。 Class文件常量池入口:注意与运行时...原创 2019-02-28 16:38:31 · 229 阅读 · 0 评论 -
JVM Class 类加载机制(系列号3)
类加载的过程加载是类加载的一个阶段;虚拟机在运行时把描述类的信息的class文件数据加载进入内存,并对数据进行验证,准备,解析,初始化,使用与卸载七个阶段。其中验证,准备,解析,三个阶段合起来称作为连接。类加载到初始化这一阶段结束。加载:加载期间,虚拟机执行三件事:通过全类名获得class文件的二进制流;将字节流的静态数据结构转化为运行时的数据结构;在内存中(经常在方法区)生成这个...原创 2019-02-28 21:26:24 · 277 阅读 · 0 评论