九、垃圾收集器简述

本文介绍了垃圾收集的历史,从Lisp语言的动态内存分配讲起,探讨了垃圾收集的三个核心问题。在Java中,程序计数器、虚拟机栈、本地方法栈的内存管理相对简单,而Java堆和方法区则存在不确定性。理解这些区域的工作原理对于解决内存溢出和泄漏问题至关重要。我们将深入探讨这两部分的内存管理机制。
摘要由CSDN通过智能技术生成

垃圾收集的历史十分的久远,在1960年诞生于麻省理工学院的Lisp是第一门开始使用内存动态分配和垃圾收集技术的语言。当Lisp还在胚胎时期时,其作者John McCarthy就思考过垃圾收集器需要完成主要的三件事:

  • 哪些内存需要回收?
  • 什么时候回收?
  • 如何回收?

现如今的内存分配和内存回收技术已经相当成熟,我们去了解垃圾收集和内存分配主要是为了,当需要排查各种内存溢出、内存泄漏的问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们必须对这些“自动化”的技术实施必要的监控和调节。
回到Java上,前面我们已经了解了Java内存运行时区域的各个部分,其中程序计数器、虚拟机栈、本地方法栈3个区域随线程而生,随线程而亡。我们不需要担心这几块区域的内存如何回收,当方法结束时,内存自然就跟随着回收了。
而Java堆和方法区两块就存在着不确定性。
接下来我们就一起探索这其中的奥秘吧!!!
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值