02 2020 档案

摘要:1.引子 并发编程中使用HashMap可能导致程序死循环。因为多线程会put方法添加键值对时将导致HashMap的Entry链表形成环形数据结构,一旦形成环形数据结构,Entry的next节点永远不为空,就会产生死循环获取Entry。 另外Hashtable只是简单地使用阻塞式锁(synchroni 阅读全文
posted @ 2020-02-27 23:45 蜀中孤鹰 阅读(376) 评论(0) 推荐(0) 编辑
摘要:1.引子 "HashMap"由“hash”和“map"两个单词组成,这里的”map"表示“映射”而不是“地图”的意思,两个单词连起来就是“哈希映射表”。Map是一个接口,它有TreeSet 、LinkedHashMap、EnumMap、HashMap等实现类,其中HashMap无疑最重要也很复杂的一 阅读全文
posted @ 2020-02-21 22:56 蜀中孤鹰 阅读(194) 评论(0) 推荐(0) 编辑
摘要:1.简介 并发中常用的ReentrantLock,是一种典型的排他锁,这类锁在同一时刻只允许一个线程进行访问,实际上将并行操作变成了串行操作。在并发量大的业务中,其整体效率、吞吐量不能满足实现的需要。而且实际的业务中一般情况是读多于写,多个线程读操作不会改变已经有的数据,不会有数据的一致性问题,而一 阅读全文
posted @ 2020-02-15 00:57 蜀中孤鹰 阅读(298) 评论(0) 推荐(0) 编辑
摘要:1.引子 "ReentrantLock"单词中的“Reentrant”就是“重入”的意思,正如其名,ReentrantLock是一个支持重入的排他锁,即同一个线程中可以多次获得同步状态,常表现为lock()方法的嵌套使用(类似于synchronized代码类嵌套),而在AQS类注释的使用说明中的Mu 阅读全文
posted @ 2020-02-09 22:20 蜀中孤鹰 阅读(389) 评论(0) 推荐(0) 编辑
摘要:1.代码逻辑不清晰 origin CommerceItem mergeItem = null; List items = getNgpCartModifierFormHandler().getOrder().getCommerceItemsByCatalogRefId(baseCommItem.ge 阅读全文
posted @ 2020-02-02 20:54 蜀中孤鹰 阅读(203) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示