JDK、JRE、JVM之间的关系----->(浅谈)

旧街凉风 提交于 2020-10-05 11:38:35

什么是JVM?它存在什么地方?

JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。

对于我们Java程序员,说白了就是:

  • JVM本质上是一个程序, 它能识别.class 字节码文件(里面存放的是我们对.java编译后产生的二进制代码),并且能够解析它的指令,最终调用操作系统上的函数,完成我们想要的操作!
  • 关于Java语言的跨平台性,就是因为JVM,我们可以将其想象为一个抽象层,只要这个抽象层JVM正确执行了.class文件,就能运行在各种操作系统之上了!这就是一次编译,多次运行

对于JVM的位置: JVM是运行在操作系统之上的,它与硬件没有直接的交互

JDK、JRE、JVM的关系

JDK(Java Development Kit):Java开发工具包(Java开发环境)

JRE(Java Runtime Environment):Java运行环境

JDK = JRE + javac/java/jar 等指令工具

JRE = JVM + Java基本类库

3、JVM体系结构

Java虚拟机主要分为五大模块:

  • 类装载器子系统
  • 运行时数据区
  • 执行引擎
  • 本地方法接口
  • 垃圾收集模块

  • 方法区是一种特殊的堆
  • 栈里面不会有垃圾,用完就弹出了(调用方法将在栈中开辟内存,称为入栈,方法调用完成,栈内存立即释放,称出栈(弹栈)),否则阻塞了main方法
  • 垃圾几乎都在堆里,所以JVM性能调优%99都针对于堆

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!