JVM java虚拟机-Java内存区域

Jdk8之后的内存分区

JVM java虚拟机-Java内存区域_第1张图片

Jdk8之前的内存分区

JVM java虚拟机-Java内存区域_第2张图片

程序计数器

1.可以看做当前线程执行字节码的行号指示器,用于控制java字节码执行到第几行。
2.每个线程都有一个独立的程序计数器,从而实现切换线程后能恢复到正确的位置执行

虚拟机栈

1.生命周期与线程相同
2.主要存放对象引用与基本数据类型

本地方法栈

为虚拟机的native方法服务

Java堆

存放对象实例

方法区

1.是各个线程共享的区域
2.存放类信息,常量,静态变量

修改java内存区域的大小

1.修改java堆内存(xmx最大值,xms最小值): java -Xms512m -Xmx512m
2.修改虚拟机栈大小:java -Xss512
3.修改方法区大小:java -XX:permSize -XX:MaxPermSize

你可能感兴趣的:(JVM,java虚拟机,java,jvm)