JVM学习一

JVM

https://mp.weixin.qq.com/s/z5ZDzlIB1w2VhlVW_tLviw

https://zhuanlan.zhihu.com/p/34426768

一、JVM是什么?

JVM全称为Java Virtual MAchine-Java虚拟机。一次编译,多次运行。

JVM是java上的一个虚构出来的计算机,是一个位于Java与操作系统之间的中间态。有自己完善的硬件结构,如处理器、堆栈、寄存器等,还具有相应的指令系统。

JVM的五大结构:类装载器(ClassLoader)子系统、运行时数据区、执行引擎、本地方法接口和垃圾收集模块

二、JVM作用是什么?

JVM是java字节码执行的引擎,还能优化java字节码,使之转化成效率更高的机器指令。

JVM中类的装载是由类加载器和它的子类来实现的,类加载是java运行时一个重要的系统组件,负责在运行时查找和装入类文件的类。

不同的平台对应着不同的JVM,在执行字节码(class文件)时,JVM负责将每一条要执行的字节码送给解释器,解释器再将其翻译成特定平台换将的机器指令并执行,这样就实现了跨平台运行。

java程序运行与JVM的关系:

1.java源文件编译生成.class文件(字节码)

2.字节码由JVM解释运行。

三、JVM运行时数据区是什么?

 

JVM学习一_第1张图片

1.程序计数器https://blog.csdn.net/leaf_0303/article/details/78953669

JVM学习一_第2张图片

2.JAVA虚拟机栈https://www.cnblogs.com/newAndHui/p/11168791.html

JVM学习一_第3张图片

3.JVM本地方法栈https://www.jianshu.com/p/8a775d747c47

JVM学习一_第4张图片

4.JAVA堆

JVM学习一_第5张图片

5.JAVA方法区

JVM学习一_第6张图片

6.运行时常量池

JVM学习一_第7张图片

你可能感兴趣的:(Java,面试,jvm,java)