- 浏览: 21102 次
- 性别:
- 来自: 成都
最新评论
-
u013275927:
使用时间戳生成id,同一台单机也会存在并发重复问题吧,即相同毫 ...
通过Zookeeper学习在分布式系统中生成全局唯一ID -
zm9913:
喜欢你的分析思路
Zookeeper-BinaryOutputArchive的utf-8的实现
文章列表
Session是Zookeeper中的会话实体,代表了一个客户端会话。SessionID用来唯一标识一个会话,因此Zookeeper必须保证sessionID的全局唯一性,在每次客户端向服务端发起"会话创建"请求时,服务端都会为其分配一个sessionID。那么Zookeeper是如何实现的呢?
在SessionTracker初始化的时候,会调用initializeNextSession方法来生成一个初始化的sessionID,之后在Zookeeper的正常运行过程中,会在该sessionID的基础上为每个会话进行分配。
/**
* Generates ...
调用Zookeeper的构造方法来实例化一个Zookeeper。我们以一个构造方法进行一步一步的分析。
下面是一个Zookeeper的构造方法:
public ZooKeeper(String connectString, int sessionTimeout, Watcher watcher,
boolean canBeReadOnly, HostProvider aHostPr ...
通过学习Zookeeper来对自己的java知识进一步细化。这里先从整体把Zookeeper会话的创建过程总结出来。这些信息都是出自《从Paxos到Zookeeper》这本书。然后接下来一步一步通过源码分析是如何做的。
一次会话的创建过程
初始化阶段
初始化Zookeeper对象。调用Zookeeper的构造方法来实例化一个Zookeeper,在初始化过程中,会创建一个客户端的Watcher管理器:ClientWatchManager。
设置会话默认Watcher。如果在构造方法中传入一个Watcher对象,那么客户端会将这个对象作为默认Watcher保存在ClientWatchM ...
我们访问一个web应用系统的流程一般是这样的:
1.用户输入相应的url地址,web容器首先接受到了用户的请求。然后根据加载的web.xml中映射的地址把请求的参数封装到相应的对象中,然后以方法参数的方式传递给应用程序。
...
BinaryOutputArchive类位于org.apache.jute包中,是序列化组件中的一个类。从字面意思理解就是输出类。这里类实现了OutputArchive接口。并且在构造函数中需要传递一个DataOutput接口的实现类。
在这个代码中有一段代码引起了我的注意:
/**
* create our own char encoder to utf8. This is faster
* then string.getbytes(UTF8).
* @param s the string to encode into utf8
...
java中的几个关键字
在看Spring的源码时,发现transient这个关键字。于是去请教了google老师。了解到了几个java中的关键字。
1.native :
native是方法修饰符。Native方法是由另外一种语言(如c/c++,FORTRAN,汇编)实现的本地方法。因为在外部实现了方法,所以在java代码中,就不需要声明了,有点类似于接口方法。Native可以和其他一些修饰符连用,但是abstract方法和Interface方法不能用native来修饰。
2.strictfp :
修饰类和方法,意思是FP-strict,精确浮点。当JAVA虚拟机进行 ...
Spring随笔-ProxyFactoryBean
项目要用到对于权限的控制。想到Spring的AOP比较适合,所以翻阅了下Spring的原文档。发现了个ProxyFactoryBean。与大家分享下。
看这个类的名称第一感觉就是代理模式的应用。关于代理模式以后 ...
Ext随笔(1)-3.0新布局
在ext2.x的时候对于页面的布局虽然已经很丰富了。但对于细节上的布局还是不够完美。如在一个表单中,既要有行也要有列的时候,布局很麻烦。在ext3.x中发现对于这方面进行了改进。所以找了些资料学习了一番。在此分享给大家。
在ext3.x中新添加了HboxLayout布局和VboxLayout。看字面上的意思,大家就可以猜的出来。HboxLayout是进行列布局的,VboxLayout是进行布局的。查看官方的API,大部分的配置项都很简单,一看就知道其意思。其中配置项align需要研究研究。有4个可选择的值:
top:默认值,子元素垂直排列在容器的左边。 ...
ActionScript常用正则表达式收集
对于正则表达式,现在使用的越来越多。感觉它在验证方面和搜索方面确实方便。所以平时对于一些常用的验证表达式记录了下来。以下是ActionScript中常用的表达式。汇总如下: 1.匹配正整数: /^[1-9]\d*$/ 2.匹配负整数: /^-[1-9]\d*$/ 3.匹配浮点数: /^-?(([1-9]\d|0))\.\d*$/ 4.匹配二进制数字: /^([0|1]{4}\s)*([0|1]{4})$/ 5.匹配八进制数字: /^0[1-7][0-7]*$] 6.匹配十六进制数字: /^0x[0-9][A-F]*$/ 7.匹配中国人姓名:通 ...