2009年3月10日

ConcurrentHashMap之实现细节 5

摘要: 有些操作需要涉及到多个段,比如说size(), containsValaue()。先来看下size()方法: Java代码 public int size() { final Segment[] segments = this.segments; long sum = 0; ... 阅读全文

posted @ 2009-03-10 10:40 dhj 阅读(132) 评论(0) 推荐(0)

ConcurrentHashMap之实现细节 4

摘要: http://www.javaeye.com/topic/344876 该方法也是在持有段锁的情况下执行的,首先判断是否需要rehash,需要就先rehash。接着是找是否存在同样一个key的结点,如果存在就直 接替换这个结点的值。否则创建一个新的结点并添加到hash链的头部,这时一定要修改mod... 阅读全文

posted @ 2009-03-10 10:40 dhj 阅读(119) 评论(0) 推荐(0)

ConcurrentHashMap之实现细节3

摘要: 实现细节 修改操作 先来看下删除操作remove(key)。Java代码 public V remove(Object key) { hash = hash(key.hashCode()); return segmentFor(hash).remove(key, has... 阅读全文

posted @ 2009-03-10 10:39 dhj 阅读(143) 评论(0) 推荐(0)

ConcurrentHashMap之实现细节2

摘要: 数据结构 关于Hash表的基础数据结构,这里不想做过多的探讨。Hash表的一个很重要方面就是如何解决hash冲突,ConcurrentHashMap 和HashMap使用相同的方式,都是将hash值相同的节点放在一个hash链中。与HashMap不同的是,ConcurrentHashMap使用 ... 阅读全文

posted @ 2009-03-10 10:38 dhj 阅读(209) 评论(0) 推荐(0)

ConcurrentHashMap之实现细节

摘要: ConcurrentHashMap是Java 5中支持高并发、高吞吐量的线程安全HashMap实现。在这之前我对ConcurrentHashMap只有一些肤浅的理解,仅知道它采用了多个锁,大 概也足够了。但是在经过一次惨痛的面试经历之后,我觉得必须深入研究它的实现。面试中被问到读是否要加锁,因为读... 阅读全文

posted @ 2009-03-10 10:38 dhj 阅读(151) 评论(0) 推荐(0)

jquery UI入门

摘要: 所有效果说明:基本的鼠标互动:拖拽(drag and dropping)、排序(sorting)、选择(selecting)、缩放(resizing)各种互动效果:手风琴式的折叠菜单(accordions)、日历(date pickers)、对话框(dialogs)、滑动条(sliders)、表格... 阅读全文

posted @ 2009-03-10 09:31 dhj 阅读(165) 评论(0) 推荐(0)

导航