随笔分类 - JAVA
摘要:现在我们要对商店商品进行折扣服务.每个折扣代码对应不同的折扣率,使用一个枚举变量Discount.Code来实现这一想法,具体代码如下所示. 以枚举类型定义的折扣代码 /** * 折扣服务api * * @author Darcy * Created by Administrator on 2017/3/17. */ public class Discount...
阅读全文
摘要:* 实现异步API public double getPrice(String product) { return calculatePrice(product); } /** * 同步计算商品价格的方法 * * @param product 商品名称 * @return 价格 */ private
阅读全文
摘要:CompletableFuture是Java8新增的一个超大型工具类,为什么说她大呢?因为一方面它实现了Future接口,更重要的是,它实现了CompletionStage接口.这个接口也是Java8新增加的,而CompletionStage拥有多达约40种方法, * 完成了通知我 * 异步执行任务 通过CompletableFuture提供进一步封装,我们很容易实现Futur...
阅读全文
摘要:更快的原子类:LongAdder 大家对AtomicInteger的基本实现机制应该比较了解,它们是在一个死循环内,不断尝试修改目标值,知道修改成功,如果竞争不激烈,那么修改成功的概率就很高,否则,修改失败的概率就很高,在大量修改失败时,这些原子操作就会进行多次循环尝试,因此性能就会受到影响 那么竞
阅读全文
摘要:StampedLock是Java8引入的一种新的所机制,简单的理解,可以认为它是读写锁的一个改进版本,读写锁虽然分离了读和写的功能,使得读与读之间可以完全并发,但是读和写之间依然是冲突的,读锁会完全阻塞写锁,它使用的依然是悲观的锁策略.如果有大量的读线程,他也有可能引起写线程的饥饿 而Stamped
阅读全文
摘要:LocalDate LocalTime Instant duration以及Period 使用LocalDate和LocalTime //2017-03-20 LocalDate date = LocalDate.of(2017, 3, 20); int year = date.getYear();
阅读全文
摘要:筛选和切片 用谓词筛选,筛选出各个不相同的元素,忽略流中的头几个元素,或将流截断至指定长度 用谓词筛选 Stream接口支持filter方法,该操作接受一个谓词(返回一个boolean的函数) 作为参数,并返回一个包含所有符合谓词的元素的流. 筛选各异的元素 流支持一个叫distinct的方法 他会
阅读全文
摘要:流是什么 流是Java API的新成员,他允许你以声明的方式处理数据集合,就现在来说,可以把他们看成遍历数据集合的高级迭代器.此外,流还可以透明地并行处理,你无须写任何多线程代码. 下面例子是新老API的对比: 上面这段代码 用了一个"垃圾变量" lowCaloricDishes.他唯一的用途就是做
阅读全文
摘要:没有用Lambda表达式的写法: Lambda表达式的写法: Lambda表达式的三部分: 下面提供了一些Lambda的例子和使用案例 在哪里使用Lambda接口 可以在函数式接口上使用Lambda表达式, 例子: 方法引用 当你需要使用方法引用时,目标引用放在分隔符::前,方法名称放在后面,例如A
阅读全文

浙公网安备 33010602011771号