回眸

zz Java与缓存

分类: 技术   标签: , ,    查看:29    评论: 0

以前看到过几篇讲缓存的文章,比较散,今天订阅的淘宝博客里更新了一个有关缓存系列,比上次Infoq易懂多了,转过来保存下。里面的测试命令也没用过,perf之类的,很好很强大。

简单来讲,存储在一起的变量会同时load到缓存中(以缓存行为单位,一般情况为64bits),所以

  1. 遍历时尽量按照物理存储的顺序,可以加大缓存命中率,避免频繁地缓存更换
  2. 设计数据结构时,如果靠在一起的变量会被频繁的多线程读写,那么可以考虑把这些变量升级到64位(小于等于64bits,尽量接近,那么就可以使得一个变量放到一个缓存行内),避免多核情况下,CPU缓存共享带来的消耗

以下就是转载的缓存系列,来自淘宝通用团队:

05-08
2012

zz 为什么我还是单身

分类: 分享       查看:21    评论: 0

BBS上转过来的,有些相似的感觉,存一个~

大学以来,看多了身边同学朋友的感情事,有的分分合合,有的如走马灯般,换了一个又

一个,久而久之,一开始对爱情的渴望就变成了一脸云淡风轻的调笑:“感情嘛……不过

就是那么回事儿。”于是照常吃饭、睡觉、上课,日子过得和大本钟一样有规律,然而时

光荏苒,突然间,小学同学开始晒宝宝,初中同学开始晒婚纱,高中大学同学开始晒恩爱

的时候,心里开始了些许焦虑:我成剩女了?翻出蒙尘许久的镜子,仔仔细细地端详,生

怕在韶华正好的脸上看到一丝时光的印迹。

扪心自问,觉得自己对另一半的要求实在不算高,不在乎样貌身高,不祈求荣华富贵,用

那句被千百人说了无数遍的话讲,只是希望能找到一个能陪我看细水长流,陪我三餐一

宿,也共一双,陪我把最平淡的日子耐心消磨的人,但是至今我都没遇上。

青春年少的日子,冲动又懵懂,每个人都会有丝丝情愫萦绕心头,有句话讲:人不轻狂枉

少年。想来,人无思慕,亦是枉了少年时吧。曾经,也有过零零碎碎的感情片段,但都无

疾而终,当时的自己,无知自负的可以,总觉得不是一心人,不必留恋,现在细细忖度,

才觉得,有今天这个局面,还是自己一手造成的。

继续阅读 »

05-06
2012

HashSet线程不安全引起的ConcurrentModificationException问题

分类: 技术   标签:    查看:119    评论: 1

HashSet,HashMap,ArrayList众所周知是线程不安全的,大家都会注意多线程操作时会引发同步问题,但没想到我遍历删除时也引发的ConcurrentModificationException。

过程是这样的,通过Iterator来遍历HashSet,期间如果某个元素==a,那么就从HashSet中删除掉该元素,此时报如下的错:

Exception in thread “main” java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793)
at java.util.HashMap$KeyIterator.next(HashMap.java:828)
at com.ikrady.brooklyn.segment.filter.KeywordsFilter.perform(KeywordsFilter.java:44)
at com.ikrady.brooklyn.segment.FilterChain.perform(FilterChain.java:26)
at com.ikrady.brooklyn.segment.TestFilterChain.main(TestFilterChain.java:27)

解决办法是先在iterator里remove,再从set中remove。
继续阅读 »

02-20
2012
loading...