JVM 学习整理

JVM

基本介绍

概念

JVM的全称 Java Virtual Machine,JVM负责把java文件进行编译并且根据不同版本最终解释平台可以执行的机器指令,交给系统执行。

JVM也是有不同的版本,有很多不同的实现Sun/OracleJDK和OpenJDK中的默认实现是HotSpot虚拟机。

java程序过程
image-20210415222951991

JVM内存区域

Java虚拟机执行java程序的的时候会对内存区域进行划分数据区域,为了提高程序执行效率,JVM虚拟机对程序解释执行的时候会对类的属性进行分区域保存(静态常量、类、程序运行时变量和字符串对象)等的内存进行分配。

image-20210415222951991

虚拟机栈:执行自定的方法。

本地方法栈:执行本地方法。

堆/方法区:不同的版本也是有所差异。

  • 1.6:有永久代,静态变量放在永久代。
  • 1.7:有永久代,但是字符串、静态变量放在堆上减少永久代使用。
  • 1.8:无永久代,运行时常量池、类常量池,都保存在元数据区(元空间),但是字符串常量池仍在堆上。
image-20210415225330953
posted @ 2022-01-09 16:46  墨水梦想  阅读(78)  评论(0)    收藏  举报