JVM介绍

1. 简介

jvm是运行java代码的遐想计算机。包含一个堆,一个栈,一个方法区,一个垃圾回收器,字节码指令集,一组寄存器。
jvm它不与硬件直接交换,而是运行在操作系统上,调用C语言命令操作硬件。

1.1 java文件如何到机器码的

先通过编译器变为class文件,class文件在通过虚拟机中的解释器解释成机器码。

  1. java源文件-->编译器-->字节码文件
  2. 字节码文件-->jvm-->机器码
    虽然不同机器的操作系统和硬件是不同的,但他们的虚拟机是相同的,这就是他们为什么可以跨平台的原因。当一个程序从开始运行,这时虚拟机就开始实例化了,多个程序启动就会存在多个虚拟机实例。程序退出或者关闭,则虚拟机实例消亡,多个虚拟机实例之间数据不能共享。

1.2 jvm内存区域分配

线程私有区域:虚拟机栈、本地方法栈、程序计数器
线程共享区:java堆、方法区
直接内存

你可能感兴趣的:(JVM介绍)