- 博客(4)
- 资源 (16)
- 收藏
- 关注
原创 ConcurrentHashMap 源码分析 (二)
接上文,CurrentHashMap的containsValue 方法在第一层for循环的时候读取了count,但是并没用到这个变量, int c = segments[i].count;这是因为segment[i].count是对volatile变量的访问,接下来segments[i].modCount才能得到几乎最新的值。写volatile变量和它之前的读写操作是不能reorder的,读volatile变量和它之后的读写操作也是不能reorder的。 修改modCount发生在修改count之前,
2011-03-19 14:42:00 1484
原创 ConcurrentHashMap 源码分析 (一)
很早就想研究ConcurrentHashMap ,不过一直拖拉,我也是个很容易被新奇好玩的技术吸引的人,这个呢有好也有坏。废话不多说上干货。 ConcurrentHashMap 最重要的就是引入了Segment 的概念,他在自己内部定义了这个Class来管理数据,这个Seg
2011-03-17 22:26:00 6857
原创 JVM逃逸分析
逃逸分析英文作Escape Analysis。在计算机语言编译器优化原理中,逃逸分析是指分析指针动态范围的方法,它同编译器优化原理的指针分析和外形分析相关联。 当变量(或者对象)在方法中分配后,其指针有可能被返回或者被全局引用,这样就会被其他过程或者线程所引用,这种现象称作指针(或者引用)的逃逸(Escape)。在Java中比如下面的方法:......static V global_v;public void a_method(){ V v=b_method(); c_method();}public V
2011-03-17 11:00:00 2727
原创 memcache 集群
memcache是一个分布式的缓存系统,但是本身没有提供集群功能,在大型应用的情况下容易成为瓶颈。但是客户端这个时候可以自由扩展,分两阶段实现。第一阶段:key要先根据一定的算法映射到一台memcache服务器。第二阶段从服务器中取出缓存的值。但是有一个问题,比如其中一台服务器挂了,或者需要增加一台服务的时候,这个时候第一阶段的算法就很重要了,怎样使得原来的数据尽可能的继续有效,减少扩展节点或缩减节点带来的冲击。下面列出想到一些解决方法:一:hash一致性算法:优点:当一个节点失效的时候,其他节点的数据不会
2011-03-15 10:42:00 5869
第一本DOCKER书 修订版
2017-12-15
osgi进阶.pdf
2009-08-20
OSGI实战.pdf
2009-08-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人