
全网最硬核 OpenJDK 分析
文章平均质量分 92
hashcon
做自媒体技术分享很久了,大家的抬爱与支持让我很开心很感激,但是个人本来做这些也并不是为了收益,只是为了个人学习与传播知识帮助更多的人,所以我将全网所有账号全部收益,持续捐给各种公益项目,也算不辜负大家的抬爱,也是回报祖国对我的一番培养。
曾任职于顺丰,华为,网易等公司,从Java小白,成长为资深开发与项目组首席架构师。喜欢源码与开源,曾贡献 MyCat1.6 核心源码,贡献过druid,Spring Cloud,dubbox,Apache RocketMQ,Apache Bookeeper 等多开源项目。
展开
-
全网最硬核 JVM 内存解析 - 12.元空间各种监控手段
网上有很多关于 JVM 内存结构的分析以及图片,但是由于不是一手的资料亦或是人云亦云导致有很错误,造成了很多误解;并且,这里可能最容易混淆的是一边是 JVM Specification 的定义,一边是 Hotspot JVM 的实际实现,有时候人们一些部分说的是 JVM Specification,一部分说的是 Hotspot 实现,给人一种割裂感与误解。本篇主要从 Hotspot 实现出发,以 Linux x86 环境为主,紧密贴合 JVM 源码并且辅以各种 JVM 工具验证帮助大家理解 JVM 内存的结原创 2023-04-26 07:29:47 · 433 阅读 · 0 评论 -
全网最硬核 JVM 内存解析 - 11.元空间分配与回收流程举例
网上有很多关于 JVM 内存结构的分析以及图片,但是由于不是一手的资料亦或是人云亦云导致有很错误,造成了很多误解;并且,这里可能最容易混淆的是一边是 JVM Specification 的定义,一边是 Hotspot JVM 的实际实现,有时候人们一些部分说的是 JVM Specification,一部分说的是 Hotspot 实现,给人一种割裂感与误解。本篇主要从 Hotspot 实现出发,以 Linux x86 环境为主,紧密贴合 JVM 源码并且辅以各种 JVM 工具验证帮助大家理解 JVM 内存的结原创 2023-04-26 07:28:09 · 470 阅读 · 0 评论 -
全网最硬核 JVM 内存解析 - 9.元空间内存分配流程
网上有很多关于 JVM 内存结构的分析以及图片,但是由于不是一手的资料亦或是人云亦云导致有很错误,造成了很多误解;并且,这里可能最容易混淆的是一边是 JVM Specification 的定义,一边是 Hotspot JVM 的实际实现,有时候人们一些部分说的是 JVM Specification,一部分说的是 Hotspot 实现,给人一种割裂感与误解。本篇主要从 Hotspot 实现出发,以 Linux x86 环境为主,紧密贴合 JVM 源码并且辅以各种 JVM 工具验证帮助大家理解 JVM 内存的结原创 2023-04-26 07:27:16 · 439 阅读 · 0 评论 -
全网最硬核 JVM 内存解析 - 8.元空间的核心概念与设计
网上有很多关于 JVM 内存结构的分析以及图片,但是由于不是一手的资料亦或是人云亦云导致有很错误,造成了很多误解;并且,这里可能最容易混淆的是一边是 JVM Specification 的定义,一边是 Hotspot JVM 的实际实现,有时候人们一些部分说的是 JVM Specification,一部分说的是 Hotspot 实现,给人一种割裂感与误解。本篇主要从 Hotspot 实现出发,以 Linux x86 环境为主,紧密贴合 JVM 源码并且辅以各种 JVM 工具验证帮助大家理解 JVM 内存的结原创 2023-04-26 07:26:16 · 518 阅读 · 0 评论 -
全网最硬核 JVM 内存解析 - 7.元空间存储的元数据
网上有很多关于 JVM 内存结构的分析以及图片,但是由于不是一手的资料亦或是人云亦云导致有很错误,造成了很多误解;并且,这里可能最容易混淆的是一边是 JVM Specification 的定义,一边是 Hotspot JVM 的实际实现,有时候人们一些部分说的是 JVM Specification,一部分说的是 Hotspot 实现,给人一种割裂感与误解。本篇主要从 Hotspot 实现出发,以 Linux x86 环境为主,紧密贴合 JVM 源码并且辅以各种 JVM 工具验证帮助大家理解 JVM 内存的结原创 2023-04-26 07:24:51 · 572 阅读 · 0 评论 -
全网最硬核 JVM 内存解析 - 6.其他 Java 堆内存相关的特殊机制
。网上有很多关于 JVM 内存结构的分析以及图片,但是由于不是一手的资料亦或是人云亦云导致有很错误,造成了很多误解;并且,这里可能最容易混淆的是一边是 JVM Specification 的定义,一边是 Hotspot JVM 的实际实现,有时候人们一些部分说的是 JVM Specification,一部分说的是 Hotspot 实现,给人一种割裂感与误解。本篇主要从 Hotspot 实现出发,以 Linux x86 环境为主,紧密贴合 JVM 源码并且辅以各种 JVM 工具验证帮助大家理解 JVM 内存的原创 2023-04-26 07:24:03 · 340 阅读 · 0 评论 -
全网最硬核 JVM 内存解析 - 5.压缩对象指针相关机制
。网上有很多关于 JVM 内存结构的分析以及图片,但是由于不是一手的资料亦或是人云亦云导致有很错误,造成了很多误解;并且,这里可能最容易混淆的是一边是 JVM Specification 的定义,一边是 Hotspot JVM 的实际实现,有时候人们一些部分说的是 JVM Specification,一部分说的是 Hotspot 实现,给人一种割裂感与误解。本篇主要从 Hotspot 实现出发,以 Linux x86 环境为主,紧密贴合 JVM 源码并且辅以各种 JVM 工具验证帮助大家理解 JVM 内存的原创 2023-04-26 07:22:36 · 534 阅读 · 0 评论 -
全网最硬核 JVM 内存解析 - 4.Java 堆内存大小的确认
网上有很多关于 JVM 内存结构的分析以及图片,但是由于不是一手的资料亦或是人云亦云导致有很错误,造成了很多误解;并且,这里可能最容易混淆的是一边是 JVM Specification 的定义,一边是 Hotspot JVM 的实际实现,有时候人们一些部分说的是 JVM Specification,一部分说的是 Hotspot 实现,给人一种割裂感与误解。本篇主要从 Hotspot 实现出发,以 Linux x86 环境为主,紧密贴合 JVM 源码并且辅以各种 JVM 工具验证帮助大家理解 JVM 内存的结原创 2023-04-26 06:44:44 · 818 阅读 · 2 评论 -
全网最硬核 JVM 内存解析 - 2.JVM 内存申请与使用流程
网上有很多关于 JVM 内存结构的分析以及图片,但是由于不是一手的资料亦或是人云亦云导致有很错误,造成了很多误解;并且,这里可能最容易混淆的是一边是 JVM Specification 的定义,一边是 Hotspot JVM 的实际实现,有时候人们一些部分说的是 JVM Specification,一部分说的是 Hotspot 实现,给人一种割裂感与误解。本篇主要从 Hotspot 实现出发,以 Linux x86 环境为主,紧密贴合 JVM 源码并且辅以各种 JVM 工具验证帮助大家理解 JVM 内存的结原创 2023-04-26 06:42:54 · 691 阅读 · 0 评论 -
全网最硬核 JVM 内存解析 - 1.从 Native Memory Tracking 说起
网上有很多关于 JVM 内存结构的分析以及图片,但是由于不是一手的资料亦或是人云亦云导致有很错误,造成了很多误解;并且,这里可能最容易混淆的是一边是 JVM Specification 的定义,一边是 Hotspot JVM 的实际实现,有时候人们一些部分说的是 JVM Specification,一部分说的是 Hotspot 实现,给人一种割裂感与误解。本篇主要从 Hotspot 实现出发,以 Linux x86 环境为主,紧密贴合 JVM 源码并且辅以各种 JVM 工具验证帮助大家理解 JVM 内存的结原创 2023-04-26 06:41:23 · 1312 阅读 · 0 评论 -
JVM 输出 GC 日志导致 JVM 卡住,我 TM 人傻了
最近,我们升级了 Java 17。后来,我们的 k8s 运维团队为了优化我们的应用日志采集,将我们所有 pod (你可以理解为一个 Java 微服务进程)的 JVM 日志都统一采集到同一个 AWS 的 EFS 服务(EFS 是 Elastic File System 的缩写,弹性块文件存储系统,底层是 NFS + S3 对象存储集群),我们对于 JVM 日志配置包括以下几个:JVM 统一日志配置请参考:https://zhuanlan.zhihu.com/p/111886882在这样做之后,我们的应用出现这原创 2022-06-17 15:21:35 · 709 阅读 · 0 评论 -
通过实例程序验证与优化谈谈网上很多对于Java DCL的一些误解以及为何要理解Java内存模型
个人创作公约:本人声明创作的所有文章皆为自己原创,如果有参考任何文章的地方,会标注出来,如果有疏漏,欢迎大家批判。如果大家发现网上有抄袭本文章的,欢迎举报,并且积极向这个 github 仓库 提交 issue,谢谢支持~本文基于 OpenJDK 11 以上的版本最近爆肝了这系列文章 全网最硬核 Java 新内存模型解析与实验,从底层硬件,往上全面解析了 Java 内存模型设计,并给每个结论都配有了相关的参考的论文以及验证程序,我发现多年来对于 Java 内存模型有很多误解,并且我发现很多很多人都.原创 2022-04-16 10:47:54 · 417 阅读 · 0 评论 -
全网最硬核 Java 新内存模型解析与实验 - 4. Java 新内存访问方式与实验
个人创作公约:本人声明创作的所有文章皆为自己原创,如果有参考任何文章的地方,会标注出来,如果有疏漏,欢迎大家批判。如果大家发现网上有抄袭本文章的,欢迎举报,并且积极向这个 github 仓库 提交 issue,谢谢支持~本篇文章参考了大量文章,文档以及论文,但是这块东西真的很繁杂,我的水平有限,可能理解的也不到位,如有异议欢迎留言提出。本系列会不断更新,结合大家的问题以及这里的错误和疏漏,欢迎大家留言如果你喜欢单篇版,请访问:全网最硬核 Java 新内存模型解析与实验单篇版(不断更新QA中).原创 2022-03-30 22:01:13 · 588 阅读 · 1 评论 -
全网最硬核 Java 新内存模型解析与实验 - 3. 硬核理解内存屏障(CPU+编译器)
个人创作公约:本人声明创作的所有文章皆为自己原创,如果有参考任何文章的地方,会标注出来,如果有疏漏,欢迎大家批判。如果大家发现网上有抄袭本文章的,欢迎举报,并且积极向这个 github 仓库 提交 issue,谢谢支持~本篇文章参考了大量文章,文档以及论文,但是这块东西真的很繁杂,我的水平有限,可能理解的也不到位,如有异议欢迎留言提出。本系列会不断更新,结合大家的问题以及这里的错误和疏漏,欢迎大家留言如果你喜欢单篇版,请访问:全网最硬核 Java 新内存模型解析与实验单篇版(不断更新QA中).原创 2022-03-30 21:59:49 · 1120 阅读 · 0 评论 -
全网最硬核 Java 新内存模型解析与实验 - 2. 原子访问与字分裂
个人创作公约:本人声明创作的所有文章皆为自己原创,如果有参考任何文章的地方,会标注出来,如果有疏漏,欢迎大家批判。如果大家发现网上有抄袭本文章的,欢迎举报,并且积极向这个 github 仓库 提交 issue,谢谢支持~本篇文章参考了大量文章,文档以及论文,但是这块东西真的很繁杂,我的水平有限,可能理解的也不到位,如有异议欢迎留言提出。本系列会不断更新,结合大家的问题以及这里的错误和疏漏,欢迎大家留言如果你喜欢单篇版,请访问:全网最硬核 Java 新内存模型解析与实验单篇版(不断更新QA中).原创 2022-03-30 21:58:29 · 586 阅读 · 0 评论 -
全网最硬核 Java 新内存模型解析与实验 - 1. 什么是 Java 内存模型
个人创作公约:本人声明创作的所有文章皆为自己原创,如果有参考任何文章的地方,会标注出来,如果有疏漏,欢迎大家批判。如果大家发现网上有抄袭本文章的,欢迎举报,并且积极向这个 github 仓库 提交 issue,谢谢支持~本篇文章参考了大量文章,文档以及论文,但是这块东西真的很繁杂,我的水平有限,可能理解的也不到位,如有异议欢迎留言提出。本系列会不断更新,结合大家的问题以及这里的错误和疏漏,欢迎大家留言如果你喜欢单篇版,请访问:全网最硬核 Java 新内存模型解析与实验单篇版(不断更新QA中).原创 2022-03-30 21:57:57 · 389 阅读 · 0 评论 -
全网最硬核 Java 新内存模型解析与实验单篇版(不断更新QA中)
本篇文章参考了大量文章,文档以及论文,但是这块东西真的很繁杂,我的水平有限,可能理解的也不到位,如有异议欢迎留言提出。本系列会不断更新,结合大家的问题以及这里的错误和疏漏,欢迎大家留言原创 2022-03-30 20:44:44 · 1923 阅读 · 3 评论 -
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 · 26968 阅读 · 0 评论 -
全网最硬核 JVM TLAB 分析(额外加菜) 8. 通过 JFR 监控 TLAB
今天,又是干货满满的一天。这是全网最硬核 JVM 系列的开篇,首先从 TLAB 开始。由于文章很长,每个人阅读习惯不同,所以特此拆成单篇版和多篇版全网最硬核 JVM TLAB 分析(单篇版不包含额外加菜)全网最硬核 JVM TLAB 分析 1. 内存分配思想引入全网最硬核 JVM TLAB 分析 2. TLAB生命周期与带来的问题思考全网最硬核 JVM TLAB 分析 3. JVM EMA期望算法与TLAB相关JVM启动参数全网最硬核 JVM TLAB 分析 4. TLAB 基本流程全分析.原创 2021-02-04 10:14:45 · 44145 阅读 · 0 评论 -
全网最硬核 JVM TLAB 分析(额外加菜) 7. TLAB 相关 JVM 日志解析
今天,又是干货满满的一天。这是全网最硬核 JVM 系列的开篇,首先从 TLAB 开始。由于文章很长,每个人阅读习惯不同,所以特此拆成单篇版和多篇版全网最硬核 JVM TLAB 分析(单篇版不包含额外加菜)全网最硬核 JVM TLAB 分析 1. 内存分配思想引入全网最硬核 JVM TLAB 分析 2. TLAB生命周期与带来的问题思考全网最硬核 JVM TLAB 分析 3. JVM EMA期望算法与TLAB相关JVM启动参数全网最硬核 JVM TLAB 分析 4. TLAB 基本流程全分析.原创 2021-02-04 10:13:45 · 44219 阅读 · 3 评论 -
全网最硬核 JVM TLAB 分析 6. TLAB 相关热门Q&A汇总
今天,又是干货满满的一天。这是全网最硬核 JVM 系列的开篇,首先从 TLAB 开始。由于文章很长,每个人阅读习惯不同,所以特此拆成单篇版和多篇版全网最硬核 JVM TLAB 分析(单篇版不包含额外加菜)全网最硬核 JVM TLAB 分析 1. 内存分配思想引入全网最硬核 JVM TLAB 分析 2. TLAB生命周期与带来的问题思考全网最硬核 JVM TLAB 分析 3. JVM EMA期望算法与TLAB相关JVM启动参数全网最硬核 JVM TLAB 分析 4. TLAB 基本流程全分析.原创 2021-02-04 10:11:59 · 43641 阅读 · 0 评论 -
全网最硬核 JVM TLAB 分析 5. TLAB 源代码全解析
今天,又是干货满满的一天。这是全网最硬核 JVM 系列的开篇,首先从 TLAB 开始。由于文章很长,每个人阅读习惯不同,所以特此拆成单篇版和多篇版全网最硬核 JVM TLAB 分析(单篇版不包含额外加菜)全网最硬核 JVM TLAB 分析 1. 内存分配思想引入全网最硬核 JVM TLAB 分析 2. TLAB生命周期与带来的问题思考全网最硬核 JVM TLAB 分析 3. JVM EMA期望算法与TLAB相关JVM启动参数全网最硬核 JVM TLAB 分析 4. TLAB 基本流程全分析.原创 2021-02-04 10:11:19 · 44263 阅读 · 1 评论 -
全网最硬核 JVM TLAB 分析 4. TLAB 基本流程全分析
今天,又是干货满满的一天。这是全网最硬核 JVM 系列的开篇,首先从 TLAB 开始。由于文章很长,每个人阅读习惯不同,所以特此拆成单篇版和多篇版全网最硬核 JVM TLAB 分析(单篇版不包含额外加菜)全网最硬核 JVM TLAB 分析 1. 内存分配思想引入全网最硬核 JVM TLAB 分析 2. TLAB生命周期与带来的问题思考全网最硬核 JVM TLAB 分析 3. JVM EMA期望算法与TLAB相关JVM启动参数全网最硬核 JVM TLAB 分析 4. TLAB 基本流程全分析.原创 2021-02-04 10:10:41 · 44598 阅读 · 0 评论 -
全网最硬核 JVM TLAB 分析 3. JVM EMA期望算法与TLAB相关JVM启动参数
今天,又是干货满满的一天。这是全网最硬核 JVM 系列的开篇,首先从 TLAB 开始。由于文章很长,每个人阅读习惯不同,所以特此拆成单篇版和多篇版全网最硬核 JVM TLAB 分析(单篇版不包含额外加菜)全网最硬核 JVM TLAB 分析 1. 内存分配思想引入全网最硬核 JVM TLAB 分析 2. TLAB生命周期与带来的问题思考全网最硬核 JVM TLAB 分析 3. JVM EMA期望算法与TLAB相关JVM启动参数全网最硬核 JVM TLAB 分析 4. TLAB 基本流程全分析.原创 2021-02-04 10:10:04 · 44231 阅读 · 0 评论 -
全网最硬核 JVM TLAB 分析 2. TLAB生命周期与带来的问题思考
今天,又是干货满满的一天。这是全网最硬核 JVM 系列的开篇,首先从 TLAB 开始。由于文章很长,每个人阅读习惯不同,所以特此拆成单篇版和多篇版全网最硬核 JVM TLAB 分析(单篇版不包含额外加菜)全网最硬核 JVM TLAB 分析 1. 内存分配思想引入全网最硬核 JVM TLAB 分析 2. TLAB生命周期与带来的问题思考全网最硬核 JVM TLAB 分析 3. JVM EMA期望算法与TLAB相关JVM启动参数全网最硬核 JVM TLAB 分析 4. TLAB 基本流程全分析.原创 2021-02-04 10:09:32 · 43944 阅读 · 2 评论 -
全网最硬核 JVM TLAB 分析 1. 内存分配思想引入
今天,又是干货满满的一天。这是全网最硬核 JVM 系列的开篇,首先从 TLAB 开始。由于文章很长,每个人阅读习惯不同,所以特此拆成单篇版和多篇版全网最硬核 JVM TLAB 分析(单篇版不包含额外加菜)全网最硬核 JVM TLAB 分析 1. 内存分配思想引入全网最硬核 JVM TLAB 分析 2. TLAB生命周期与带来的问题思考全网最硬核 JVM TLAB 分析 3. JVM EMA期望算法与TLAB相关JVM启动参数全网最硬核 JVM TLAB 分析 4. TLAB 基本流程全分析.原创 2021-02-04 10:09:02 · 44417 阅读 · 0 评论 -
全网最硬核 JVM TLAB 分析(单篇版不包含额外加菜)
今天,又是干货满满的一天。这是全网最硬核 JVM 系列的开篇,首先从 TLAB 开始。由于文章很长,每个人阅读习惯不同,所以特此拆成单篇版和多篇版全网最硬核 JVM TLAB 分析(单篇版不包含额外加菜)全网最硬核 JVM TLAB 分析 1. 内存分配思想引入全网最硬核 JVM TLAB 分析 2. TLAB生命周期与带来的问题思考全网最硬核 JVM TLAB 分析 3. JVM EMA期望算法与TLAB相关JVM启动参数全网最硬核 JVM TLAB 分析 4. TLAB 基本流程全分析.原创 2021-02-04 10:08:11 · 44983 阅读 · 0 评论