【JVM】JVM综述

    一、

    所谓JVM,即一种对操作系统和硬件平台进行抽象的软件,可以执行java字节码程序,通过将每一条java字节码指令翻译成不同平台机器码,达到在特定平台运行java字节码程序的目的。

    其中,java字节码即由java编译器编译java程序得到的二进制class文件程序!


    二、

    1、既然要执行class程序,那么JVM肯定首先需要的是读取这些class文件吧,也就是第一个点java类的加载机制,涉及到的点有:类生命周期、类加载器、类加载机制、双亲委派模型

   2、既然是读取了.class文件中的二进制数据,那么JVM总归是要提供内存空间去存储这些二进制数据吧,也就是第二个点JVM内存模型,涉及到的点有:程序计数器、java方法栈、本地方法栈、堆、方法区

   3、既然有内存存储二进制数据(方法区)和Class对象(堆),那么JVM肯定是需要对这些使用或未使用的内存空间进行管理的,也就是JVM垃圾回收机制,涉及到的点有:对象存活判断(引用计数法、可达性分析法)、垃圾收集算法(标记-清除算法、复制算法、标记-压缩算法、分代收集算法)、垃圾收集器

   4、既然涉及到对内存空间(方法区和堆)的管理,那么一定就有对相关内存空间参数大小的设置操作,也即所谓的jvm调优,涉及到的点有:相关监控和故障处理命令(jps jstat jmap jhat jstack jinfo)、相关监控调优工具(jconsole.exe、jvisualvm.exe,MAT(Memory Analyzer Tool)、GChisto)



猜你喜欢

转载自blog.csdn.net/zorkeaccount/article/details/80691433
JVM