欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java虚拟机的意义

程序员文章站 2022-05-03 22:58:33
什么是Java虚拟机? 作为程序员,大家都知道写的代码都是在Java虚拟机上运行的,但大家是否知道,Java虚拟机又是什么呢? 先看看网上搜到有关JAVA虚拟机的介绍 : 虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆 ......

什么是java虚拟机?

作为程序员,大家都知道写的代码都是在java虚拟机上运行的,但大家是否知道,java虚拟机又是什么呢?

先看看网上搜到有关java虚拟机的介绍 :

  虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。jvm屏蔽了与具体操作系统平台相关的信息,使得java程序只需生成在java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

jvm虚拟机的意义

学习jvm运行机制,让我们更加了解java的生态,再针对java开发过程中,碰到的并发、多线程、异步处理时,能更加得心应手。

 

jvm一次编译,处处执行

jvm虚拟机是运行在操作系统之中的,那么什么东西才能在操作系统中运行呢?当然是进程,因为进程是操作系统中的执行单位。当它在运行的时候,它就是一个操作系统中的进程实例,当它没有在运行时(作为可执行文件存放于文件系统中),可以把它叫做程序。

jvm屏蔽了与具体操作系统平台相关的信息,使得java程序只需生成在java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

 

jdk、jre

jre:java runtime environment,字如其名,java运行时环境,它主要包含了jvm,java基础类库.是是使用java语言编写的程序运行所需要的软件环境,提供给想要运行java程序的用户.

jdk:java development kit,java开发工具包,java程序员编写java程序时需要的开发工具包.jdk中包含了jre,以及包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具:jconsole,jvisualvm等工具软件,还包含了java程序编写所需的文档和demo例子程序。
 
jvm大致流程如下图:
Java虚拟机的意义