JVM系列(一):初识JVM
一、JVM是什么?
JVM即Java Virtual Machine(Java虚拟机),是一个虚构出来的计算机,可以类比linux。可以在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
二、JVM的发展历史?
- 2010年,Oracle收购了sun,获得了hotshot虚拟机,加上本身的JRockit虚拟机占据了绝大多数虚拟机市场
- 2011年,JDK7发布,启用了新的垃圾回收器G1
- 2018年,JKD11发布,LTS版本发布了革命性的ZGC
- 2019年,JKD12发布,加入RedHat发布的shennadora GC
注:本机
三、JVM的作用与特点
- 作用
JVM是二进制字节码的运行环境,将字节码解释/编译到对应平台的机器指令执行 - 特点
一次编译,到处运行
自动管理内存
自动垃圾回收
四、JVM的生命周期
- 启动
JVM的启动时通过引导类加载器创建一个初始类来完成的 - 执行
执行的一个所谓的Java程序的时候,真真正正执行的是一个叫做java虚拟机的进程 - 退出
程序正常执行结束
程序在执行过程中遇到异常或错误导致异常终止
操作系统出错导致Java虚拟机进程终止
Java安全管理器允许的调用Runtime或System类的exit/halt方法