Java启蒙之路-Java虚拟机

云计算 虚拟化
Java虚拟机(Java Virtual Machine,JVM)是一个抽象的计算机,和实际的计算机一样,通过模拟仿真来实现计算机功能。Java虚拟机不仅有自己本身的硬件架构,如处理器、堆栈、寄存器,还具有相应的指令系统。

 Java虚拟机概念

Java虚拟机(Java Virtual Machine,JVM)是一个抽象的计算机,和实际的计算机一样,通过模拟仿真来实现计算机功能。Java虚拟机不仅有自己本身的硬件架构,如处理器、堆栈、寄存器,还具有相应的指令系统。

[[328836]]

Java的运行机制

Java的跨平台是它的主要特性之一,而Java虚拟机是实现这一特性的关键。Java程序的整个执行过程包括编译阶段与运行阶段,其中涉及到Java源程序、Java字节码文件、Java类库和Java虚拟机以及最后的平台。

在Java编译阶段,编写的Java源程序(.java)经过Java编译器编译成字节码文件(.class)后并保存起来。

在Java运行阶段,获取到保存的.class字节码文件以及源程序中引用的类库Java API的字节码文件,然后通过类装载器(Class Loader)将这些文件一并装载到内存缓冲区,接着Java虚拟机开始执行这些文件并生成目标代码(字节码)。由于Java虚拟机可以将字节码程序跟具体的操作系统及硬件平台分割开来,只要各平台实现了Java虚拟机,任何Java程序就可以在其上面运行了。

 

Java启蒙之路-Java虚拟机

 

Java程序执行过程

类比理解:《长江七号》

《长江七号》里的那个七仔是外星人,可是它说的话地球人听不懂啊(各国人好比各系统平台,七仔说的话好比Java源文件),然后地球人就想尽办,终于发明了那么一款软件可以跟七仔交流(这个软件就好比Java虚拟机),它的原理是将七仔说的话先使用电磁波谱显示出来(这个过程好比使用Java编译器将Java源文件编译成.class字节码文件),然后地球人(不管美国、英国、中国、韩国等哪国人)只要使用这款软件(这就好比各平台实现了Java虚拟机)把电磁波谱解读出来并智能地翻译成对应国家的母语(这个过程好比Java虚拟机将计算机不能执行的Java程序转换成各平台能识别的二进制),然后地球人就能与七仔交流了。哈哈,是不是很好理解?

 

Java启蒙之路-Java虚拟机

 

Java程序执行简化过程

小结

以上内容是对Java虚拟机进行了一个简单的理解,以后将会深入地理解Java虚拟机运行机制。现在只需理解Java虚拟机在Java程序执行过程中的作用即可。

责任编辑:武晓燕 来源: 今日头条
相关推荐

2010-09-17 15:12:57

JVMJava虚拟机

2018-06-19 15:39:21

HeapJava虚拟机

2011-06-22 13:35:55

JVM

2020-05-08 16:55:48

Java虚拟机JVM

2020-06-03 14:43:26

Java虚拟机JVM

2009-06-12 16:15:42

死锁Java虚拟机

2009-06-12 15:41:01

Java虚拟机

2011-12-28 13:24:47

JavaJVM

2020-06-03 15:07:01

Java虚拟机栈JVM

2009-06-22 14:04:00

2009-06-12 16:02:58

装载Java虚拟机

2012-11-14 09:57:46

JavaJava虚拟机JVM

2012-05-18 10:22:23

2019-03-05 14:59:42

Java虚拟机加载类

2010-09-16 14:29:08

Java虚拟机

2011-12-28 13:38:00

JavaJVM

2010-09-25 15:13:40

JVMJava虚拟机

2010-07-26 09:02:38

2024-03-26 07:30:07

Java虚拟机源文件

2018-02-24 12:54:51

Java虚拟机面试
点赞
收藏

51CTO技术栈公众号