- 博客(4)
- 收藏
- 关注
原创 leetcode146 LRUCache
class LRUCache { int capacity; int len=0; private Map<Integer,DoubleNode> map=new HashMap<Integer,DoubleNode>(); DoubleNode head; DoubleNode tail; public LRUCache(...
2018-12-23 09:34:41 262
原创 HashMap的线程不安全分析
大家都知道hashMap是线程不安全的,concurrentHashMap是线程安全的,而具体的原因可能还不是很清楚。现在先来分析一下hashMap的代码:(jdk 1.8)jdk在到1.8的时候多了很多新特性,hashmap也做了很多改动,由之前的数组+链表的模式,变成了数组+链表或数组+红黑树的模式。原因可想而知,当hash冲突增多的时候,长长的链表挂在一个数组节点上,这时候的get操...
2018-12-02 18:53:22 846
原创 JSON转义的问题
1.序列化循环引用的问题(1)一般情况下,是被序列化对象中,有多处引用了同一个数据,类似于下面这种:"receiver": { "$ref": "$[0].buyer"},或者在传到前端的时候,会有类似的情况:"$ref":"$.map.monthFinishRed[5]"就是receiver引用buyer字段的内容,此时的JSON对象保存的receiver是指向...
2018-12-02 15:51:36 1297
原创 db与缓存不一致的问题
db和缓存的先后问题在日常代码中是很常见的,现在来分析一下每种情景的细节首先排除定时删除缓存的这种操作,因为这样不会有双写问题。因为不管有多少线程,(1)缓存没失效的时候都是走的缓存;(2)然后缓存在某一时刻失效时,线程A先到,发现缓存失效,从DB里面去读,此时读的都是最新的值。(3)即使在(2)中,正好遇到别的线程B更新db的值,若A在更新之前读,并写入缓存,那这一波仍然用的...
2018-12-02 15:50:40 907
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人