浅谈java中的堆栈

1.在java虚拟机中,运行时的数据区包括:

方法区(Method Area)、虚拟机栈(VM stack)、本地方法栈(Native Stack)、堆(Heap)、程序计数器(PC);

我们在编程过程中,常说的栈和堆指的是:虚拟机栈和堆。(其他的以后会有补充)。


2.栈和堆都是存放在内存中的(RAM),而且,两者都是由JVM来调用的,程序员是无法直接操作的。


3.new出来的对象实例几乎全部是存放在堆中的,new关键字可以理解为是直接调用该类对应的构造方法。


4.栈中一般是存放堆中的引用。

例如: String s = "abc"; //其中,s是指向"abc"的引用,"abc"则放入到堆内存中。 String有些特殊,具体内容以后也会补充!


5.栈中存储的变量一旦其生命周期结束,则立即会被JVM回收,堆中的变量只有在它的引用为null的时候,才有可能被JVM回收。(这也是为什么不能过于依赖JVM回收的原因)。


6.Java堆也称为"GC堆",是jvm管理的主要区域。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值