从五大部落到遇到根的迷,在内存里面已经有些日子了。

前两天遇到了各种法师,专门回收死亡的对象。。。只看法师口中默念¥¥$$7&&.

就看一道金光从根出发遍及各个相连的对象。。。。

然后使出所谓的三板斧:对于不同部分的堆数据使用不同的技法

第一招叫做标记清除大法:

这招使出之后运行着的线程都暂停了,开始迅速标记存活的对象,然后瞬间粉碎和根不能到达的地方的对象,不过这一招威力不太行

第二招叫做复制大法:

首先将内存一分为二,然后开始将根能到达的对象,整齐的复制到另一半没有使用过得地方。然后一次性消灭开始使用的内存。

第三招叫做标记整理大法:

先标记所有存活对象,然后把对象按照内存地址次序依次排列,然后一次性将末端以后的内存中对象消灭

现在想想抱紧根这条大腿还正是好使。。。。不然就被灭了!!

JVM历险记第三章:遇到了回收大法师相关推荐

  1. 【JVM】第三章 垃圾收集机制

    第三章 垃圾收集机制 文章目录 第三章 垃圾收集机制 一.垃圾标记算法 1.引用计数算法 2.根可达性分析算法 二.垃圾收集算法 1.标记 - 清除算法 2.复制算法 3.标记 - 压缩算法 4.对比 ...

  2. 第三章 JVM内存回收区域+对象存活的判断+引用类型+垃圾回收线程

    注意:本文主要参考自<深入理解Java虚拟机(第二版)> 说明:查看本文之前,推荐先知道JVM内存结构,见<第一章 JVM内存结构> 1.内存回收的区域 堆:这是GC的主要区域 ...

  3. JVM(三)GC垃圾回收以及四种GC算法

    JVM(三) 学习视频链接,以示尊重:https://www.bilibili.com/video/BV1iJ411d7jS?p=4 图片来源:https://blog.csdn.net/weixin ...

  4. 【深入理解Java虚拟机学习笔记】第三章 垃圾收集器与内存分配策略

    最近想好好复习一下java虚拟机,我想通过深读 [理解Java虚拟机 jvm 高级特性与最佳实践] (作者 周志明) 并且通过写一些博客总结来将该书读薄读透,这里文章内容仅仅是个人阅读后简短总结,加强 ...

  5. 第 13 章 一 垃圾回收概述

    第 13 章 垃圾回收概述 1.垃圾收集面试题 回顾 JVM 学习路线 关于垃圾收集 Java 和 C++语言的区别,就在于垃圾收集技术和内存动态分配上,C语言没有垃圾收集技术,需要我们手动的收集. ...

  6. 细说JVM系列:自动内存管理内存回收:垃圾收集理论-垃圾收集算法

    垃圾收集理论-垃圾收集算法 这里主要讲解垃圾收集理论上的算法,下一篇会介绍一些实现了这些算法的垃圾收集器. 一般我们谈垃圾收集从三个问题来帮你理解jvm的垃圾收集策略: 1.怎么判断哪些内存是垃圾? ...

  7. 第三章 垃圾收集器与内存分配策略

    第三章 垃圾收集器与内存分配策略 前言: 3.1 概述 3.2 对象已死? 3.2.1 引用计数算法 3.2.2 可达性分析算法 3.2.3 再谈引用,四种引用类型 3.2.4 生存还是死亡 3.3 ...

  8. 深入理解java虚拟机gc_jvm GC收集器与内存分配(深入理解java虚拟机第三章)

    jvm GC收集器与内存分配(深入理解java虚拟机第三章) 本篇是<深入理解java虚拟机第三章>的笔记记录. 一 为什么要关注GC和内存分配? 需要排查各种内存溢出.内存泄漏问题时,或 ...

  9. 【第三章:Java开发岗:Redis篇】

    点击:[第一章:Java开发岗:基础篇] HashMap.Synchronized.ThreadLocal.AQS.线程池.JVM内存模型.内存屏障.class文件结构.类加载 机制.双亲委派.垃圾回 ...

最新文章

  1. DCN-s4600 跨vlan访问
  2. Java取当前时间,深夜思考
  3. Spring Boot下Druid连接池的使用配置分析
  4. 软件需求与分析极简总结
  5. MYSQL和JAVA(课堂笔记)
  6. php ?redis,PHP使用Redis存储Session
  7. 如何封装Spring bean
  8. java写一个99到0_Java中一个普通的循环为何从10开始到99连续相乘会得到0?
  9. 信号与槽是如何实现的_铺天盖地的吐槽,结果却是卖到断货?iPhone12魅力何在?...
  10. c++ qml 数组_【QML与C++混合编程】用QVariantList传递数组类型成员
  11. Serializable 接口与 Java 序列化与反序列化
  12. 通过TXT文件批量生成PDF417码
  13. 计算机基础知识2003,计算机基础知识PPT2003练习题及答案(DOC)
  14. python中heading_python如何抓取几个csv的heading并存在excel里?
  15. PNETLAB模拟器汉化使用
  16. 【“科大讯飞杯”第十七届同济大学】A 张老师和菜哭武的游戏
  17. 报错:org.springframework.cloud.gateway.support.NotFoundException: Unable to find instance for localhos
  18. 洛谷P2437 蜜蜂路线
  19. 佳博/芯桦打票机对接(含USB和网口)
  20. Centos7防火墙常用操作打开关闭端口

热门文章

  1. 2055 到淄博旅游
  2. 如何更改html的默认应用,win10更改默认打开程序设置方法_win10怎么更改应用默认打开方式-win7之家...
  3. 中芯国际二零一八年第三季度业绩公布
  4. 7-14 电话聊天狂人 (25分)
  5. 常见的硬件数据通信协议
  6. 0~6岁儿童不同时期微量元素含量的结果分析
  7. 互联网老兵:第一代程序员简晶 最老站长华军
  8. eggjs 怎么使用 egg-jwt 实现 token 解析?
  9. php --interface接口的使用方法
  10. acwing 3548.双端队列