GC与Java内存
文章平均质量分 95
hashcon
做自媒体技术分享很久了,大家的抬爱与支持让我很开心很感激,但是个人本来做这些也并不是为了收益,只是为了个人学习与传播知识帮助更多的人,所以我将全网所有账号全部收益,持续捐给各种公益项目,也算不辜负大家的抬爱,也是回报祖国对我的一番培养。
曾任职于顺丰,华为,网易等公司,从Java小白,成长为资深开发与项目组首席架构师。喜欢源码与开源,曾贡献 MyCat1.6 核心源码,贡献过druid,Spring Cloud,dubbox,Apache RocketMQ,Apache Bookeeper 等多开源项目。
展开
-
JVM相关 - 深入理解 System.gc()
本文基于 Java 17-ea,但是相关设计在 Java 11 之后是大致一样的我们经常在面试中询问 System.gc() 究竟会不会立刻触发 Full GC,网上也有很多人给出了答案,但是这些答案都有些过时了。本文基于最新的 Java 的下一个即将发布的 LTS 版本 Java 17(ea)的源代码,深入解析 System.gc() 背后的故事。为什么需要System.gc()1. 使用并管理堆外内存的框架,需要 Full GC 的机制触发堆外内存回收JVM 的内存,不止堆内存,还有其他很多.原创 2021-02-25 21:49:25 · 26904 阅读 · 0 评论 -
由一次不断GC并耗费过长的时间所想到的工具 - jvmkill与jvmquake
最近发现线上的某个查询微服务,发生了一个奇怪的问题,GC次数突然变多,GC的时间耗费也变多。并不是一直有这个问题,而是每隔一段时间就会报出来的。查看jstat -gcutils 10000:有类似于如下的:S0 S1 E O M CCS YGC YGCT FGC FGCT GCT0.00 100.00 100.0...原创 2019-11-25 17:35:30 · 913 阅读 · 3 评论 -
垃圾收集分析(1)-Java对象结构(上)
GC(Garbage Collection)是目前很多编程语言自带的特性,例如Java,Python;GC是一个很好的特性,能让使用这个语言编程的程序员不去关心内存回收,并且降低内存泄漏和内存溢出发生的概率。 我们以Java语言JVM为例,从其对象结构和JVM运行时内存结构出发,针对其GC算法思路和实现进行分析,同时类比其他GC算法。 首先,在Java 8中,Java对象在内存中结构包括: 1原创 2017-03-24 22:51:36 · 10000 阅读 · 1 评论 -
一次由于YoungGC引起的性能问题分析
问题现象应用用druid连接池,设置慢SQL时间为500ms。在线上应用报了一些但是不多的慢查询日志,并且这个慢查询日志居然是单条插入的语句。后台数据库是MySQL,有查询统计日志监控,并没有发现很慢的插入语句。觉得很奇怪,需要仔细定位下问题定位为了确认问题,搭建压测环境,并在应用和MySQL所在的机器上进行抓包分析。压测开始后,又发现了很多是单条插入语句的慢查询日原创 2018-01-19 12:26:26 · 12707 阅读 · 0 评论