![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
scala基础
文章平均质量分 90
iteye_10680
这个作者很懒,什么都没留下…
展开
-
Scala学习笔记(一)
一、变量获取变量的值是一个耗时的工作时,可以考虑使用lazy var. lazy val forLater = someTimeConsumingOperation() 二、函数定义“=”并不只是用来分割函数签名和函数体的,它的另一个作用是告诉编译器是否对函数的返回值进行类型推断!如果省去=,则认为函数是没有返回值的!比如:scala> def myFirst...原创 2015-12-21 14:07:39 · 126 阅读 · 0 评论 -
Scala中的下划线的作用
1、作为“通配符”,类似Java中的*。如import scala.math._2、:_*作为一个整体,告诉编译器你希望将某个参数当作参数序列处理!例如val s = sum(1 to 5:_*)就是将1 to 5当作参数序列处理。3、指代一个集合中的每个元素。例如我们要在一个Array a中筛出偶数,并乘以2,可以用以下办法:a.filter(_%2==0).map(2*_)。又如要对缓...转载 2015-12-23 14:53:08 · 199 阅读 · 0 评论 -
Scala class与Case class的区别
在网上发现一篇非常好的文章,正好我在做Scala系列博客,于是转载到我的博客中。在Scala中存在case class,它其实就是一个普通的class。但是它又和普通的class略有区别,如下: 1、初始化的时候可以不用new,当然你也可以加上,普通类一定需要加new;1scala> case class Iteblog(name:String)...原创 2015-12-25 16:36:22 · 571 阅读 · 0 评论 -
跟我学Kafka源码之Consumer分析
在上一章,我们跟踪了Producer源码的整体流程和一些细节,本章我们将重点跟踪Consumer的源码细节。Consumer的配置文件如下:Kafka Consumer配置:group.id: 指定consumer所属的consumer groupconsumer.id: ...原创 2016-01-04 15:06:53 · 457 阅读 · 1 评论 -
跟我学Kafka源码之Broker Server
本章,我们将进入到Kafka的核心类中进行代码走读,深入分析他的存储交互和消息分发原理。首先给大家展示一张服务端交互图,因为比较复杂我就没有再画,转发别人的一张图以供参考: 大家看完这个图以后相信有了一个整体认识,那么下面我们就重点从整体到细节的逐步分解。 一、KafkaServerStartable在Kafka的main入口中startup KafkaServerSt...原创 2016-01-06 14:49:16 · 324 阅读 · 0 评论 -
跟我学Kafka源码之LogManager分析
一、kafka文件系统存储机制 1、partition存储结构说明假如kafka集群中只有一个broker,数据文件目录为message-folder,例如创建一个topic名称为:testKJ1, partitions=4存储路径和目录规则为:xxx/message-folder |--testKJ1-0...原创 2016-01-09 23:29:28 · 226 阅读 · 0 评论 -
跟我学Kafka之NIO通信机制
很久没有做技术方面的分享了,今天闲来有空写一篇关于Kafka通信方面的文章与大家共同学习。一、Kafka通信机制的整体结构74EACA88-8B9D-45F8-B7BF-202D658205A9.png这个图采用的就是我们之前提到的SEDA多线程模型,链接如下:http://www.jianshu.com/p/e184fdc0ade41、对于broker来说,客户端连接数量有限...原创 2016-02-01 18:54:19 · 162 阅读 · 0 评论 -
跟我学Kafka之zookeeper的存储结构
一、zookeeper存储结构总图图片当我们kafka启动运行以后,就会在zookeeper上初始化kafka相关数据,主要包括六大类:consumersadminconfigcontrollerbrokerscontroller_epoch1、brokers节点结构说明1.1 topic信息结构/brokers/topics/[top...原创 2016-02-18 16:04:15 · 164 阅读 · 0 评论 -
跟我学Kafka之Controller控制器详解(一)
我们的kafka源码分享已经进行过很多期了,主要的内容也都分享的差不多了,那么那么在今后的分享中,主要集中在kafka性能优化和使用Kafka集群中的其中一个Broker会被选举为Controller,主要负责Partition管理和副本状态管理,也会执行类似于重分配Partition之类的管理任务。如果当前的Controller失败,会从其他正常的Broker中重新选举Contro...原创 2016-02-21 20:55:02 · 181 阅读 · 0 评论