![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
@吕树
偶成
[作者]
朱熹(宋)
少年易老学难成,一寸光阴不可轻。
未觉池塘春草梦,阶前梧叶已秋声。
展开
-
CAS的ABA问题及解决代码示例
1、ABA问题示例package com.example.sgg.juc;import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicInteger;import java.util.concurrent.atomic.AtomicStampedReference;/** * ABA问题 * Created by 奔跑的蜗牛 on 2022/5/5 0005. * 每天学习一点点,每天进步原创 2022-05-05 23:13:08 · 347 阅读 · 0 评论 -
DCL懒汉式 + volatile 的单例模式
package com.example.sgg.designpattern.single;/** * DCL懒汉式 + volatile 的单例模式 * Created by 奔跑的蜗牛 on 2022/4/24 0024. * 每天学习一点点,每天进步一点点 */public class LazyMan { private LazyMan() { System.out.println(Thread.currentThread().getName() + "ok" .原创 2022-04-24 23:53:50 · 310 阅读 · 0 评论 -
Java线程池学习示例
package com.example.sgg.juc;import java.util.concurrent.*;import java.util.concurrent.atomic.AtomicInteger;/** * 线程池示例 * 不推荐使用Executors的4大方法来创建线程池,因为它们的队列长度为21亿,避免OOM * Created by 奔跑的蜗牛 on 2022/4/21 01:54:25(凌晨了,时间为手编记录) * 每天学习一点点,每天进步一点点 * * 推.原创 2022-04-21 01:58:39 · 2033 阅读 · 0 评论 -
Stream() List转Map案例
1、根据列表中实体字段与实体的映射Map//不建议使用 因为key重复的话,Collectors.toMap报错 :Duplicate keyMap<Long, User> maps = userList.stream().collect(Collectors.toMap(User::getId,Function.identity()));//推荐 mergeFuction参数,遇到重复key时,可以选择第一个或者最后一个作为valueMap<Long, User> m原创 2022-04-13 16:57:42 · 771 阅读 · 0 评论 -
List列表运用Java8的stream流按某字段去重
问题项目中经常会遇到列表去重的问题,一般可使用Java8的stream()流提供的distinct()方法:list.stream().distinct()。list的类型为List<String>、List<Integer>,list里的元素为简单包装类型。或者List<Xxx>,其中Xxx为自定义对象类型,重写equals和hashCode方法,可根据业务情况来实现,如id相同即认为对象相等。有时会遇到这种情况,需要对按对象里的某字段来去重。例如:原创 2022-03-18 09:36:12 · 11507 阅读 · 1 评论