zoukankan      html  css  js  c++  java
  • Java 8 和 Java 9部分区别

    Java 8 和 Java 9中 concurrent 包有了一些改变, 本文对这些改变做了汇总。
    Java 8 中 Concurrent package的改变
    java.util.concurrent中新的类和接口
    增加了两个新接口和4个新类:
    接口 CompletableFuture.AsynchronousCompletionTask
    接口 CompletionStage
    类 CompletableFuture
    类 ConcurrentHashMap.KeySetView
    类 CountedCompleter
    类 CompletionException
    java.util.concurrent.ConcurrentHashMap的新方法
    集合框架 在Java 8中做了修订,基于 stream 和 lambda表达式 添加了很多聚合方法。因此 ConcurrentHashMap 也引入了30几个新方法,包括各种 foreach 方法(forEach , forEachKey , forEachValue , 和 forEachEntry )、搜索方法( search , searchKeys , searchValues , 和 searchEntries )和reduction方法( reduce ,reduceToDouble , reduceToLong 等)。
    也添加了一些其它方法,比如 mappingCount 和 newKeySet 。并且当前版本的 ConcurrentHashMap 的更适合做cache,因为增加了当键值不存在的时候的检查方法。
    java.util.concurrent.atomic中的新类
    为了并发计算count、sum, 新引入了 DoubleAccumulator , DoubleAdder , LongAccumulator , LongAdder 类,比Atomic提供更高的吞吐率。
    java.util.concurrent.ForkJoinPool的新方法
    静态的 commonPool() 新加入,可以为ForkJoinTask提供通用池。
    两个方法 getCommonPoolParallelism() 和 commonPool() 提供不同的配置。
    新类 java.util.concurrent.locks.StampedLock
    新类 StampedLock 提供三种模式(写,读,乐观读),用来提高性能。
    Java 9 中 Concurrent package的改变
    主要是 JEP 266: More Concurrency Updates , 包括publish-subscribe, CompletableFuture 接口的加强等。
    支持Reactive Streams publish-subscribe框架,四个接口 Processor 、 Publisher 、 Subscriber 、 Subion ,容器类 java.util.concurrent.Flow 、java.util.concurrent.SubmissionPublisher
    CompletableFuture类加强,支持delays, timeout, subclassing 以及其它方法
    调优以及修改javadoc
  • 相关阅读:
    AngularJS使用angular-formly进行表单验证
    AngularJS使用ngMessages进行表单验证
    AngularJS订阅API服务
    AngularJS中module的导入导出
    Gulp快速入门
    AngularJS过滤排序思路
    AngularJS表单验证,手动验证或自动验证
    AngularJS的增删改查、state嵌套案例,不涉及服务端
    前端使用AngularJS的$resource,后端ASP.NET Web API,实现分页、过滤
    前端使用AngularJS的$resource,后端ASP.NET Web API,实现增删改查
  • 原文地址:https://www.cnblogs.com/xiaoshen666/p/10898730.html
Copyright © 2011-2022 走看看