简述GC

作者: 探索的码易 | 来源:发表于2020-04-23 10:42 被阅读0次

垃圾回收机制;
在堆内存的有没有被引用的对象的时候就会被被触发回收;除了jvm自动回收之外(内存不足自动回收),也可通过 System.gc();
gc的自动回收机制是有前提的(正在被使用,或者随时被使用):
- 活跃的线程
- 正在使用的对象
- 静态的常量
- native 持有的jni 对象

所以我们经常遇到的内存泄漏其实就是短生命周期持有了长生命的对象,使其长久占用内存

为了更合理的使用内存Java 为我们提供了方便标记的对象:

  • 强引用(Strong Reference) gc 不会回收
  • 软引用(Soft Reference) gc 当内存不足时回收
  • 弱引用(Weak Reference) gc 遍历遇到到的时候会回收
  • 虚引用(Phantom Reference) 基本不使用

gc 算法(不同厂的虚拟机的算法不同)

标记算法:标记不未使用的对象然后删除

复制算法:把引用对象copyWrite 新的区域然后删除老的内存的无用对象;

了两者的区别是,标记操作频率高浪费cpu运算次数,复制是占用更大的内存,需要因地制宜,没有哪个更好,世界上没有完美的代码,完美的是使用他的人

相关文章

  • 简述GC

    垃圾回收机制;在堆内存的有没有被引用的对象的时候就会被被触发回收;除了jvm自动回收之外(内存不足自动回收),也可...

  • 简述JVM、GC

    原文来源于:简述JVM、GC自己编写于:,先转移到“简书”。

  • finalize方法相关

    finalize原理简述 当一个对象变成(GC Roots)不可达时,GC会判断对象是否覆盖了finalize方法...

  • GC Day0816

    简述GC(垃圾回收)产生的原因,如何避免? GC:回收堆上的内存 避免: 1.减少new产生对象的次数 2.使用公...

  • 你对JVM垃圾收集器了解多少?面试官夺命13问谁碰谁不迷糊啊!

    目录 1、简述Java垃圾回收机制 2、GC是什么?为什么要GC 3、垃圾回收的优点和原理。并考虑2种回收机制 4...

  • 面试官:你对JVM垃圾收集器了解吗?13连问你是否抗的住!

    关于JVM垃圾收集器的面试题 1、简述Java垃圾回收机制 2、GC是什么?为什么要GC 3、垃圾回收的优点和原理...

  • GC的常用算法简述

    前言 最近被问到常用语言的GC原理,由于之前没有这么深入的探究,趁此机会做一个简单的总结。 至于为啥要了解GC,是...

  • 四大引用

    一、 GC回收日志打印基本设置 启动设置: 日志各个字段含义简述: 二、了解其概念及其区别 我们在实际开发中,往往...

  • 极客时间《架构师训练营》第九周课后作业

    作业一 请简述 JVM 垃圾回收原理 垃圾回收就是清除 JVM 堆内不再被引用的对象。 可达性分析 从GC Roo...

  • Go面试题

    1、简述 Go 语言GC(垃圾回收)的工作原理 Go1.3采用标记清除法, Go1.5采用三色标记法,Go1.8采...

网友评论

      本文标题:简述GC

      本文链接:https://www.haomeiwen.com/subject/ltvwihtx.html