美文网首页
JVM(二)-内存结构

JVM(二)-内存结构

作者: 五大人 | 来源:发表于2020-09-25 13:26 被阅读0次

    内存结构简图:

    JVM内存结构简图(尚硅谷宋红康)

    虚拟机JVM加载程序过程:

    1、类加载子系统把编译后的字节码文件(.class)加载到内存中

    2、方法区:生成大的类的对象,初始化静态方法和变量,存放到方法区

    3、执行引擎开始按照字节码指令,依次执行。栈去局部变量表中取数据,操作入栈,或者在堆空间中创建对象。程序在依次执行过程中,会用到程序计数器,或则好本地的方法栈

    JVM详细图_en(尚硅谷 宋红康) JVM详细图_cn(尚硅谷 宋红康)

    类加载子系统:

    1、加载(Loading)

        引导类加载器、扩展累加载器、应用加载器。扩展:自定义加载器

    2、链接(Linking)

        验证、准备、解析

    3、初始化(Initiallzation)

    运行时数据区:

    程序计数器:每一个线程一份

    栈区:每一个线程一份,栈帧(局部变量表(Local variables)、操作数栈(Operate stack)、动态链接(Dynamic Linking)、方法返回地址(return address))

    本地方法栈:区别于栈,本地方法接口API调用

    堆区:创建的JAVA对象,内存中最大的空间,GC重点考虑的空间

    (Hotspot才有)方法区:类、常量、域、方法信息等

    执行引擎:

    解释器(Interpreter)

    即时编译器(JIT Compiler)

    垃圾回收器(Garbage Collection)

    相关文章

      网友评论

          本文标题:JVM(二)-内存结构

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