<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[aLivable_Dedode的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/aLivable_Dedode</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; aLivable_Dedode]]></copyright><item><title><![CDATA[GroupCoordinator 源码之HEARTBEAT]]></title><link>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/123193720</link><guid>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/123193720</guid><author>aLivable_Dedode</author><pubDate>Mon, 28 Feb 2022 22:04:54 +0800</pubDate><description><![CDATA[GroupCoordinator 源码之HEARTBEAT
前言：
​	上一节GroupCoordinator 源码之FIND_COORDINATOR、JOIN_GROUP、SYNC_GROUP_aLivable_Dedode的博客-优快云博客 ，介绍了从KafkaServer端GroupCoordinator 启动后，同一个Topic同一个GroupId下consumer的注册过程以及Group的状态变更。Topic会选举出来一个GroupCoordinator，之后Group会从第一次出现时被创建初始]]></description><category></category></item><item><title><![CDATA[GroupCoordinator 源码之FIND_COORDINATOR、JOIN_GROUP、SYNC_GROUP]]></title><link>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/123165033</link><guid>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/123165033</guid><author>aLivable_Dedode</author><pubDate>Sun, 27 Feb 2022 15:50:35 +0800</pubDate><description><![CDATA[Kafka 2.0 GroupCoordinator 源码分析]]></description><category></category></item><item><title><![CDATA[逃不过的JVM细化（一）]]></title><link>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/107397768</link><guid>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/107397768</guid><author>aLivable_Dedode</author><pubDate>Thu, 16 Jul 2020 23:48:46 +0800</pubDate><description><![CDATA[逃不过的JVM细化（一）
拖了很久又开始了，果然躲不过，逃不了。能写多少写多少吧,看天意
预备知识：简介JVM
1. 分代收集理论
​	当前商业虚拟机的垃圾收集器，大多数都遵循了“分代收集”的理论进行设计，在这个理论下有分为两个分代假说上：

弱分代假说：绝大多数对象都是朝生夕灭的
强分代假说：熬过越多次垃圾收集过程的对象就越难以消亡

由此奠定了多款常用的垃圾收集器的一致的设计原则：垃圾收集器应该将Java堆划分出不同的区域，然后将回收对象依据其年龄分配到不同的区域之中存储。其目的是将需要经常清理的部分和]]></description><category></category></item><item><title><![CDATA[线程池篇（一）有的线程]]></title><link>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/106880702</link><guid>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/106880702</guid><author>aLivable_Dedode</author><pubDate>Sun, 21 Jun 2020 01:12:15 +0800</pubDate><description><![CDATA[​前提：最近看了别人写的一个关于线程池的，发现好像不太了解，本着代码不会骗人的思想，亲手实验一把。
有的线程它活着，但它躺在池中碌碌无为；有的线程它死了，于是它变成一道面试题。看到这句话不知道为啥有点心酸又有点想笑。
一个线程池中的线程异常了，那么线程池会怎么处理这个线程？
​	看到这个的时候我的一个反应是：抛出异常，根据线程池定义的策略进行后续的处理,想想看自己“会的真多”。那么代码敲起来，没代码，假把式
public class ExecutorsTestV1 {
    public static v]]></description><category></category></item><item><title><![CDATA[设计模式六大原则]]></title><link>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/106608338</link><guid>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/106608338</guid><author>aLivable_Dedode</author><pubDate>Sun, 07 Jun 2020 21:57:18 +0800</pubDate><description><![CDATA[设计模式六大原则：
1. 单一职责原则（SRP）
​	每一个只有一个原因引起类变化，理想情况下是这么设计，但现实因为类分工的标准不一样，导致类功能分离的程度不一样，所以现实中一般是对接口进行单一职责原则的定义
​	– 将接口的职能单一化，类功能也尽量单一功能话，后续的维护、可读性会增加，不过文件数会增加
2.里氏替换原则（LSP）
​	看到名字，感觉好高大的样子，也对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年，由麻省理工学院的一位姓里的女士（Barbara Liskov）提出来的 。
有]]></description><category></category></item><item><title><![CDATA[不要错过的Redis]]></title><link>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/106561264</link><guid>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/106561264</guid><author>aLivable_Dedode</author><pubDate>Fri, 05 Jun 2020 00:16:04 +0800</pubDate><description><![CDATA[不要错过的Redis
一、引入介绍
​	当前比较热门的NOSQL系统之一，它是一个开源的使用ANSI c语言编写的key-value存储系统（区别于MySQL的二维表格的形式存储）。和Memcache类似，但很大程度补偿了Memcache的不足。和Memcache一样，Redis数据都是缓存在计算机内存中，不同的是，Memcache只能将数据缓存到内存中，无法自动定期写入硬盘，这就表示，一断电或重启，内存清空，数据丢失。所以Memcache的应用场景适用于缓存无需持久化的数据。而Redis不同的是它会周期性]]></description><category></category></item><item><title><![CDATA[看看HBase Bulkload 源码]]></title><link>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/106293452</link><guid>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/106293452</guid><author>aLivable_Dedode</author><pubDate>Sat, 23 May 2020 00:13:46 +0800</pubDate><description><![CDATA[看看HBase Bulkload 源码
什么都别说先看代码
val regionLocator = new HRegionLocator(hbTableName, classOf[ClusterConnection].cast(conn))
val loader = new LoadIncrementalHFiles(hbaseConf)
val admin = conn.getAdmin()
loader.doBulkLoad(new Path(path),admin,realTable,regionLo]]></description><category></category></item><item><title><![CDATA[我想看看Flume]]></title><link>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/106293323</link><guid>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/106293323</guid><author>aLivable_Dedode</author><pubDate>Sat, 23 May 2020 00:03:44 +0800</pubDate><description><![CDATA[我想看看Flume
Flume 是什么
​	在一个完整的离线大数据处理系统中，除了hdfs+mapreduce+hive组成分析系统的核心之外，还需要数据采集、结果数据导出、任务调度等不可或缺的辅助系统，而这些辅助工具在hadoop生态体系中都有便捷的开源框架。

Flume是Cloudera提供的一个高可用的，高可靠的，分布式的==海量日志采集、聚合和传输的系统==
Flume支持在日志系统中定制各类数据发送方，用于收集数据；
Flume提供对数据进行简单处理，并**写到各种数据接受方（可定制）**的能力]]></description><category></category></item><item><title><![CDATA[我想看看Sqoop]]></title><link>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/106268934</link><guid>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/106268934</guid><author>aLivable_Dedode</author><pubDate>Thu, 21 May 2020 22:19:00 +0800</pubDate><description><![CDATA[Sqoop 简介
1. Sqoop是什么
​	Sqoop（sql to hadoop）是apache旗下的一款 ”Hadoop和关系数据库之间传输数据”的工具，它可以将Mysql、Oracle数据导入到HDFS、Hive、HBase等数据存储系统，也可以从Hadoop文件系统中到处数据到关系型数据库。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ICKKbG6E-1590070520349)(Sqoop 简介.assets/1590067412280.png)]
2. Sq]]></description><category></category></item><item><title><![CDATA[简介JVM]]></title><link>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/106246426</link><guid>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/106246426</guid><author>aLivable_Dedode</author><pubDate>Wed, 20 May 2020 22:57:07 +0800</pubDate><description><![CDATA[简介JVM
1.回收的是什么？ 对象
1.1 什么是对象
​	Java 万物皆对象
1.2对象里有什么？
1.2.1 从代码上看
​	属性：表示有什么
方法 ： 表示能干什么
1.2.2 从jvm底层看
​	对象头
MarkWord：存储 :对象哈希码、GC 分代年、锁状态标志、线程持有锁、偏向线程ID、偏向时间戳等
synchronized 用的锁就是存在 Mark Word 中，在运行期间，Mark Word 里存储的数据会随着锁标志位的变化而变化，会有以下五种变化。注意无锁态和偏向锁的锁标志位相同，额]]></description><category></category></item><item><title><![CDATA[NameNode 初始化过程]]></title><link>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/103674780</link><guid>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/103674780</guid><author>aLivable_Dedode</author><pubDate>Tue, 24 Dec 2019 00:03:26 +0800</pubDate><description><![CDATA[HDFS文件系统是主从分布式文件系统，其中其中主节点为master，上面有一个非常重要的节点NameNode ，它的作用有管理整个集群的元数据信息、响应客户端的请求、接受DataNode心跳信息、定期CheckPoint等，它管理着集群。在安装hadoop之后启动之前先需要进行格式化操作，然后会用sbin/hadoop-dasmon.sh start namenode启动进程。 在源码中可以看到在...]]></description><category></category></item><item><title><![CDATA[Kafka on Docker]]></title><link>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/103501584</link><guid>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/103501584</guid><author>aLivable_Dedode</author><pubDate>Mon, 23 Dec 2019 10:49:59 +0800</pubDate><description><![CDATA[//启动zookeeper
docker run -d 
-p 2181:2181 
–net=zoonet 
–name=zookeeper 
-e ZOOKEEPER_CLIENT_PORT=2181 
wurstmeister/zookeeper
//启动kafka
docker run -d 
–net=zoonet 
–name kafka -p 9092:9092 
-e KAFKA_...]]></description><category></category></item><item><title><![CDATA[Java虚拟机 第七章之虚拟机类加载机制]]></title><link>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/90220834</link><guid>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/90220834</guid><author>aLivable_Dedode</author><pubDate>Thu, 23 May 2019 23:59:10 +0800</pubDate><description><![CDATA[#7.1 概述
问题：
		1.虚拟机如何加载class文件? 
		2.class文件中的信息进入到虚拟机后会发生什么变化？

什么是虚拟机类加载机制? 书中写到：虚拟机把描述类的数据从class文件中加载到内存，并对数据进行验证、转化解析和初始化，最终形成被虚拟机直接使用的Java类型，这就是虚拟机的类加载机制。
在Java语言中，类的加载、连接和初始化过程都是在程序运行期间完成的，这种策略虽...]]></description><category></category></item><item><title><![CDATA[线程池之介绍以及创建]]></title><link>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/90178472</link><guid>https://blog.youkuaiyun.com/aLivable_Dedode/article/details/90178472</guid><author>aLivable_Dedode</author><pubDate>Mon, 13 May 2019 18:27:06 +0800</pubDate><description><![CDATA[一切开始:接口Exector
线程池的开始都是从这个Exector接口开始，后续又经由ExectorService、AbstractExecutorService、ThreadPoolExecutor等一系列的接口和方法来进一步丰富线程池的诸多功能，参考下面的图片（不是所有方法都列上了）。

线程池的开始：ThreadPoolExecutor
从上面的图片中可以看到ThreadPoolExecut...]]></description><category></category></item></channel></rss>