Title
摘要: 内容摘抄自《深入理解Java虚拟机 第三版》 3.3 垃圾收集算法 从如何判定对象消亡角度出发,垃圾收集算法可划分为引用计数式垃圾收集(Reference Counting GC)和追踪式垃圾收集(Tracing GC),这两类也被称为直接垃圾收集和间接垃圾收集。本文所有的算法都是追踪式垃圾收集 3 阅读全文
posted @ 2021-09-17 00:00 apeGcWell 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 1 编译安装 软件链接 链接:https://pan.baidu.com/s/1464iXOObzkr_mrkqPcvQ3g 提取码:gcwe 1.1 相关依赖 JDK (1.8 or later versions) MySQL(version 5.6及以上) Hadoop (2.6.0 or la 阅读全文
posted @ 2021-09-13 23:12 apeGcWell 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 内容摘抄自《深入理解Java虚拟机 第三版》 3.1 简介 略 3.2 对象已死? 在堆中存放着Java几乎所有的对象的实例,垃圾收集器在对堆进行回收之前首先判断那些对象还活着,那些对象已经死去(死去意旨不被任何途径使用的对象) 3.2.1 引用计数法 很多书籍上判断对象是否存活的算法是这样的:在对 阅读全文
posted @ 2021-09-10 00:21 apeGcWell 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 1 AirFlow 介绍 参见官网 2 AirFlow 1.10.11的安装部署 2.1 安装依赖 Centos7.x Python3.5或以上(本次采用3.6.6) Mysql5.7.x Apache-Airflow 1.10.11 可访问外网 若是虚拟机等,安装前可备份或快照,以免安装失败,导致 阅读全文
posted @ 2021-09-09 23:24 apeGcWell 阅读(881) 评论(0) 推荐(0) 编辑
摘要: 0 前提 在Java中,所有数据的表示方式都是以补码形式来表示 在Java中,所有数据的表示方式都是以补码形式来表示 在Java中,所有数据的表示方式都是以补码形式来表示 public static void main(String[] args) { int num = 5; System.out 阅读全文
posted @ 2021-09-09 00:09 apeGcWell 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 内容摘抄自《深入理解Java虚拟机 第三版》 1.1对象创建 Java是一面向对象的编程语言。而对象的创通常(例外:复制,反序列化)仅仅是一个new关键字而已。 对象创建过程 当Java虚拟机遇到一条字节码new指令时,首先检索这个指令的参数是否能在常量池中定位一个类的符号的引用,并且检查这个符号引 阅读全文
posted @ 2021-09-07 00:10 apeGcWell 阅读(87) 评论(0) 推荐(0) 编辑
摘要: # 消息重复的场景及解决方案 消息重复和丢失是kafka中很常见的问题,主要发生在以下三个阶段: 1. 生产者阶段 2. broke阶段 3. 消费者阶段 ## 1.1 生产者阶段重复场景 ### 1.1.1 根本原因 生产发送的消息没有收到正确的broke响应,导致生产者重试。 生产者发出一条消息 阅读全文
posted @ 2021-08-22 23:41 apeGcWell 阅读(315) 评论(0) 推荐(0) 编辑
摘要: 我们假设有一个topic,单分区,副本因子是2,即一个Leader副本和一个Follower副本。我们看下 当producer发送一条消息时,broker端的副本到底会发生什么事情以及分区HW是如何被更新的 ## 1 初始状态 初始时Leader和Follower的HW和LEO都是0(严格来说源代码 阅读全文
posted @ 2021-08-22 23:40 apeGcWell 阅读(120) 评论(0) 推荐(0) 编辑
摘要: # 1 一致性保证 ## 1.1 概念 + **水位标记** 水位或水印(watermark)一词,表示位置信息,即位移(offset)。Kafka源码中使用的名字是高水位,HW(high watermark)。 + **副本角色** Kafka分区使用多个副本(replica)提供高可用。 + * 阅读全文
posted @ 2021-08-22 23:39 apeGcWell 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 1 集群控制器 实际时是一个broker,负责leader分区选举 1.1 控制器选举 集群里第一个启动的broker在Zookeeper中创建临时节点 /controller 其他broker在该控制器节点创建Zookeeper watch对象,使用Zookeeper的监听机制接收该节点的变更 即 阅读全文
posted @ 2021-08-22 23:38 apeGcWell 阅读(59) 评论(0) 推荐(0) 编辑