tag gc

標籤
貢獻19
68
12:49 PM · Nov 03 ,2025

@gc / 博客 RSS 訂閱

阿里雲開發者 - 從 JDK 9 到 19,我們幫您提煉了和雲原生場景有關的能力列表(上)

在 JDK 9 之前,Java 基本上平均每三年出一個版本。但是自從 2017 年 9 月分推出 JDK9 到現在,Java 開始了瘋狂更新的模式,基本上保持了每年兩個大版本的節奏。從 2017 年至今,已經發布了 十一個版本到了 JDK 19。其中包括了兩個 LTS 版本(JDK11 與 JDK17)。除了版本更新節奏明顯加快之外,JDK 也圍繞着雲原生場景的能力,推出並增強了一系列諸如容器內資

JDK , gc , ltsb , JAVA , 雲原生

收藏 評論

阿東 - 【Java】GC 日誌 - 用户、系統、真實 - 使用時間

引言 如標題所言,本文介紹JVM的三個時間如何區分,用户時間,系統時間和真實時間的區別是什麼。 Source GC Logging – user, sys, real – which time to use? Gandhi In the Garbage Collection log file, 3 types of time are reported for every single GC ev

jvm , gc , JAVA

收藏 評論

扣釘日記 - 記一次使用gdb診斷gc問題全過程

原創:扣釘日記(微信公眾號ID:codelogs),歡迎分享,轉載請保留出處。 簡介 上次解決了GC長耗時問題後,系統果然平穩了許多,這是之前的文章《GC耗時高,原因竟是服務流量小?》 然而,過了一段時間,我檢查GC日誌時,又發現了一個GC問題,如下: 從這個圖中可以發現,我們GC有一些尖峯,有時會突然有大量的內存分配。 查看GC日誌,發現有大對象分配的記錄,如下: $ gre

gdb , jvm調優 , gc , Linux

收藏 評論

異常君 - Java 10 深度剖析:核心特性與實戰應用全解析

大家好!今天我要和大家分享 Java 10 中引入的重要特性。作為 2018 年 3 月發佈的短期支持版本,Java 10 雖然只有 6 個月的支持週期,但它引入了一些非常實用的新功能,特別是備受歡迎的局部變量類型推斷。下面我們將深入探討這些特性,並通過實際案例來展示它們的應用價值。 1. 局部變量類型推斷 (JEP 286) Java 10 最引人注目的特性當屬局部變量類型推斷,它允許我們使用v

java10 , optional , gc , JAVA

收藏 評論

kimmking - OpenJDK11推薦使用G1而不是ZGC的4個原因 - 知乎

OpenJDK11下,目前不建議使用ZGC,主推G1,主要是基於幾個考慮: 1)ZGC時Java進程佔用三倍內存問題:由於ZGC着色指針把內存空間映射了3個虛擬地址,使得TOP/PS等命令查看佔用內存時看到Java進程佔用內存過大。此問題不影響操作系統,但是會影響到監控運維工具,需要注意。。 參考以下材料: ZGC最大堆大小超過物理內存:https://www.it1352.com/22819

g1gc , jvm , gc , openjdk-11

收藏 評論

簡放視野 - 【G1GC調優】應用minor GC頻繁,major GC偶發,容器重啓

三步走:認識問題,分析問題,解決問題 一、認識問題 【業務背景】某個Java業務應用,所有容器實例minor GC頻繁,major GC偶發,每天重啓一次。 現象是業務每隔30分鐘會從商品域拉取全量商品和SKU數據,更新到緩存中。業務側短期內不好解決這個 二、分析問題 JVM參數配置 【調優前】2GB內存,使用G1GC,最大元數據空間大小是512MB -Xms2048m -Xmx2048m

垃圾收集 , gc , 垃圾回收 , JAVA

收藏 評論

京東雲開發者 - G1垃圾回收參數調優及MySQL虛引用造成GC時間過長分析 | 京東雲技術團隊

1. 背景 我方有一應用,偶爾會出現GC時間過長(間隔約4小時),導致性能波動的問題(接口最長需要耗時3秒以上)。經排查為G1垃圾回收器參數配置不當 疊加 MySQL 鏈接超過閒置時間回收,產生大量的虛引用,導致G1在執行老年代混合GC,標記階段耗時過長導致。以下為對此問題的分析及問題總結。 此外,此應用因為使用redis緩存為數據庫緩存一段時間的熱點數據,導致業務起量創建數據庫鏈接後,會很容易被

g1gc , MySQL , gc , 數據庫

收藏 評論

京東雲開發者 - CGLIB動態代理對象GC問題排查 | 京東雲技術團隊

一、問題是怎麼發現的 最近有個新系統開發完成後要上線,由於系統調用量很大,所以先對核心接口進行了一次壓力測試,由於核心接口中基本上只有純內存運算,所以預估核心接口的壓測QPS能夠達到上千。 壓測容器配置:4C8G 先從10個併發開始進行發壓,結果cpu一下就飆升到了100%,但是核心接口的qps才200左右。於是觀察jvm的垃圾回收發現younggc很頻繁,但是fullGC數量為零。 二、排查問題

cglib , gc , 動態代理 , JAVA

收藏 評論

京東雲開發者 - JDK 17 營銷初體驗 —— 亞毫秒停頓 ZGC 落地實踐 | 京東雲技術團隊

前言 自 2014 年發佈以來, JDK 8 一直都是相當熱門的 JDK 版本。其原因就是對底層數據結構、JVM 性能以及開發體驗做了重大升級,得到了開發人員的認可。但距離 JDK 8 發佈已經過去了 9 年,那麼這 9 年的時間,JDK 做了哪些升級?是否有新的重大特性值得我們嘗試?能否解決一些我們現在苦惱的問題?帶着這份疑問,我們進行了 JDK 版本的調研與嘗試。 新特性一覽 現如今的 JDK

jdk17 , gc , JAVA , 後端

收藏 評論

愛跑步的獼猴桃 - Java學習筆記(8)JVM垃圾回收

垃圾標記 是垃圾回收的第一階段,也是垃圾回收算法中關鍵的一步。它的主要目的是通過遍歷內存中存活的對象,來標記哪些對象仍是可達的(即活躍的),哪些對象是不可達的(既可以被垃圾回收)。 標記的結果,將作為下一步(清理,壓縮)的依據,確定哪些對象需要被釋放或者移動 垃圾回收策略 引用計數法 原理: 每個對象維護一個 引用計數器,用於記錄該對象被引用的次數。 當對象被創建或被引用時,計數器增加

jvm , gc , JAVA

收藏 評論