JVM之道

学了那么长时间的java,也天天在听着关于JVM的各种神秘之事,却只是觉得这东西很神秘,没能够涉足其中。虽然没有看过书系统的研究过,但是听多了,对这东西的也算有了一个总体的认识,下面也只能把自己印象中的JVM做一个最简单的表述吧。

要了解JVM,首先还是先从java代码的执行过程说起,平时,我们写的java程序只需要点击运行程序,结果就自然而然地给我们输出来了,而没有过多地去追究这到底是个什么样的过程。那么这到底是个什么样的过程呢?

这个过程大致可以这样分解:

①把java代码进行编译(JDK中的编译工具是javac)成.class的字节码文件,这种字节码文件就是完全能用JVM指令集中的指令来描述的文件

②.类装载器装载运行程序所需要的所有类(这些类都是被编译后的class文件)

③.然后把整个程序送交执行引擎处理(JDK中的java.exe)

④.执行引擎再与操作系统或底层硬件交互


大致过程我只能描述出这么个样。而jvm的活动范围就在②和④之间。这样来说,可能还是让人摸不着头脑。没关系的,jvm的活动范围知道了,那么我们也就只需要在这个范围寻觅就行了。

要深入的理解jvm,还得从java最重要的特性说起,那就是:JVM的平台无关性。

java的特点是平台移植性好,所谓的一次编写到处运行,各种pc上,移动设备,微型设备...当然前提条件是平台上必须有相应的JVM,不同平台上的JVM是不同的,但是在不同的JVM上都有共性,那就是他们都遵循一套相同的指令集,不同的硬件厂商或不同的OS厂商只需要遵循这样一套指令集去实现他们不同平台的JVM,就可以让所有的java程序实现在不同的平台上运行。从编程的角度来看这个问题,我们可以认为这样所有JVM的实现都遵循的一套指令集为“JVM接口”.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值