01 2017 档案

摘要:一、前言 前面学习了Scala的Numbers,接着学习Scala的Control Structures(控制结构)。 二、Control Structures Scala中的控制结构与Java中的颇为类似,但也有所不同,例如,if/then/else控制结构与Java的类似,但是其可以返回值,虽然 阅读全文
posted @ 2017-01-19 11:42 leesf 阅读(798) 评论(0) 推荐(1) 编辑
摘要:一、前言 前面已经分析了Watcher机制中的大多数类,本篇对于ZKWatchManager的外部类Zookeeper进行分析。 二、ZooKeeper源码分析 2.1 类的内部类 ZooKeeper的内部类框架图如下图所示 说明: · ZKWatchManager,Zookeeper的Watche 阅读全文
posted @ 2017-01-18 11:25 leesf 阅读(3625) 评论(0) 推荐(4) 编辑
摘要:一、前言 前面已经学习了Scala中的String,接着学习Scala的Numbers。 二、Numbers 在Scala中,所有的数字类型,如Byte,Char,Double,Float,Int,Long,Short都是对象,这七种数字类型继承AnyVal特质,这七种数字类型与其在Java中有相同 阅读全文
posted @ 2017-01-17 21:53 leesf 阅读(2090) 评论(0) 推荐(1) 编辑
摘要:一、前言 大数据领域的Spark、Kafka、Summingbird等都是由Scala语言编写而成,相比Java而言,Scala更精炼。由于笔者从事大数据相关的工作,所以有必要好好学习Scala语言,之前也学习过,但是没有记录,所以就会忘记,感觉Scala确实比Java方便精炼很多,下面以Scala 阅读全文
posted @ 2017-01-16 18:49 leesf 阅读(13972) 评论(0) 推荐(3) 编辑
摘要:一、前言 前面已经分析了Watcher机制中的第一部分,即在org.apache.zookeeper下的相关类,接着来分析org.apache.zookeeper.server下的WatchManager类。 二、WatchManager源码分析 2.1 类的属性 说明:WatcherManager 阅读全文
posted @ 2017-01-16 10:33 leesf 阅读(4097) 评论(2) 推荐(3) 编辑
摘要:一、前言 前面已经分析了Zookeeper持久话相关的类,下面接着分析Zookeeper中的Watcher机制所涉及到的类。 二、总体框图 对于Watcher机制而言,主要涉及的类主要如下。 说明: Watcher,接口类型,其定义了process方法,需子类实现。 Event,接口类型,Watch 阅读全文
posted @ 2017-01-15 17:02 leesf 阅读(6774) 评论(0) 推荐(3) 编辑
摘要:一、前言 前面分析了FileSnap,接着继续分析FileTxnSnapLog源码,其封装了TxnLog和SnapShot,其在持久化过程中是一个帮助类。 二、FileTxnSnapLog源码分析 2.1 类的属性 说明:类的属性中包含了TxnLog和SnapShot接口,即对FileTxnSnap 阅读全文
posted @ 2017-01-14 18:31 leesf 阅读(2927) 评论(0) 推荐(1) 编辑
摘要:一、前言 前篇博文已经分析了FileTxnLog的源码,现在接着分析持久化中的FileSnap,其主要提供了快照相应的接口。 二、SnapShot源码分析 SnapShot是FileTxnLog的父类,接口类型,其方法如下 说明:可以看到SnapShot只定义了四个方法,反序列化、序列化、查找最新的 阅读全文
posted @ 2017-01-14 11:51 leesf 阅读(2794) 评论(0) 推荐(1) 编辑
摘要:一、前言 前一篇已经分析了序列化,这篇接着分析Zookeeper的持久化过程源码,持久化对于数据的存储至关重要,下面进行详细分析。 二、持久化总体框架 持久化的类主要在包org.apache.zookeeper.server.persistence下,此次也主要是对其下的类进行分析,其包下总体的类结 阅读全文
posted @ 2017-01-13 16:19 leesf 阅读(5293) 评论(0) 推荐(4) 编辑
摘要:一、前言 在完成了前面的理论学习后,现在可以从源码角度来解析Zookeeper的细节,首先笔者想从序列化入手,因为在网络通信、数据存储中都用到了序列化,下面开始分析。 二、序列化 序列化主要在zookeeper.jute包中,其中涉及的主要接口如下 · InputArchive · OutputAr 阅读全文
posted @ 2017-01-12 16:40 leesf 阅读(9061) 评论(1) 推荐(5) 编辑