堆 栈(转载)

堆栈:必须知道存储在堆栈内所有项的确切生命周期,以便上下移动堆栈指针。


    栈解决程序的运行问题,即程序如何执行;堆解决的是数据存储的问题,即数据放在哪儿。

我们把对象拆开,你会发现,对象的属性其实就是数据,存放在堆中;而对象的行为(方法),就是运行逻辑,放在栈中。


         1. 不要试图与C进行类比,Java中没有指针的概念
         2. 程序 运行永远都是 在栈中进行的,因而参数传递时,只存在基本类型和对象引用的问题。不会直接传对象本身。
因为没有指针,所以它都是进行传值。
 
     Java中,栈的大小通过 -Xss来设置,当栈中存储数据比较多时,需要适当调大这个值,否则会出现java.lang.StackOverflowError异常。常见的出现这个异常的是无法返回的递归,因为此时栈中保存的信息都是方法返回的记录点。




JVM调优




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值