17.jvm内存结构部分——堆

        前面讲述的程序计数器,虚拟机栈,本地方法栈它们都有一个共同的特点,它们都是线程私有的,而从我们现在开始讲解的堆以及后面的方法区,它们可以看成是线程共享的区。

我们来看看它的定义

它的英文叫做Heap堆 
我们通过new关键字创建的堆对象,都会使用堆的内存。
它有两大特点
        第一它是线程共享的,所以堆中的对象都需要考虑线程安全的问题,以前我们说的虚拟机栈,它中的局部变量都是线程私有的,只要它的局部变量不逃逸出方法的作用范围,那么它就是线程安全的,但是我们的堆则不一样,因为我们堆中的对象,都是要考虑线程安全的,因为它们都是线程共享的。当然也有例外,后面讲解。

        第二个特点堆里面有一个垃圾回收机制,也就是堆中不再被引用的对象,就会当成垃圾进行回收,以释放空闲的内存,不至于内存被创建的对象给撑爆。

        这就是堆的两个特点


 

上一篇:16.jvm内存结构部分——本地方法栈_tgbyhn31的博客-CSDN博客

下一篇:18.jvm内存结构部分——堆_内存溢出_tgbyhn31的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值