jvm内存分布基础知识

jvm分成5个部分:
虚拟机栈:存放调用java方法的相关数据,如局部变量,返回地址。
本地方法栈:存放调用本地方法的相关数据,如局部变量,返回地址。
程序计数器:存放当前线程运行到哪一行。
堆:存放对象的。只有这个区域才有CG。
直接内存:NIO中的DirectBuffer,直接使用的物理内存,即大小受本机总内存限制。
方法区:存放类信息,静态变量,常量等。
jvm内存模型
堆是垃圾回收的地方,又分成2个部分年轻代和老年代。年轻代又分成2个部分1个Eden区和2个survivor区。 新建的对象会创建在eden区,然后经过垃圾回收后,会移动到其中一个survior区,在下一次回收时,还在存活的对象又都会移动到另外一个survior区,经过15次还存活就会移动到老年代。也就是说同时只有1个survior区是有对象的。
老年代的gc叫major GC,年轻代的GC叫 young GC,全部区域回收叫full gc,这回引起所有正在运行的线程暂停,会导致响应变慢。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值