anjing900812的博客

一个安静的美男子

kafka总结系列(五)

Implementation Log         现有一个topic“my_topic”,两个分区,则在配置选项“log.dirs”指定的存储日志文件的目录下有两个文件夹:my_topic_0和my_topic_1。         每个文件夹下面有.index和.log两种类型的文件,.lo...

2016-06-27 19:14:54

阅读数 575

评论数 2

Kafka总结系列(四)

Replication         kafka中一个topic有若干分区,以分区为单位进行备份。创建topic时可以指定该topic的分区个数以及副本数m,一个partition有一个leader broker以及(m-1)个follower broker。follower像普通的consum...

2016-06-26 15:46:03

阅读数 834

评论数 2

Kafka总结系列(三)

继续上一篇。 The consumer:       kafka的消费者通过向broker发送“fetch”请求获取他要消费的partition的信息。消费者在每个请求中标记他已经消费到的offset值,broker将以该offset作为起始位置的a chunk of log即一批消息返回给c...

2016-06-26 13:38:29

阅读数 952

评论数 2

Kafka总结系列(二)

Design Persistence:     kafka高度依赖于文件系统来存储和缓存消息。对于磁盘的正确认识:对磁盘的线性读写比随机读写快很多倍,且有研究表明:对磁盘的线性读写在有些情况下可以比内存的随机访问要更快! Efficiency:     在消息队列系统中,如果磁盘的因素被排...

2016-06-25 21:16:33

阅读数 468

评论数 1

Kafka总结系列(一)

Apache kafka:一个高吞吐量的分布式发布订阅消息系统         从最初的了解、学习kafka,到后来基于其API进行开发,再到后来有意识地了解其实现原理,是一个漫长的过程。趁周末有空梳理一下期间读过的官方文档、技术博客等,以便自己日后复习。 特性如下: Fast:单台bro...

2016-06-25 15:31:15

阅读数 758

评论数 0

Java Synchronized Blocks

一篇很好的讲解synchronized关键字的文章,原文链接:http://tutorials.jenkov.com/java-concurrency/synchronized.html        Java synchronized block(下面称之为同步块)可以将一个方法或者一个代码块...

2016-06-24 14:02:37

阅读数 166

评论数 0

java String类相关的问题

创建String对象的方式:两种,每种方式分别创建了几个对象,存储在哪里,常量池还是堆中; String字符串常量编译期间器就会进行优化; 学会用代码+反编译验证一些想法; 参考链接: String s=new String("abc")创建了几个对象? String s=ne...

2016-06-17 11:06:58

阅读数 188

评论数 1

Java Static关键字引发的思考

看技术博客介绍static关键字时,想起了之前的面试问题:static函数的特点。当时只说了可以在不创建对象的前提下使用类名直接调用,并没有举例子。总结面经时才想起本可以举main函数和单例模式的例子。 main函数:作为java程序的入口,此时没有创建任何类的任何对象,所以他只能是stati...

2016-06-14 10:52:09

阅读数 207

评论数 0

Java集合细节:subList的缺陷

原文链接:Java集合细节(三):subList的缺陷 我们经常使用subString方法来对String对象进行分割处理,同时我们也可以使用subList、subMap、subSet来对List、Map、Set进行分割处理,但是这个分割存在某些瑕疵。 一、subList返回仅仅只...

2016-06-12 20:18:37

阅读数 239

评论数 0

GCC编译程序的原理

之前使用thrift,通过flume的thrift source采集平台日志,编译程序时的命令如下:gcc server.c gen-c_glib/*.c -o server -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr...

2016-06-08 12:31:40

阅读数 153

评论数 0

知识总结系列2

进程间通信的方式:socket、管道、消息队列、共享内存(最快的方式)、信号量 父子进程通信的方式:进程之间的8种通信方式应用系统之间共享数据用什么:文件、数据库、消息队列kafka等; 同一个进程中的线程不共享的的部分是: 线程的ID、栈空间、信号屏蔽码(eg,nohup)、错误返...

2016-06-04 21:40:10

阅读数 520

评论数 0

知识总结系列1

HashMap和Treemap的区别: HashMap底层基于哈希表实现,用链表法解决冲突,TreeMap基于红黑树实现,TreeSet也是;HashMap插入数据后,遍历出的顺序是随机的,TreeMap默认按照key的升序排列,也可以自定义比较器,LinkedHashMap则可以保证输出顺...

2016-06-02 16:42:27

阅读数 281

评论数 0

收获很大的现场面试经历

面试总结

2016-06-01 22:10:18

阅读数 441

评论数 1

提示
确定要删除当前文章?
取消 删除
关闭
关闭