JVM摘要--Heap和Method Area

[b]Heap(堆)[/b]
所有的JVM线程共享一个Heap。 Heap中存放的是所有类的instances和数组。Heap在VM启动时就创建了,堆中的存储空间是由一个自动空间管理系统(也称之为垃圾回收器)来负责回收的;对象从不明确的被释放(Objects are never explicitly deallocated.),JVM没有强调用何种垃圾回收技术。堆的尺寸也可以是固定或者动态增减的。堆中的内存空间不需要连续。堆的初始尺寸,最大最小尺寸值也是可以设定的。
堆中的异常:
如果请求的堆空间大于automatic Storage management system允许的范围,则抛出OutOfMemoryError

[b]Method Area(方法区)[/b]
JVM中含有一个在多个JVM线程中间共享的方法区,方法区是连续存放的。
在方法区中存放着每个类的结构信息,包括运行时的常量池(constant pool),类属性和方法数据,以及这些方法的代码和构造函数(包括实例初始化接口初始化和类中会用到的专用方法)。
方法区也是在VM启动后就创建了。尽管方法区逻辑上属于Heap的一部分,但一般不用GC去回收或压缩它的空间。JVM的规范中也没有明确规定方法区的位置或者用于管理编译后代码的具体策略。方法区的尺寸大小也是可固定,可缩放的。
同Heap的异常一样,方法区的异常也是OutOfMemoryError。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值