运行时数据区 Java虚拟机在执行Java程序的过程中,会把它所管理的内存划分为若干个不同的数据区,这些区域都有自己各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进行…
分类:未分类
【002】【HotSpot虚拟机对象探秘】
对象创建 Java 是一门面向对象的编程语言,在Java 程序运行过程中无时无刻都有对象被创建出来.在语言层面上,创建对象(例如克隆、反序列化)通常仅仅是一个new 关键字而己,而在虚拟机中…
【004】【JVM——垃圾收集算法】
Java虚拟机学习总结目录 垃圾收集算法 垃圾收集算法的实现涉及大量的程序细节,而且各个平台的虚拟机操作内存的方法又各不相同,介绍几种垃圾收集算法的思想及其发展过程. 标记–清除算法 垃圾收集分为“标记…
【003】【Java虚拟机——对象已死判定】
对象已死! 垃圾收集器在对堆进行回收前,首先要做的事情就是要确定这些对象之中哪些还“存活”着, 哪些已经“死去" (即不可能再被任何途径使用的对象)。 1) 引用计数算法 给每个…
【005】【JVM——Hotspot算法实现存活对象判定和垃圾收集】
Hotspot算法实现存活对象判断和垃圾收集 枚举根节点 作为GC Roots 的节点主要在全局性的引用(例如常量或类静态属性)与执行上下文(例如栈帧中的本地变量表)中,它们的数量庞大,逐个检查里面的引用,会消…
【006】【JVM——垃圾收集器总结】
JVM——垃圾收集器总结 垃圾收集器概览 收集算法是内存回收的方法论,垃圾收集据是内存回收的具体实现。Java虚拟机规范中对垃圾收集器应该如何实现没有规定,不同的厂商、不同版本的虚拟机所提供的垃圾收集器可能会有很大…
【007】【JVM——内存分配与收回策略】
内存分配与收回策略 JVM的自动内存管理要自动化地解决两个问题:对象分配内存以及回收分配给对象的内存。回收内存前几篇已经讲了,现在说内存分配。对象的内存分配一般分配在堆内存中,也可能经过JIT 编译后被拆散为标量类…
【008】【JVM——性能监控与故障处理工具】
JVM——性能监控与故障处理工具 HotSpot虚拟机提供了许多虚拟机运行时调试工具,方便开发人员在应用运行时对虚拟机和应用性能进行监控和优化。 jps:JVM Process Status Tool 显示指定系统…
【009】【JVM——类加载机制】
JVM——类加载机制 类从被加载到虚拟机内存中开始,到卸载出内在为止,它的整个生命周期包括:加载、验证、准备、解析、初始化、使用和卸载 7个阶段。其中验证、准备、解析3个部分统称为连接。 加载、验证、准备、初始化和…
【010】【JVM——类加载器】
JVM——类加载器 类与类加载器 对于任意一个类,都需要由加载它的类加载器和这个类本身一向确立其在Java虚拟机中的唯一性,每一个类加载器,都拥有一个独立的类名称空间。比较两个类是否“相等”,只有在这两个类是由同一个类加…
【011】【JVM——虚拟机字节码执行引擎】
JVM——虚拟机字节码执行引擎 Java虚拟机规范中制定了虚拟机字节码执行引擎的概念模型,这个概念模型成为各种版本虚机执行引擎的统一外观(Facade)。在不同的虚拟机实现里面,执行引擎在执行Java代码的时候可能…
【012】【Java晚期(运行期)优化】
【012】【Java晚期(运行期)优化】 解释器与编译器 解释器与编译器两者各有优势: 当程序需要迅速启动和执行的时候,解释器可以首先发挥作用,省去编译的时间,立即执行。在程序运行后,随着时间的推移,编译器逐渐发挥作用,…