java基础
文章平均质量分 89
xhanglog
学习ing
展开
-
ArrayList、HashSet和HashMap线程不安全的解决办法
一、ArrayList的一个不安全的案例 我们都知道 ArrayList 是一个线程不安全的集合类,下面是一段 ArrayList 不安全的代码:List<String> list= new ArrayList<>();for (int i = 1; i <=30; i++) { new Thread(()->{ list.add(UUID.randomUUID().toString().substring(1,8)); S原创 2020-11-29 16:29:27 · 414 阅读 · 1 评论 -
CAS是什么?ABA问题又应该如何理解?
一、为什么值和预期不一样? 我们先来看下下面的这段 Java 程序,开启十个线程,每个线程进行 number++ 操作 1000 次,最终输出的值大小应该为 10000:public void addNumber(){ number++;}for (int i = 1; i <=10 ; i++) { new Thread(()->{ for (int j = 1; j <=1000; j++) { data.addNum原创 2020-05-12 08:27:29 · 405 阅读 · 0 评论 -
设计模式之单列模式
设计模式之单列模式整个系统中只有一个实例存在。一、单列模式的实现方式饿汉模式public class Singleton{ private static final Singleton instance = new Singleton();//自己创造自己,保证唯一不可变 private Singleton(){}//构造方法私有化 public stati...原创 2019-10-18 21:19:19 · 173 阅读 · 0 评论