说一说 JVM 工作原是什么?
发布于 2022-09-21 08:51:34
关注者
0
被浏览
19
5 个回答
-
JVM是Java实现跨平台的核心,编译器生成字节码文件后,交由JVM执行,JVM根据程序生成目标代码,然后交给本地系统执行。
-
接收\.class文件,转为机器识别码。
-
简单来说就是装载以及运行class文件。装载就是将class文件装载到jvm内存模型中,只不过这个装载需要类加载器而且还需要几步前置操作,完成前置操作后就能将class文件加载到内存模型中了。然后运行就指的是字节码执行引擎了,字节码执行引擎运行结束后,联系操作系统完成整个流程。 (这只是一个流程大概,里面涉及到的东西很多,比如:jvm规范,class文件格式,jvm内存模型是什么,类加载器是什么,加载的过程有哪些等等不是一篇文章能说完的)
-
虚拟机栈和本地方法栈(hotspot虚拟机这两个栈为一个栈),通过栈帧处理方法JAVA方法的执行逻辑,线程不共享;程序计数器存放字节码指令地址,线程私有,不会出现OOM;堆负责存放创建的对象和数组,通过分代收集法进行GC,线程共享;方法区(包含常量池)用于存放加载的类信息,静态(类)变量,常量等,线程私有。最近刚刚开始看一些jvm,希望大家指教指正。
-
这个写就多了。内存。分配。类等等