你知道JVM吗
什么是JVM?
JVM是java虚拟机。顾名思义,虚拟机?就是模拟一个计算机的意思。也就是它具有计算机的功能。所以Java虚拟机的作用就是直接将.CLASS文件里面的java字节码文件翻译成机器语言的。
JVM是如何工作的?
要想知道JVM如何工作就应该搞清JVM是有什么组成的。
JVM和实体机一样都有指令集。这里我们称为JVM字节码编码集。
除了这个JVM还需要哪些组成部分?
第一个:类加载器:类加载器就是将.CLASS文件加载到JVM中。(后面会详细说一下)
第二个:执行引擎:这个就像实体机的CPU,负责执行.CLASS文件包含的字节码指令
第三个:内存区:相当于实体机的存储单元,存放调用数据的。
第四个:本地方法调用,用c或c++实现本地方法接口。这里要明白一个词JNI(java 本地接口)
通过第四个我们经常说java底层是c或者c++实现就不难理解了。以上叙述的步骤就是JVM的工作流程。
这里还要明白几点零碎知识:
1. JVM是基于栈的架构
2. JVM方法调用分为java方法调用和本地方法调用
3. JVM运行实际程序的实体是线程。
- 2楼JAVE_LOVER昨天 16:57
- 楼主大几了?都研究虚拟机了。我最近也在写关于Java方面的博客,有时间可以一起探讨一下~
- Re: ycy123ycy昨天 16:58
- 回复JAVE_LOVERn大四,好的留个q吧
- Re: JAVE_LOVER昨天 16:59
- 回复ycy123ycyn刚好我也大四,我的qq:2413698298
- 1楼FansUnion昨天 12:59
- 可以看看官方的JVM规范。看懂了,就大致懂JVM了。