G1GC的算法与实现之实现篇笔记
《深入Java虚拟机:JVM G1GC的算法与实现》-实现篇笔记 在上一篇文章中我们记录了G1GC的算法包括内存结构、标记位图、SATB本地队列、转移专用记忆集合等关键组成部分,接下我们会对HotSpotVM的具体实现方法进行分析; HotSpot的代码结构 HotSpot的源码位于src/hotspot下,如下所示 文件夹 说明 cpu 依赖CPU的代码 os 依赖操作系统的代...
《深入Java虚拟机:JVM G1GC的算法与实现》-实现篇笔记 在上一篇文章中我们记录了G1GC的算法包括内存结构、标记位图、SATB本地队列、转移专用记忆集合等关键组成部分,接下我们会对HotSpotVM的具体实现方法进行分析; HotSpot的代码结构 HotSpot的源码位于src/hotspot下,如下所示 文件夹 说明 cpu 依赖CPU的代码 os 依赖操作系统的代...
《深入Java虚拟机:JVM G1GC的算法与实现》-算法篇笔记 这一篇文章主要是用于记录《深入Java虚拟机:JVM G1GC的算法与实现》一书中算法篇部分的笔记,主要分为引子、并发标记、转移、软实时性、分代G1GC模式; G1 GC是什么? 在G1GC之前JVM中存在的垃圾收集器主要是Parallel Scavenge和Parallel Old,在jdk9将G1设置为默认处理器后,截至现在的j...
分代ZGC的由来与底层原理 本篇文章是记录B站UP译制的分代ZGC的由来与底层原理视频而来,感谢UP! 引子 分配失速问题 GC产生的空闲内存远远小于新占用的内存,这样的问题被称为分配失速问题; 解决办法: - 增加堆大小 - 增加GC线程数量 ZGC的基本知识 内存划分 JVm中大多数对象都是朝生夕灭的状态,不会长久存在,因此在最早的时候就根据这两种状态将堆划分为年轻代和老年代,在对新对...
Java性能权威指南-性能测试的方法和工具 简介 记录在阅读《Java性能权威指南》过程中的一些笔记和感悟,主要会分为一下几个部分:性能测试方式方法、影响性能的原因、如何进行调优;下面第一部分就是对性能测试方式方法进行分析 性能测试的四项原则 当一个应用出现性能瓶颈或者性能方面的问题时,往往不能一眼发现问题的根源,会从多个方向去猜测原因,毫无头绪,因此对应用进行性能测试是了解当前阀值的一个好方法;...
Cola4.0的工程实践 cola在今年迎来了4.0版本,在最新的版本中对包结构进行了调整以及将COLA项目整体划分为两个部分COLA架构和COLA组件; 下面先简单的介绍COLA的改变,再介绍CLOA4.0的工程实践 COLA的改变 COLA4.0的改变主要是聚焦与COLA架构和COLA组件两个部分: COLA架构:关注应用架构的定义和构建,提升应用质量。 COLA组件:提供应用开发所需要的可...
Groowy脚本实现业务场景下动态性规则的实践 前言: 在复杂的业务中我们往往会采用分层的思想来降低每一层的复杂度,应用层还会采用一些设计模式来预留出对于未来的扩展;在面对 复杂和易变的业务场景下,作为开发者,我们更期望程序框架底座能够保持稳定,而对”扩展”更期望可以做到能快速响应业务需求的变化和做到隔离性; 由于程序语言的特性,有些语言不能做到实时热编译和部署,需要借助其他工具来实现这一个效果,...