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

JVM进阶调优系列(10)敢向stop the world喊卡的G1垃圾回收器 | 有必要讲透

一、前言背景 二、什么是G1回收器? 三、为什么需要G1回收器? 四、G1的核心原理 4.1 Region区的出现,让G1的目标成为可能 4.2 G1为何叫做 Garbage First? 五、G1垃圾回收过程详解 5.1 Young GC 5.2 mixed GC 5.3 G1 真的有Full GC吗? 5.4 G...

JVM进阶调优系列(10)敢向stop the world喊卡的G1垃圾回收器 | 有必要讲透
文章 2024-11-25 来自:开发者社区

Elasticsearch集群JVM调优垃圾回收器的选择

在Elasticsearch集群中,Java虚拟机(JVM)的调优对于性能至关重要。Elasticsearch是基于Java开发的,因此其运行效率直接受到JVM设置的影响。JVM的垃圾回收(GC)是调优过程中一个非常重要的方面。选择合适的垃圾回收器可以显著提高Elasticsearch的性能,减少停...

文章 2024-03-29 来自:开发者社区

精华推荐 | 【JVM深层系列】「GC底层调优专题」一文带你彻底加强夯实底层原理之GC垃圾回收技术的分析指南(GC原理透析)

前提介绍 很多小伙伴,都跟我反馈,说自己总是对JVM这一块的学习和认识不够扎实也不够成熟,因为JVM的一些特性以及运作机制总是混淆以及不确定,导致面试和工作实战中出现了很多的纰漏和短板,解决广大小伙伴痛点,我写了本篇文章,希望可以帮助大家夯实基础和锻造JVM技术功底。 什么是垃圾收集(GC) 在JVM领域中GC(Garbage Collection)翻译为 “...

精华推荐 | 【JVM深层系列】「GC底层调优专题」一文带你彻底加强夯实底层原理之GC垃圾回收技术的分析指南(GC原理透析)
文章 2024-01-02 来自:开发者社区

jvm性能调优 - 18白话G1垃圾回收器的工作原理

ParNew + CMS的组合的痛点前几篇文章我们已经彻底把垃圾回收机制给讲清楚了,包括ParNew和CMS两个垃圾回收器对新生代和老年代进行垃圾回收的运行原理,大家都了解的很清楚了。那么我们先来分析一下目前ParNew + CMS带给我们的痛点是什么?Stop the World,这个是大家最痛的一个点! ,还有内存碎片,浮动垃圾等等无论是新生代垃圾回收,还是老年代垃圾回收,都会或多或少产生“....

jvm性能调优 - 18白话G1垃圾回收器的工作原理
文章 2024-01-02 来自:开发者社区

jvm性能调优 - 17案例实战_每日上亿请求量的电商系统 老轻代垃圾回收参数如何优化

Pre上一篇文章我们已经给大家介绍了一个每日百万日活以及上亿请求量的电商系统的案例背景,同时采用这个中型电商系统在大促期间的瞬时高峰下单场景,作为我们的JVM优化分析的一个场景,推测出来在大促高峰期,每秒每台机器会有300个下单请求。进而推测出每秒钟会使用60MB的内存,然后根据这个背景推算出来了我们一台4核8G的机器上,应该如何合理的给JVM各个区域分配内存进而可以保证每隔20多秒一次新生代G....

jvm性能调优 - 17案例实战_每日上亿请求量的电商系统 老轻代垃圾回收参数如何优化
文章 2024-01-02 来自:开发者社区

jvm性能调优 - 16案例实战_每日上亿请求量的电商系统 年轻代垃圾回收参数如何优化

案例背景按照惯例,我们接下来会用案例驱动来带着大家分析到底该如何在特定场景下,预估系统的内存使用模型然后合理优化新生代、老年代、Eden和Survivor各个区域的内存大小,接着再尽量优化参数避免新生代的对象进入老年代,尽量让对象留在新生代里被回收掉。我们这里的背景是电商系统,电商系统其实一般会拆分为很多的子系统独立部署,比如商品系统、订单系统、促销系统、库存系统、仓储系统、会员系统,等等我们这....

jvm性能调优 - 16案例实战_每日上亿请求量的电商系统 年轻代垃圾回收参数如何优化
文章 2024-01-02 来自:开发者社区

jvm性能调优 - 15JVM的老年代垃圾回收器CMS的缺点

Pre上篇文章用一步一图的方式给大家讲清楚了CMS垃圾回收的运行机制简单来说,为了避免长时间“Stop the World”,CMS采用了4个阶段来垃圾回收,其中初始标记和重新标记,耗时很短,虽然会导致“Stop the World”,但是影响不大。然后并发标记和并发清理,两个阶段耗时最长,但是是可以跟系统的工作线程并发运行的,所以对系统没太大影响。这就是CMS的基本工作原理。但是本文要更加深入....

jvm性能调优 - 15JVM的老年代垃圾回收器CMS的缺点
文章 2024-01-02 来自:开发者社区

jvm性能调优 - 14JVM的老年代垃圾回收器CMS原理

Pre本文我们就要进入最核心的老年代垃圾回收环节了,之前的文章大家看过之后对JVM的核心原理都有一定的了解了,年轻代的垃圾回收机制也都很清楚了,其实年轻代的垃圾回收通过复制算法来,还是比较简单的。大家心里最希望的,就是对象都分配在新生代的Eden区,然后每次垃圾回收之后,存活对象都进入Survivor区,然后下一次垃圾回收后的存活对象都进入另外一个Survivor区。这样几乎很少很少的对象会进入....

jvm性能调优 - 14JVM的老年代垃圾回收器CMS原理
文章 2024-01-02 来自:开发者社区

jvm性能调优 - 13JVM的年轻代垃圾回收器ParNew原理

Pre前面的文章已经给大家把整个JVM的核心运行原理全部梳理清楚了,大家现在应该对以下问题非常的清晰明了:对象在新生代分配,然后什么时候会触发Minor GC触发Minor GC之前会如何检查老年代可用内存大小和新生代对象大小,如何检查老年代可用内存大小和历次Minor GC之后升入老年代的平均对象大小什么情况下Minor GC之前会提前触发Full GC,什么情况下会直接触发Minor GCM....

jvm性能调优 - 13JVM的年轻代垃圾回收器ParNew原理
文章 2024-01-02 来自:开发者社区

jvm性能调优 - 09白话新生代垃圾回收算法

Pre上一篇文章我们重新梳理了一下什么时候触发垃圾回收,以及到底哪些对象可以垃圾回收另外,对新生代填满,GC Roots对象,软引用、弱引用,还有finalize()等概念进行了比较细致的梳理。那么这篇文章,我们就来看看在对新生代进行垃圾回收的时候,到底是采取一种什么样的算法进行的呢?复制算法的背景引入针对新生代的垃圾回收算法,他叫做复制算法简单来说,就是如下图所示,首先把新生代的内存分为两块。....

jvm性能调优 - 09白话新生代垃圾回收算法

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

产品推荐

Java开发者

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

+关注