Java 随笔javaJVM

理解JVM(1)- JVM是什么

2017-11-30  本文已影响252人  小鱼爱小虾

日常Java开发过程中,我们经常会提及JVM,那么它究竟是什么呢?


它是什么?

JVM全称Java Virtual Machine(Java虚拟机),是一个虚构出来的计算机,它屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码,ByteCode), 就可以在多种平台上不加修改地运行。这背后其实就是JVM把字节码翻译成具体平台上的机器指令,从而实现“一次编写,到处运行(Write Once, Run Anywhere)”。


它在哪里?


它与JRE/JDK是什么关系?

JDK Components [1]

从上图可以看出:


它只能运行Java语言编写的程序吗?

或许大部分程序员认为JVM仅仅是用来运行Java程序的,其实在Java发展之初,设计者就曾经考虑过让其他语言也能运行在Java虚拟机之上,在1997年发布的第一版Java虚拟机规范《The Java Virtual Machine Specification》中曾提到:

"In the future, we will consider bounded extensions to the Java virtual machine to provide better support for other languages"

当Java虚拟机发展到JDK 1.7 ~ 1.8的时候,这个设想基本实现了。时至今日,除了Java语言之外,已经有一大批语言能运行在Java虚拟机之上。这使得JVM除了能做到平台无关性之外,在语言无关性上也做的越来越好。


可以运行在JVM上的语言

至此,先对JVM有一个简单初步的了解,后续会逐步深入理解它的体系结构。


下一篇:理解JVM(2)- JVM体系结构


  1. 图片来源https://docs.oracle.com/javase/8/docs/

上一篇 下一篇

猜你喜欢

热点阅读