自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 资源 (2)
  • 收藏
  • 关注

原创 PacifiaA读书笔记

PacificA是微软研究院搞出的一个一致性协议,kafka据说受此启发,本文算是这篇文章的读书笔记吧。

2017-03-28 20:55:28 594

原创 Flink源码解析之State的实现

State的实现Flink通过异步的checkpoint机制来实现流式处理过程中的容错,简单来讲就是定时地将本地的状态序列化到一个持久存储中,当出现错误是通过恢复检查点的状态来实现容错的,对于机制的详细介绍可以参见这个链接,本章主要讲述flink源码中state的实现。

2017-02-28 10:54:39 6155

原创 并发中的一些基本概念

背景在多核多线程的并发编程中,我们经常会碰到一些概念,比如说out of order execution, memory consistency, cache coherence, memory model等,这里我对这些概念做一些简单的总结和介绍。

2017-02-28 07:39:51 358

原创 Storm Internal

IntroductionStorm is one of the most popular realtime stream processing system in the world. It has been adopted by many companies and also a critical component of our infrastructure.

2016-10-22 11:37:37 246

原创 Understanding Java Memory Model

IntroductionIn this article I’m going to talk about java memory model(JMM for short). Java has been widely used in many areas and understanding JMM is the precondition of writing correct and efficient

2016-10-22 11:29:06 300

原创 Storm Trident Internals

In this article I’m going to talk about the internal design of storm trident. This article is for those who want to understand the internal design of storm trident and how it ensures that exactly once

2016-10-22 10:33:59 358

原创 python中的注释

python中最简单的就是单行注释,以#开始到行尾结束   python中的多行注释是包含在三个"之间的,如下所示 """This is comment This is coment """   如果这个注释写在函数的第一行,就是函数的文档,如: def foo(): """comment""" return 1 print foo.__doc_

2013-02-05 17:46:02 160

原创 Makefile 快速教程

最近在网上看到一篇makefile的快速教程,感觉写得非常好,对于管理一些基本的小项目来说够用了,这里特别mark一下。 这里附加两个解释: 默认的情况下,make处理第一个不以.开头的target,并会更新它所以来的target,所以如果处理第一个target的时候不依赖与clean的话,clean不会被执行。但是,如果处理第一个target的时候不小心产生了一个clean文件,那么我...

2013-02-01 21:26:07 67

原创 Java Puzzler中知识点总结

  奇数对2取模不一定是1,负数是-1,偶数一定为0,而且奇数不灌正负其末位一定为1.

2012-09-21 11:13:38 77

原创 Java中的位移操作符

Java中的位移操作符分为三种:<<,>>和>>>   首先说说这三种操作符的共同特:   它们左操作数均为int或long类型,如果是其他整型,则会升级到int型,浮点数类型不支持 对于右操作数,若左操作数为int型,则只取右操作数的末五位,若为long型,则只取六位。举个例子,1<<32这个操作,其结果是1,而不是0,这是因为3...

2012-09-21 11:07:39 102

Linux下Boost交叉编译

运行环境:ubuntu 12.04, boost 1.50.0 由于要把boost移植到arm板上去,所以折腾了一下,后来发现其实挺简单的,这里仅记录下流程,跟上文一样,这里假设你的目标系统的工具链已设置好 boost的编译分两部:编译bjam,编译boost   编译bjam的工作比较简单,根据文档上来就可以: 进入下载下来的boost的根目录,进入tools/build/v2 ...

2012-07-07 14:42:54 527

Linux下用Eclipse交叉编译

运行环境:ubuntu 12.04, Eclipse C++ IDE 在Eclipse下进行交叉编译十分简单,这里假设你已经拥有了目标主机的编译工具链,我这使用的的arm-linux的交叉工具链。 新建C++ Project - Empty Project 右击Build Configurations - Manage,新建一个Configuration 在C/C++ Build - ...

2012-07-07 14:22:32 137

C++中time和sqlite3中datetime类型之间的转换

最近在做一个项目,其中用到了与sqlite3中时间类型,这里把学到的结果总结下。 我们通常用到的时间通常分为两种,本地时间和UTC时间。 这两种时间的产生是按时区具体划分的,其区别可以google之,这时就不多说了,简单来说就是UTC时间是时区为0的某个地方的时间,本地时间与其相差几个小时(多或少)。   在<ctime>头文件中有一个函数 time_t time(ti...

2012-04-02 17:22:19 1465

原创 [zz]vim下接下Ctrl+S造成程序僵死

我在使用vim的时候,偶尔会碰到vim莫名其妙的僵在那里。在界面上输入什么都没有反应。甚至Ctrl+C、Ctrl+D也没有反应。 由于不是经常发生,也就没在意。每次很麻烦的关掉putty的窗口,重新再打开putty。今天发生了好几次,很是郁闷。就想看看究竟是怎么回事,结果发现每次按下Ctrl+S就会出现这个问题。 由于以前碰到过vim有些扩展有问题,这次就也怀疑是vim扩展的问题。结果删...

2011-12-22 15:53:13 242

python中opencv 的配置

刚学了下python,准备用opencv做点东西,怕以后忘了如何配了,这里写下来做下记录 这里我用的是python 2.7.2, opencv 2.2,win7(64位) 其实配置非常简单,步骤如下:   下载并安装python 2.7.2(32位),opencv 2.2 在运行python程序之前,将%OPENCV_PATH%\Python2.7\Lib\site-packages...

2011-11-25 22:21:22 107

原创 zz:配置log4j

转自http://www.blogjava.net/zJun/archive/2006/06/28/55511.html   Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可接key=value格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。1. 配置文件Log4J配置文件的基本格式如下:  #配置根...

2011-07-29 22:05:26 71

java concurrency学习

今天看了下java官网上关于concurrency库的教程,了解了下基本知识,在此记录下。   线程池 concurrency库中最重要的概念当然是线程池,java中线程池是封闭在Executor接口的实现中的。当我们想执行新的线程中,传统的方法是   new Thread(r).start()    但线程的创建与销毁会造成一定的资源与时间的消耗,设想一下在一个web服务器,如果对...

2011-07-29 21:43:25 111

boost学习笔记之Pointer Container库

当我们需要在stl的库中装入多态类的对象时,通常的做法是在容器里装入父类的指针,然后手动释放,如我有以下两个类 class Light { .... } class PointLight:public Light { ... } std::vector<Light*> lights; lights.push_back(new PointLight(...

2011-07-19 12:25:43 155

Mathematics for Computer Science

离散数学基础,对于学习算法很有帮助的一本书

2015-08-13

Database Systems The Complete Book 2nd Edition

详细讲解了数据库的实现和知识,对于想要学习数据库实现的同学来说非常好

2015-08-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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