java堆栈

java的堆和栈都是用来在RAM中存放数据的地方,RAM - random access memory

java的栈(stack)一般都是用来存储原始数据类型的,因为这些类型的值大小和生命周期是可知的,栈的读取速度都比较快。栈的特点是任何字面值实际都只存一份,然后可以有不同的引用来指向它。

java的堆(heap)比栈要慢,是用来存取类对象的。

理解JVM的内存分配和GC主要应该了解JVM堆的数据结构和garbage collector类型。
以及如何评测我们的程序在GC上遇到了瓶颈和如何去解决。

JVM heap是分为三代的young, old, permanent
young中又划分为eden, survivor,space
不同生命周期的对象分别存放在不同的代中,每一次gc,minor gc或者major gc都会把garbage回收,并把存活的对象copy到下一个代中。

理解四种garbage collector, 每种collector的回收算法都不相同,适用于不同的场景。

请参考上一篇博客:
[url]http://shixin42.iteye.com/blog/1680805[/url]

java官方文档:
[url]http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html#ergonomics[/url]
[url]http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值