美文网首页
什么是java虚拟机

什么是java虚拟机

作者: 叫我小张就好_7d8e | 来源:发表于2019-01-28 14:10 被阅读0次

    一,java虚拟机的疑问

    对于 java 虚拟机我们并不陌生,但是不知道有多人对于java虚拟机的基本概念很清楚,到底什么是java虚拟机? 为什么虚拟机有那么多种? java虚拟机和jdk之间有什么关系?java运行与平台无关的原因与jvm 有关 又是为什么呢?好吧,我对于这些问题一直处于模糊的状态,现在就来整理一下。

    二,百度解答

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

    概念很难以理解。

    三,我的回答

    1. 首先,理解一下JDK,JDK是用于支持java应用开发的最小环境。JVM 就是JDK的一部分。
    2. JVM通俗来说就是一个程序,操作系统角度来看,当它运行起来就是一个进程。我们通常 用命令 java 来启动一个程序,当它运行起来后就是一个进程,然而更准确的说就是 一个JVM进程。总结,我们平时所说的 启动一个java程序,其本质就是一个 java虚拟机进程。
    3. JVM是执行字节码文件(.class)的虚拟进程

    四,总结

    我的一些问题:

    1. JVM 和 JDK 和 JRE 的关系
      JDK 包括 JRE, JRE 包括 JVM
    2. 为什么java被称为平台无关的编程语言
      不同平台会装有不同的虚拟机,它们能够将相同的.class文件,解释成不同平台所需要的机器码。正是因为有JVM的存在,java被称为平台无关的编程语言。
    3. 为什么虚拟机的种类有那么多种
      JAVA虚拟机规范是一种对JAVA虚拟机实现的规范要求,是由oracle制定的,而我们平时常说的JAVA虚拟机一般是指的一种具体的JAVA虚拟机规范的实现。比如我们最经常使用的JAVA虚拟机hotspot,其实JAVA虚拟机还有很多种实现,甚至如果你对JAVA虚拟机规范有了深入的了解而且对此有兴趣的话,可以写一个自己的JAVA虚拟机

    相关文章

      网友评论

          本文标题:什么是java虚拟机

          本文链接:https://www.haomeiwen.com/subject/egaojqtx.html