JVM 内存模型一篇吃透

1.结构

2.各部分介绍

 3.栈管运行,堆管存储

 

  

package com.jvm;

public class StackDemo {

    public static void testStack(){
        testStack();
    }

    public static void main(String[] args) {
        testStack();
        System.out.println("***i am method main...");
    }
}

 

 

 一个方法既一个栈帧

4.JVM优化

 

jvm主要优化堆

 

4.1 java堆

 

4.2 新生区 

 

 

4.2 养老区

 

 

4.3 永久区

 

  

 5. 内存划分

 

 

 

 

 

 6. GC垃圾回收 

 

 

 

7.GC是什么

 

频繁收集Yong区

较少收集Old区

基本不动Perm区

 

 

8.算法-复制算法

 

1.复制算法MinorGC(普通GC)

 

新生代使用的是MinorGC这种GC算法使用的是复制算法(Copying)

2. 原理

 

 

 

 注意:黄色的代表要死的对象,红色表示收不掉的对象,绿色表示仅存的剩余空间

 

 

 

 3.优缺点

优点:不会产生内存碎片完整度极高

缺点: 浪费了10%的内存空间,总要留10%为 to 区

 

9.算法-标记清除/标记整理算法(Full GC)MajorGC

老年代一般是由标记清除或者标记清除与标记整理的混合实现   

 

1.标记清除

 

 优缺点

 

 

2.标记整理 

 

优点:不浪费空间 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值