通过观察发现ArrayList是线程不安全的,那实现安全的方法有哪些呢??、
- List list=new Vector<>();
- List list=Collections.synchronizedList(new ArrayList<>());
- JUC包下面的
-
List list=new CopyOnWriteArrayList<>();
-
copyOnWriteArrayList的底层有哪些------写入时复制,cow优化策略
[List ]
[ArrayList]
[LinkedList]
[Set]
[HashSet]
[TreeSet]
[Map]
[HashMap]
[TreeMap]
JAVA中有许多的集合,常用的有List,Set,Queue,Map。
其中List,Set,Queue都是Collection(集合),其每个元素都是单独的一个对象,如List,Set等,String和Integer就是单独的一个对象。
而Map是一种图,其每个元素都是两个对象的一一对应,如Map<Integer, String>中的Integer是键 (key),String是这个键所对应的值(value)。每个元素都是一对Integer和String
HashSet的底层 就是hashmap!!!!!!!!!!
多线程的三种创建方式
thread
runnable
callable
callable--》可以有返回值
可以抛出异常
方法不同
例子直接贴一下狂神的 无非是一些工具方法替换
结果可以被缓存 有阻塞发生