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大致流程如下图: