- 博客(4)
- 问答 (1)
- 收藏
- 关注
图解LinkedHashMap的LRU
数据结构支持: 双向循环链表改造过程:1,在LinkedHashMap的初始化过程添加一个dumy的header双向链表头2,在Entry添加before和after过程演示:1. dumy的header before(header)<----header --->after(header)2. 插入第一个entry ...
2012-05-23 15:40:01 78
原创 ReentrantLock为啥会出现不公平的场景
不公平锁产生的原因的是acquire在enqueue之前,这样后来的线程有可能会较在等待队列中的等待者之前获得锁。barging这个词可以理解为闯入,插队。不公平锁会导致某些线程总是不排队就获得锁,而同时排在队尾的线程总是出现饥饿状态。那么如何获取公平锁呢,Doug Lee页给出了方案,很简单在acquire的时候,首先检查当前线程是否在队列中(对首),如在队列中即可获得,如不...
2012-05-22 12:31:11 165
httpclient3.1的relaseConnection的misunderstand
releaseConnection是close connection,基于连接池的认识,我们首先会想到是释放链接,至于是否close就不得而知了。近日发现线上系统出现了close wait的socket,close wait是由于被动关闭的一方没有执行socket.close()导致,由此可见我们code中存在没有正确关闭socket。类似的code是这样的HttpClient h...
2012-05-17 15:54:15 248
原创 NIO[SelectableChannel.register和Selector.select会有锁等待冲突]
结论: register得放在select之前进行Thread Dump信息:"Poller-1" prio=6 tid=0x040f0400 nid=0x408 runnable [0x044df000] java.lang.Thread.State: RUNNABLE at sun.nio.ch.WindowsSelectorImpl$SubSele...
2012-05-09 09:40:12 440
空空如也
Javaeye API的Http basic验证
2009-03-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人