- Java91
- Spring Security8
- DDD 技术体系6
- cactus-vue-pro3
- Docker2
- Linux2
- OAuth2.02
- devops2
- Blog1
- 使用指南1
- Maven1
- 延时任务1
- Fiddler Everywhere1
- Nas1
- Ubuntu 挂盘操作1
- easyTier1
- ES6s1
- npm1
- lambda1
- Spring1
本文主要介绍JDK中Collection和Map相关知识体系,后续章节将对主要对类进行源码解读。
- Collection 类关系图
本文整理自美团技术团队在新窗口打开, 这篇文章将可以帮助你构建CMS GC相关问题解决的知识体系,分享给你。
-
GC 垃圾回收器之CMS GC问题分析与解决
-
- 写在前面
-
G1垃圾回收器是在Java7 update 4之后引入的一个新的垃圾回收器。同优秀的CMS垃圾回收器一样,G1也是关注最小时延的垃圾回收器,也同样适合大尺寸堆内存的垃圾收集,官方在ZGC还没有出现时也推荐使用G1来代替选择CMS。G1最大的特点是引入分区的思路,弱化了分代的概念,合理利用垃圾收集各个周期的资源,解决了其他收集器甚至CMS的众多缺陷。
-
GC 垃圾回收器之G1详解
-
- G1的内存模型
- 2.1 分区概念
- 2.2 分代模型
- 2.3 分区模型
- 2.4 收集集合 (CSet)
-
- G1的活动周期
- 3.1 G1垃圾收集活动汇总
- 3.2 RSet的维护
- 3.3 并发标记周期 Concurrent Marking Cycle
- 3.4 年轻代收集/混合收集周期
- 3.5 并发标记周期后的年轻代收集 Young Collection Following Concurrent Marking Cycle
GC(The Z Garbage Collector)是JDK 11中推出的一款低延迟垃圾回收器, 是JDK 11+ 最为重要的更新之一,适用于大内存低延迟服务的内存管理和回收。在梳理相关知识点时,发现美团技术团队分享的文章新一代垃圾回收器ZGC的探索与实践在新窗口打开比较完善(包含G1收集器停顿时间瓶颈,原理,优化等), 这里分享给你,帮你构建ZGC相关的知识体系。
垃圾收集主要是针对堆和方法区进行;程序计数器、虚拟机栈和本地方法栈这三个区域属于线程私有的,只存在于线程的生命周期内,线程结束之后也会消失,因此不需要对这三个区域进行垃圾回收。
- GC 垃圾回收基础知识
- 判断一个对象是否可被回收
- 引用类型
- 垃圾回收算法
- 垃圾收集器
- 内存分配与回收策略
- 参考
很多人都无法区分Java内存模型和JVM内存结构,以及Java内存模型与物理内存之间的关系。本文从堆栈角度引入JMM,然后介绍JMM和物理内存之间的关系, 为后面
JMM详解
,JVM 内存结构详解
,Java 对象模型详解
等铺垫。
- JVM 基础之 Java 内存模型引入
- JMM引入
- JMM与硬件内存结构关系
- 参考文章
本文主要转载自 Info 上深入理解Java内存模型在新窗口打开, 作者程晓明。这篇文章对JMM讲的很清楚了,大致分三部分:重排序与顺序一致性;三个同步原语(lock,volatile,final)的内存语义,重排序规则及在处理器中的实现;java 内存模型的设计,及其与处理器内存模型和顺序一致性内存模型的关系。
- JVM 基础之 Java 内存模型详解
本文以两个简单的例子(
堆内存溢出
和MetaSpace (元数据) 内存溢出
)解释Java 内存溢出的分析过程。
- 调试排错 Java 内存分析之堆内存和MetaSpace内存
- 常见的内存溢出问题(内存和MetaSpace内存)
- 分析案例