【JVM】JVM综述

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zorkeAccount/article/details/80691433

关键词:java字节码、java类加载机制、jvm内存模型、jvm垃圾回收机制


一、JVM

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

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


二、JVM漫谈

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

   2、既然是1中已经读取了.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)


三、JVM相关疑问??

    1、垃圾收集器执行垃圾回收频率什么样的一个范围算是正常,或者多什么样的频率算是过度频繁而需要调整堆空间大小的,或者说根据什么样的业务场景具体的例子呢?




阅读更多
换一批

没有更多推荐了,返回首页