《深入理解java虚拟机》---- 运行时内存区域

       在刚刚学ava的时候,只知道栈内存和堆栈内存,很少追究其更进一步的划分,虚拟机对于内存的划分:

       1.程序计数器:    较小的内存空间,当前线程字节码行号指示器,每条线程都有一个独立的程序计数器,为线程私有内存

                                    该区域是一块不存在OutOfMemoryError的区域


       2.java虚拟机栈:为私有内存,同线程生命周期,方法调用的过程就是栈针从入栈到出栈的过程

                                   该区域存在2种异常:stackoverflowError和OutOfMemoryError

      

       3.java本地方法栈:调用本地native方法服务,抛出异常与虚拟机栈一样


      4.java堆:最大的一块内存,而且是共享内存,用来存放对象实例(非绝对的)

                       垃圾收集器主要回收区域,“GC堆”,分代收集算法,新生代和老年代

                       Eden 、From Survivor, To Survivor,线程私有分配缓冲器TLAB

                      大小控制配置: -Xmx   -Xms

                      异常OutOfMemoryError


     5.方法区:线程共享区域,

                      永久代指的是该区域(非绝对永久)

                      垃圾回收器会回收 常量池和对类型的卸载


    6.运行时常量池:方法区一种,具有动态性

    7.直接内存:(非运行区域,非java规范区域)DirectByteBuffer(存储在java堆种)对该内存的引用操作

                             通过 -Xmx                      

      

   


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值