其他分享
首页 > 其他分享> > jvm的简介

jvm的简介

作者:互联网

什么是jvm?

        java虚拟机就是二进制字节码的运行环境。我们可以把jvm看做是运行在不同系统上的一个软件应用的计算机,就比如说我们要打开图片,就得用看图软件,或者我们要对文件进行解压,是不是得用解压软件。就可以把它看出是一个软件,但是它是虚拟的,而且它是不与硬件是直接交互。

 

 

 

 

 

 

 

jvm是干啥的?

        Java虚拟机中的Java解释器负责将字节码文件解释成为特定的机器码进行运行。因此在运行时,Java源程序需要通过编译器编译成为.class文件。jvm 只对字节码负责,就像函数式的关系,他不用关心是有什么语言编译的,只关心,编译后的字节码是否符合JVM 的规定,任何语言编译后的字节码文件只要符合jvm标准,然后都是可以在jvm上运行

 

 

虚拟机的作用

       Java虚拟机就是二进制字节码的运行环境,负责装载字节码到其内部,解释/编译为对应平台上的机器指令执行。每一条Java指令,Java虚拟机规范中都有详细定义,如怎么取操作数,怎么处理操作数,处理结果放在哪里。这个也就是java跨平台性的根本原因。

特点:

    1,一次编译,到处运行

    2,自动内存管理

    3,自动垃圾回收功能

虚拟机的历史

现在流行的三大虚拟机:

我们平时所说的就是Hotsprot虚拟机

 

jvm的架构模型

Java编译器输入的指令流基木上是一种基于栈的指令集架构,另外一种指令集架构则是基于寄存器的指令集架构。

 

  基于栈式架构的特点

总结:

       由于跨平台性的设计,Java的指令都是根据栈来设计的。不同平台CPU架构不同,所以不能设计为基于寄存器的。优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同样的功能需要更多的指令。

 

jvm的生命周期

  虚拟机的启动:

   Java虚拟机的启动是通过引导类加载器(bootstrap class loader)创建一个初始类(initial class)来完成的,这个类是由虚拟机的具体实现指定的。

 

虚拟机的执行

jvm的内存模型:

 

 

 

 

如果对jvm内存模型不太了解可以参考文章:java内存区域模型和详解 - 古渡蓝按 - 博客园 (cnblogs.com)

标签:Java,字节,简介,虚拟机,jvm,架构,指令集
来源: https://www.cnblogs.com/blbl-blog/p/16243773.html