摘要:
对象实例化的几种方式 对象在内存中的布局 直接内存区 不是虚拟机运行时数据区的一部分,也不是《Java虚拟机规范》中定义的内存区域。 来源于NIO,通过存在堆中的DirectByteBuffer操作Native内存 直接内存是在Java堆外的、直接向系统申请的内存区间。 通常,访问直接内存的速度会优 阅读全文
摘要:
运行时数据区内部结构 Java,虚拟机定义了若干种程序运行期间会使用到的运行时数据区,其中有一些会随着虚拟机启动而创建(方法区和堆),随着虚拟机退出而销毁。另外一些则是与线程一 一对应的,这些与线程对应的数据区域会随着线程开始和结束而创建和销毁。 一个JVM实例就对应一个唯一的Runtime实例 程 阅读全文
摘要:
JVM的生命周期 虚拟机的启动 Java 虚拟机的启动是通过引导类加载器(BootstrapClassLoader )创建一个初始类(initial class)来完成的这个类是虚拟机的具体实现来指定的。 虚拟机的执行 一个运行中的Java虚拟机有着一个清晰的任务:执行Java程序 程序开始执行时它 阅读全文
摘要:
类加载器、双亲委派机制和沙箱安全机制 类加载器 作用:加载Class文件 类加载流程: 加载 >链接(验证-->准备 >解析) >初始化 JVM支持两种类型的类加载器,分别为引导类加载器(Bootstrap Class Loader)和自定义类加载器(User-Defined ClassLoader 阅读全文
摘要:
JVM的体系结构 按照功能分 按照内存分 下一篇:类加载器、双亲委派机制和沙箱安全机制 阅读全文