07 2021 档案
摘要:一文秒懂 Java Fork/Join fork/join 框架是 Java 7 中引入的 ,它是一个工具,通过 「 分而治之 」 的方法尝试将所有可用的处理器内核使用起来帮助加速并行处理。 在实际使用过程中,这种 「 分而治之 」的方法意味着框架首先要 fork ,递归地将任务分解为较小的独立子任
阅读全文
摘要:一、VarHandle简介变量句柄(VarHandle)是对于一个变量的强类型引用,或者是一组参数化定义的变量族,包括了静态字段、非静态字段、数组元素等,VarHandle支持不同访问模型下对于变量的访问,包括简单的read/write访问,volatile read/write访问,以及CAS访问
阅读全文
摘要:引言 讲完了CyclicBarrier和CountDownLatch,今天讲一个跟这两个类有点类似的Phaser.->移相器 java7中引入了一种新的可重复使用的同步屏障,称为移相器Phaser.Phaser拥有与CyclicBarrier和CountDownLatch类似的功劳.但是这个类提供了
阅读全文
摘要:引言今天我们讲最后一个同步工具类Exchanger,这个比较简单,就是让两个线程交换数据. 理论Exchanger只有两个方法而已,而且两个还是一样的,只是参数不通而已* exchange(V x) 跟另外一个线程交换数据x,如果另外一个线程的数据准备好,那么当前线程会立刻返回,并获得另外一个线程的
阅读全文
摘要:LongAdder LongAccumulator 用法实例如果程序内有高度的竞争,大量的线程访问同一个原子值,可以使用 LongAdder 和 LongAccumulator,这个类是 Java 8 提供用于在高度竞争环境下替代 AtomicLong 的。 LongAdder adder = ne
阅读全文
摘要:synchronize必须是重入锁,为什么呢? 就是因为父子类不会破坏继承基础思想: 父子类对象锁重入的意思是子类的同步方法调用了父类的同步方法同样不需要再去竞争锁,因为该线程已经拥有了该对象的锁,子类对象继承了父类的方法。 我们看下代码: 父类: package com.ck.thread; pu
阅读全文
摘要:很多情况下sql不好解决的多表查询,临时表分组,排序,尽量用java8新特性stream进行处理 使用java8新特性,下面先来点基础的: List<类> list; 代表某集合 //返回 对象集合以类属性一升序排序 list.stream().sorted(Comparator.comparing
阅读全文