随笔分类 -  聊聊JVM

摘要:PhantomReference 和 WeakReference 究竟有何不同本文基于 OpenJDK17 进行讨论,垃圾回收器为 ZGC。 提示: 为了方便大家索引,特将在上篇文章 《以 ZGC 为例,谈一谈 JVM 是如何实现 Reference 语义的》 中讨论的众多主题独立出来。 PhantomReference 和 WeakReference 如果仅仅从概念上来说其 阅读全文
posted @ 2024-06-19 21:50 bin的技术小屋 阅读(289) 评论(0) 推荐(1)
摘要:FinalReference 如何使 GC 过程变得拖拖拉拉本文基于 OpenJDK17 进行讨论,垃圾回收器为 ZGC。 提示: 为了方便大家索引,特将在上篇文章 《以 ZGC 为例,谈一谈 JVM 是如何实现 Reference 语义的》 中讨论的众多主题独立出来。 FinalReference 对于我们来说是一种比较陌生的 Reference 类型,因 阅读全文
posted @ 2024-06-17 20:57 bin的技术小屋 阅读(1116) 评论(1) 推荐(1)
摘要:SoftReference 到底在什么时候被回收 ? 如何量化内存不足 ?本文基于 OpenJDK17 进行讨论,垃圾回收器为 ZGC。 提示: 为了方便大家索引,特将在上篇文章 《以 ZGC 为例,谈一谈 JVM 是如何实现 Reference 语义的》 中讨论的众多主题独立出来。 大家在网上或者在其他讲解 JVM 的书籍中多多少少会看到这样一段关于 SoftRefer 阅读全文
posted @ 2024-06-15 19:34 bin的技术小屋 阅读(378) 评论(0) 推荐(1)
摘要:以 ZGC 为例,谈一谈 JVM 是如何实现 Reference 语义的本文基于 OpenJDK17 进行讨论 1. Reference 相关概念及其应用场景总览 Reference(引用)是 JVM 中非常核心且重要的一个概念,垃圾回收器判断一个对象存活与否都是围绕着这个 Reference 来的,JVM 将 Reference 又细分为几种具体的引用类型,它们分别是 阅读全文
posted @ 2024-06-13 11:38 bin的技术小屋 阅读(1536) 评论(3) 推荐(5)
摘要:System.gc 之后到底发生了什么 ?本文基于 OpenJDK17 进行讨论 在 JDK NIO 针对堆外内存的分配场景中,我们经常会看到 System.gc 的身影,比如当我们通过 FileChannel#map 对文件进行内存映射的时候,如果 JVM 进程虚拟内存空间中的虚拟内存不足,JVM 在 native 层就会抛出 OutOf 阅读全文
posted @ 2024-04-01 19:55 bin的技术小屋 阅读(1854) 评论(1) 推荐(8)