什么是JVM

定义

  1. jvmjava程序的运行环境的一部分,也是最重要的一部分,它与操作系统直接交互,而操作系统能够操作计算机硬件,所以jvm能间接的操作计算机硬件。java代码通过编译器将其编译成字节码文件,jvm通过加载字节码文件,然后进行运行内存的申请与字节码文件中指令的解释,达到java程序运行的目的。

特性

  1. 跨平台。Java语言最重要的特点就是跨平台运行,使用JVM就是为了支持与操作系统无关,实现跨平台。
  2. 垃圾回收。Java程序员不需要再去考虑内存管理的问题,可以更专注于自身业务的实现。

    组成

  3. 类加载器子系统

  4. 运行时数据区
  5. 执行引擎

    jdk、jre、jvm是什么关系

  6. JRE(Java Runtime Environment),也就是java平台。所有的java程序都要在JRE环境下才能运行。

  7. JDK(Java Development Kit),是开发者用来编译、调试程序用的开发包。JDK也是JAVA程序需要在JRE上运行。
  8. JVM(Java Virtual Machine),是JRE的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。

JVM详解 - 图1