文章 2024-06-28 来自:开发者社区

技术笔记:JVM的垃圾回收机制总结(垃圾收集、回收算法、垃圾回收器)

如果想了解Java内存模型参考:jvm内存模型-和内存分配以及jdk、jre、jvm是什么关系(阿里,美团,京东)相信和小编一样的程序猿们在日常工作或面试当中经常会遇到JVM的垃圾回收问题,有没有在夜深人静的时候详细捋一捋JVM垃圾回收机制中的知识点呢?没时间捋也没关系,因为小编接下来会给你捋一捋。一、 技术背景...

文章 2024-06-26 来自:开发者社区

JVM-内存划分-垃圾回收器-回收算法-双亲委派-三色标记

四、JVM 1.JVM内存结构 虚拟机栈:每次调用方法都会产生一个栈帧,每个栈帧中有方法的参数、局部变量、放出出口等信息,方法执行完成之后释放栈帧,每个线程都有自己的虚拟机栈,是线程私有的 本地方法栈:一些带有 native 关键字的方法就是需要 JAVA 去调用本地的C或者C++方法,因为 JAVA 有时候没法直接和操作系统底层交互,所以需要用到本地方法栈,服务于带 n...

文章 2023-09-06 来自:开发者社区

一文学会JVM垃圾回收器详解:串行回收,新生代内存管理内存分配

新生代内存管理新生代内存管理包含了内存的分配和回收,这与新生代内存布局密切相关。新生代被划分为3个空间:Eden、From和To空间。这3个空间的作用如下:1)Eden:仅用于应用程序对象分配;GC工作线程不会在该空间进行对象分配。2)From:用于GC工作线程在执行垃圾回收时,在前一轮垃圾回收后活跃对象的存储。在特殊情况下,From空间也可以用于应用程序对象的分配(这是JVM在实现对象分配时的....

一文学会JVM垃圾回收器详解:串行回收,新生代内存管理内存分配
文章 2023-09-05 来自:开发者社区

大牛用十年功力带你彻底理解JVM垃圾回收器:ZGC,回收设计

回收设计ZGC的并发回收算法采用的也是“目的空间不变性”的设计,关于目的空间不变性的更多内容可以参考第7章。在第7章中提到,Shenandoah从JDK 13开始也采用“目的空间不变性”的设计。但是ZGC与Shenandoah相比,还是有不少细节并不相同,如表8-3所示。表8-3 Shenandoah和ZGC比较本节主要围绕ZGC算法的特殊点进行介绍。算法概述ZGC基于分区管理,在回收的时候采用....

大牛用十年功力带你彻底理解JVM垃圾回收器:ZGC,回收设计
文章 2023-07-03 来自:开发者社区

【JVM】11. 垃圾回收及回收算法算法(2)

11.2.4. MAT与JProfiler的GC Roots溯源MAT是什么?MAT是Memory Analyzer的简称,它是一款功能强大的Java堆内存分析器。用于查找内存泄漏以及查看内存消耗情况。MAT是基于Eclipse开发的,是一款免费的性能分析工具。大家可以在 http://www.eclipse.org/mat/ 下载并使用MAT获取dump文件方式一:命令行使用 jmap方式二:....

【JVM】11. 垃圾回收及回收算法算法(2)
文章 2023-07-03 来自:开发者社区

【JVM】11. 垃圾回收及回收算法算法(1)

11.1. 垃圾回收概述11.1.1. 什么是垃圾?垃圾收集,不是Java语言的伴生产物。早在1960年,第一门开始使用内存动态分配和垃圾收集技术的Lisp语言诞生。关于垃圾收集有三个经典问题:哪些内存需要回收?什么时候回收?如何回收?垃圾收集机制是Java的招牌能力,极大地提高了开发效率。如今,垃圾收集几乎成为现代语言的标配,即使经过如此长时间的发展,Java的垃圾收集机制仍然在不断的演进中,....

【JVM】11. 垃圾回收及回收算法算法(1)
文章 2023-05-25 来自:开发者社区

【Java虚拟机】JVM垃圾回收机制和常见回收算法原理

1.垃圾回收机制(1)什么是垃圾回收机制(Garbage Collection, 简称GC)指自动管理动态分配的内存空间的机制,自动回收不再使用的内存,以避免内存泄漏和内存溢出的问题最早是在1960年代提出的,程序员需要手动管理内存的分配和释放这往往会导致内存泄漏和内存溢出等问题,同时也增加了程序员的工作量,特别是C++/C语言开发的时候Java语言是最早实现垃圾回收机制的语言之一,其他编程语言....

【Java虚拟机】JVM垃圾回收机制和常见回收算法原理
文章 2023-02-24 来自:开发者社区

JVM垃圾回收器:分代堆内存管理,堆设计+分代边界+回收设计思路

JVM垃圾回收器详解垃圾回收器是JVM中最重要的组件之一,几乎每一个JDK的大版本都对垃圾回收进行重大的更新。另外,由于JDK发布策略的改变,在最近3年的版本发布中,每一个大版本都至少合入一个(甚至数个)关于垃圾回收的JEP。垃圾回收的快速发展主要受两个方面的影响:一方面是现代计算机的配置越来越好,应用实际可使用的内存也越来越多(虽然微服务架构改变了这一现象,但是微服务拆分过多,将导致公共资源消....

文章 2023-02-24 来自:开发者社区

JVM垃圾回收器详解:串行回收新生代内存管理垃圾回收的触发机制

垃圾回收的触发机制在讨论新生代垃圾回收之前,首先要解决的问题就是:谁能触发垃圾回收?何时触发垃圾回收?从垃圾回收的角度来说,既可以进行主动回收,也可以进行被动回收。主动回收指的是GC工作线程发现内存不足时主动发起垃圾回收动作,被动回收指的是Mutator在对象分配的时候发现内存不足,由Mutator触发GC工作线程执行垃圾回收动作。主动进行回收需要额外的处理,判断何时启动垃圾回收,实现比较复杂;....

文章 2023-02-23 来自:开发者社区

还有程序员搞不懂JVM垃圾回收器并发标记清除回收的内存管理?

并发标记清除回收JVM中从JDK 4正式引入并发回收,用于解决垃圾回收过程中停顿时间过长的问题。JVM的垃圾回收器通常采用分代设计,新生代和老生代采用不同的垃圾回收算法,在并发垃圾回收器中,新生代采用并行的复制算法,老生代采用并发的标记清除算法。狭义上所说的并发回收(Concurrent-Mark Sweep,CMS)仅仅指针对老生代的回收,而广义上所说的并发垃圾回收指的是新生代采用并行复制算法....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

Java开发者

Java开发者成长课堂,课程资料学习,实战案例解析,Java工程师必备词汇等你来~

+关注