JVM垃圾回收机制的原理

1.垃圾回收的意义:JVM 的垃圾回收机制这里称GC。java语言不需要像c++那样需要自己申请内存,自己释放内存,这些都是JVM帮我们做好了的,不定时进行回收,不至于电脑运行卡死。

     2.了解一下JVM内存运行时数据区

堆:放new出来的对象,是全局共享的。

栈:存储基本数据类型,以及对象的引用,私有线程,入口方法main。

方法区:在class被加载后的一些信息 如常量,静态常量这些被放在这里,将它称之为永久代。

程序计数器:切换线程,用来计时。

线程:他可以有多个线程。

3.GC如何发现垃圾

3.1引用计数法:漏掉循环引用的对象          3.2.根搜索算法

4.GC如何清除垃圾

4.1.标记清除算法:内存碎片多

4.2    分段复制算法

4.2.1 分代收集算法1:分新生代,老年代,永久代

4.2.2 分代收集算法2

5.内存泄漏:本该被回收的内存被遗漏了,一直占用。(静态东西不会回收,系统一直卡,一直卡)

6.内存溢出 :分配给进程内存满了
        6.1.堆内存溢出:OutOfMemoryError: Java heap space

        6.2.方法区(永久代)溢出:OutOfMemoryError: Metaspace
        6.3.栈内存溢出:StackOverflowError

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值