读书人

您知道JVM吗

发布时间: 2013-09-26 10:32:35 作者: rapoo

你知道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了。

读书人网 >编程

热点推荐