堆、栈、常量池

本文详细介绍了Java中的不同内存区域,包括寄存器、栈、堆、静态域、常量池和非RAM存储,并解释了方法体中参数传递及对象操作的影响。

一:

1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制.
2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)
3. 堆:存放所有new出来的对象。
4. 静态域:存放静态成员(static定义的)
5. 常量池:存放字符串常量和基本类型常量(public static final)。
6. 非RAM存储:硬盘等永久存储空间

 

二:

 方法体中传递参数或对象到调用方法内,在调用方法内对对象的操作,同样会影响方法体内对象的内的属性,因为它们本质上都是操作同一个对象,改变同一块空间内的属性

转载于:https://www.cnblogs.com/jianyi12/p/5704662.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值