JVM内存模型

本文详细介绍了JVM内存模型的五个区域:栈、堆、方法区(元空间)、本地方法栈和程序计数器。栈与本地方法栈、程序计数器为线程私有,而堆和方法区全局共享。栈中保存栈帧,堆存储对象实例,方法区存储类信息。程序计数器记录线程执行的字节码地址。通过对栈和堆的分析,解释了为何方法内修改不会影响外部值,以及垃圾回收机制的重要性。
摘要由CSDN通过智能技术生成

JVM的内存模型主要分为五个区域:栈(jvm栈)、堆、本地方法栈、程序计数器、方法区(元空间)
其中栈与本地方法栈和程序计数器是线程私有的,而堆区和方法区是全局共享的。

程序计数器:用于保存当前线程的行号。

本地方法栈:用于对JVM所需要的方法提供支持。

JVM栈: 用于保存栈帧。 每当方法被调用时,都会产生一个栈帧用于保存局部变量表、操作数栈等。

方法区:用于保存已经被JVM加载了的类的信息、常量以及静态变量。运行时常量池也在方法。

堆:用于保存所有对象的实例以及数组。物理内存上并不连续。

public class Main{
   
	public static void main(String[] args){
   
		int a = 10;
		new Main().funcl(a);
		System.out.println(a);
	}
	public void funcl(int a){
   //运行过程中拿到参数a,在栈的底部便会把a赋值为10;
		int b = 10;//在a的底部会把b赋值为10;
		System.out.println(a + b);
		a = 11;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值