源无极

导航

 

2019年8月29日

摘要: 一、HashSet的总结 (一) HashSet是Set接口的实现,元素无序、不可重复,==底层是一个HashMap==,用以保存数据。 不能保证元素的排列顺序,顺序有可能发生变化。 线程不安全。 集合元素可以是null,但只存在一个null。 线程安全:​ ==HashSet是线程不安全的==,需 阅读全文
posted @ 2019-08-29 22:35 源无极 阅读(123) 评论(0) 推荐(0) 编辑
 
摘要: 一、使用常识 HashMap是一中比较常用的,也比较好用的集合,但是HashMap有一个顺序的问题,就是在对HashMap进行迭代访问时, 添加的顺序和访问的顺序可能就不一样的,这个时候我们可以选择LinkedHashMap,LinkedHashMap继承了HashMap,所以拥有和HashMap一 阅读全文
posted @ 2019-08-29 21:13 源无极 阅读(1096) 评论(0) 推荐(0) 编辑
 
摘要: 一 、 TreeMap中的元素默认按照keys的自然排序排列。 (对Integer来说,其自然排序就是数字的升序;对String来说,其自然排序就是按照字母表排序) 案例一 案例二 案例三 案例四 案例五 结论一:由以上知道,对Integer来说,其自然排序就是数字的升序 指的是针对key来说的。 阅读全文
posted @ 2019-08-29 18:37 源无极 阅读(172) 评论(0) 推荐(0) 编辑
 
摘要: 大多数javaer都知道HashMap是线程不安全的,多线程环境下数据可能会发生错乱,一定要谨慎使用。这个结论是没错, 可是HashMap的线程不安全远远不是数据脏读这么简单,它还有可能会发生死锁,造成内存飙升100%的问题 参见:https://www.cnblogs.com/wyq178/p/8 阅读全文
posted @ 2019-08-29 17:33 源无极 阅读(955) 评论(0) 推荐(0) 编辑
 
摘要: ava中LinkedList是线程不安全的,那么如果在多线程程序中有多个线程访问LinkedList的话会出现什么问题呢? 使用 多线程安全版 ConcurrentLinkedQueue 阅读全文
posted @ 2019-08-29 10:37 源无极 阅读(980) 评论(0) 推荐(0) 编辑
 
摘要: 多线程场景下如何使用 ArrayList ArrayList 不是线程安全的,但是线程不安全的原因及表现,怎么在多线程情况下使用ArrayList,这里总结一下 1. 源码分析 查看 ArrayList 的 add 操作源码如下 通过源码可以看出:ArrayList的实现主要就是用了一个Object 阅读全文
posted @ 2019-08-29 10:03 源无极 阅读(2937) 评论(1) 推荐(0) 编辑