JUC
文章平均质量分 93
第二颗大白菜
每天写点什么,不是为了得到一些什么,也不是向谁证明一些什么,更不是为了存在感,而是让自己知道每天都做了些什么。
展开
-
LockSupper是什么?他和Lock、Synchroized有什么关系?解决了什么?
LockSupper是什么?他和Lock、Synchroized有什么关系?解决了什么?话不多说,先贴文档:关键的一句话:用于创线程和其他同步类的基本线程阻塞原语;简单来说,就是阻塞线程的;但是我们阻塞线程不可以用await、wail吗?看第三行:方法park和unpark提供了阻止、解除阻塞(唤醒)线程的有效手段,该方法不会遇到导致不推荐使用的方法Thread.suspend和Thread.resume目前不能使用的问题:一个线程调用park和另一个线程之间的尝试unpar..原创 2021-02-10 21:01:52 · 494 阅读 · 0 评论 -
AQS来了!!!!!!!!!
原创 2020-12-09 23:45:06 · 138 阅读 · 0 评论 -
今天说点什么好呢?来说一下集合(ArrayList)为什么会不安全吧。(继上回说的cas)
ArrayList,基本不陌生的,我们看看API很常用的一个动态数组,话不多说,直接上代码(笔者是jdk8)注意观察其add方法,一进入就是两个!!,增加数量。哈哈哈注意:arrayList将元素添加至list尾部。一步一步分析哈ensureCapacityInternal()是什么方法呢?两个私有方法,跳来跳去,真的迷。他到底做了个什么工作呢?先看此方法也就是说,ArrayList如果为空,那么必须最小容量是10,可以看到上述方.原创 2020-07-31 18:10:43 · 981 阅读 · 0 评论 -
今天来讲讲分布式环境下,怎么达到对象共享,以及实现原子性(atomic),以Redis中的Redisson为例(实现分布式锁、分布式限流等)
相信各位对redis肯定是不陌生的,一个高吞吐量的内存型结构存储数据库。可用用于很多业务场景,能够有效的解决很多复杂的并发问题,分布式问题。下面粘一下中文官网介绍:关于解决对象共享问题,很多方式,通过一般的关系型数据库就可以(mysql),但是相较而言,mysql关系型数据库和nosql数据库,两者读写效率也是不一样的,一个在硬盘上工作,一个在内存上工作,此就是差距;频繁的IO操作,大大降低了CPU性能;redis采用cache。完全不一样的性能。用一组数据对比:redis读写能力.原创 2020-07-30 10:09:40 · 2579 阅读 · 0 评论 -
验证Collectors.groupingByConcurrent和 Collectors.groupingBy效率问题 (并行流 串行流)
一、定义实体类(数据载体) @Data public static class Stu { private Integer userId; private String fromClassId; }二、定义main方法 public static void main(String[] args) { List<Stu> studentDTOS = Lists.newArrayList(); .原创 2020-07-15 10:35:03 · 6309 阅读 · 0 评论