JUC安全实现类的一些介绍!03

91 阅读1分钟

通过观察发现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!!!!!!!!!!

image.png

多线程的三种创建方式

    thread
    runnable
    callable

callable--》可以有返回值
            可以抛出异常
            方法不同

例子直接贴一下狂神的 无非是一些工具方法替换

image.png

结果可以被缓存 有阻塞发生