美文网首页
Java虚拟机——JVM体系结构

Java虚拟机——JVM体系结构

作者: icyage | 来源:发表于2018-12-04 17:49 被阅读7次

    JVM(Java虚拟机)

    JVM(Java Virtual Machine)Java虚拟机是学习Java的一个重要知识点,所以我们来开启JVM的学习之路吧!

    PS:本文需要一些Java基础才能更好的理解

    JVM体系结构

    JVM的学习就先从体系结构开始,结构如下图


    • 字节码文件(Class files)——字节码文件是我们在编译源文件(.java)之后产生的
    • 类加载器(Class Loader)——通过解析字节码文件的类相关的信息,并通过类加载器加载所有需要的信息
    • 运行数据区(Runtime Data Area)——该区域是在Java程序运行的时候使用到的数据的存放、执行位置等
    • 方法区(Method Area)——方法区通常存放比较稳定的共享资源(单进程内),例如:类信息、字面量、常量等
    • 堆(heap)——通常存储可回收的共享资源(单进程内),例如:大部分对象、数组元素等
    • Java栈(Java stack)——存储线程内使用资源,并且线程私有,存储的资源有:基础数据类型、部分引用数据类型的数据、部分引用数据类型的引用等
    • 本地方法栈(Native Method Stack)——Java在使用某些方法的时候,会调用一些native的方法,如图:


    • 程序计数器(Program Counter Register)——程序计数器为线程,线程私有,记录程序执行的位置,当程序执行到本地方法的时候程序计数器置为undefined
    • 执行引擎(Execution Engine)——执行引擎负责执行字节码的运行逻辑
    • 本地方法接口(Native Interface)——让Java有着更好的扩展能力,利用C/C++等实现的高效代码来为Java程序提供良好的扩展实现,Java程序本身通过直接调用即可完成。

    总结

    这期非常简单的介绍了一些JVM的体系结构,希望可以给大家抛砖引玉的作用,感兴趣的小伙伴自行查找资料。之后不定期的围绕虚拟机进行展开交流。

    相关文章

      网友评论

          本文标题:Java虚拟机——JVM体系结构

          本文链接:https://www.haomeiwen.com/subject/eozzbxtx.html