求阙厅

春有百花秋有月,夏有凉风冬有雪。若无闲事挂心头,便是人间好时节。

JVM 系列 垃圾收集器

开启JVM探索新篇章

垃圾收集器的不断更新,只为消除或减少工作线程因内存回收而导致的停顿。 原理 GC调优目标 大多数情况下对 Java 程序进行 GC 调优, 主要关注两个目标:响应速度、吞吐量 响应速度(Responsiveness) 响应速度指程序或系统对一个请求的响应有多迅速。比如,用户订单查询响应时间,对响应速度要求很高的系统,较大的停顿时间是不可接受的。调优的重点是...

JVM 系列 垃圾对象判断依据

开启JVM探索新篇章

引用计数法 给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1,当引用失效时,计数器值就减1. 存在的问题 很难解决对象之间相互循环引用的问题。 可达性分析算法 通过一系列的称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路径称为引用链,当一个对象到GC Roots没有任何引用链相连时,则证明此对象是不可用的。 可作为 GC Root...

JVM 系列 类加载机制

开启JVM探索新篇章

虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制。 推荐:IBM 推荐:IBM 要点 动态加载 在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的。Java里天生可以动态扩展的语言特性就是依赖运行期动态加载和动态连接这个特点实现的。 类加载时机 ...

JVM 系列 内存管理之内存区域

开启JVM探索新篇章

程序计数器 特点:线程私有 记录当前线程所执行的字节码指令的地址。字节码解释器的工作就是通过改变这个计数器来选取下一条需要执行的字节码指令。 注意: 如果线程正在执行的是一个 Java 方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址;如果正在执行的是 native 方法,这个计数器值则为空。 虚拟机栈 特点:线程私有 描述的是 Java 方法...

JVM 系列 内存分配与回收策略

开启JVM探索新篇章

对象 优先在eden分配 大多数情况下,对象在eden区中分配。当eden区没有足够空间进行分配时,虚拟机将发起一次minor GC。 大对象直接进入老年代 虚拟机提供一个参数(-XX:PretenureSizeThreshold),令大于这个设置值的对象直接在老年代分配。这样做的目的是避免在eden区及两个survivor区之间发生大量的内存复制。 大对象:需要大量连续内存空...

JVM 系列 内存管理之内存区域

开启JVM探索新篇章

Java 内存模型 要求 lock、unlock、read、load、assign、use、store、write 这 8 个操作都具有原子性,但是对于 64 位的数据类型(long 和 double),在模型中特别定义了一条相对宽松的规定:允许虚拟机将没有被volatile修饰的 64 位数据的读写操作划分为 2 次 32 位的操作来执行,即允许虚拟机实现选择可以不保证 64 位数据类型的...

并发编程 系列 综述

开启并发编程探索新篇章

问题 锁

MySQL 系列 查询日志

MySQL 技术内幕:InnoDB存储引擎

错误日志 记录 MySQL 的启动、运行、关闭过程。 记录所有的错误信息,也记录一些警告信息或正确的信息。 记录有关数据库优化的警告信息 慢查询日志 慢查询会导致 CPU,IOPS,内存消耗过高。当数据库遇到性能瓶颈时,大部分时间都是由于慢查询导致的。 开启慢查询日志,可以让 MySQL 记录下查询超过指定时间的语句,之后运维人员通过定位分析,能够很好的优化数据库性能。...

MySQL 系列 二次写

MySQL 技术内幕:InnoDB存储引擎

double write 处理部分写失效的问题,提升数据页的可靠性。 背景 InnoDB 中有记录(Row)被更新时,先将其在 Buffer Pool 中的 page 更新,并将这次更新记录到 Redo Log file 中,这时候 Buffer Pool 中的该 page 就是被标记为 Dirty。在适当的时候(Buffer Pool 不够、Redo 不够,系统闲置等),这些 ...

RocketMQ 系列 消费者

刨析rocketMQ的底层实现

概念 消费模式 消息消费以组的模式开展, 一个消费组内可以包含多个消费者,每一个消费组可订阅多个主题,消费组之间有集群模式与广播模式两种消费模式。 集群模式,主题下的同一条消息只允许被其中一个消费者消费。 广播模式,主题下的同一条消息将被集群内的所有消费者消费一次。 消息传送方式 消息服务器与消费者之间的消息传送也有两种方式:推模式、拉模式。所谓的拉模式,是消费端主动发...