JVM+JVM运行时数据区
2022-09-07 10:39:08 5 举报
JVM
作者其他创作
大纲/内容
【本地方法栈】Native方法
【方法区】(元数据区Metaspace)类信息、常量、静态变量
JVM生命周期启动:任何一个拥有main方法的class都可以作为JVM实例运行的起点。运行:main函数为起点,程序中的其他线程均有它启动,包括daemon守护线程和non-daemon普通线程。daemon是JVM自己使用的线程比如GC线程,main方法的初始线程是non-daemon。消亡:所有线程终止时,JVM实例结束生命。
E
S0
线程共享(数据区)
Old
运行时数据区
【程序计数器】正在执行的虚拟机字节码指令的地址
线程私有(指令区)
【栈】局部变量、操作数栈、动态链接、方法出口
JVM虚拟机
S1
类装载子系统
JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上一次编译,多次运行,具有跨平台性。JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。 Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法区。 JVM是一种用于计算设备的规范,它是一个虚构的计算机的软件实现,简单的说,JVM是运行byte code字节码程序的一个容器。
Class
JVM 中执行过程如下:* 加载代码* 验证代码* 执行代码* 提供运行环境
【堆(heap)】对象实例和数组
执行引擎
0 条评论
下一页