数智图书馆-无锡数智政务 本次搜索耗时 6.042 秒,为您找到 263 个相关结果.
  • 4.3 第二个例子:执行周期性任务

    4.3 第二个例子:执行周期性任务 4.3.1 公共部件 4.3.2 基础阅读器 4.3.3 高级阅读器 4.3 第二个例子:执行周期性任务 在前面含有执行器的例子中,各任务都被执行一次,而且都被尽快执行。执行器框架包括了其他一些执行器实现,这使我们在任务的执行时间上有了更多的灵活性。ScheduledThreadPoolExecutor 类使我...
  • 9.1 使用流收集数据

    9.1 使用流收集数据 collect() 方法 9.1 使用流收集数据 第8章简要介绍了流。下面回顾一下流最重要的几个特征。 流并不存储元素。它们只处理存放在数据源(数据结构、文件等)中的元素。 流不可重用。 流可对数据进行延迟处理。 流操作不能修改流的源。 流允许你进行链式操作,因此一项操作的输出是下一项操作的输入。 流由下述三个...
  • 10.3 第二个例子:新闻系统

    10.3 第二个例子:新闻系统 10.3.1 News 类 10.3.2 发布者相关的类 10.3.3 Consumer 类 10.3.4 Main 类 10.3 第二个例子:新闻系统 前面的例子使用了SubmissionPublisher 类,因此没有实现Flow.Publisher 接口和Flow.Subscription 接口。如果Sub...
  • 10.4 小结

    10.4 小结 10.4 小结 在本章中,你了解到Java 9是如何实现反应流规范的。它为带有非阻塞回压的异步流处理定义了标准。该标准基于以下三个要素。 信息的发布者。 该信息的一个或多个订阅者。 发布者和消费者之间的订阅关系。 Java提供了三个接口来实现这些元素。 Flow.Publisher 接口,用于实现信息的发布者。 Flo...
  • 11.3 小结

    11.3 小结 11.3 小结 本章回顾了所有并发应用程序均具备的两个组成部分。第一个组成部分是数据结构。每一个程序都要使用数据结构将待处理的信息存放到内存中。我们介绍了并发数据结构,对Java 8并发API中引入的一些新功能进行了详细介绍,这主要涉及ConcurrentHashMap 类和实现Collection 接口的类。 第二个组成部分是同步机...
  • 13.5 小结

    13.5 小结 13.5 小结 Java并不是唯一可以针对JVM进行编程的语言。还有很多不同的编程语言采用了不同的范式,也可以用于这一目的。大部分编程语言都有自己实现并发应用程序的机制。 在本章中,我们了解到如何使用面向JVM的三种语言来实现并发应用程序。首先,Clojure是Lisp函数式编程语言的一种实现,它提供了编写并发应用程序的不同机制,如A...
  • 5.3 使用收集器

    5.3 使用收集器 5.3.1 转换成其他集合 5.3.2 转换成值 5.3.3 数据分块 5.3.4 数据分组 5.3.5 字符串 5.3.6 组合收集器 5.3.7 重构和定制收集器 5.3.8 对收集器的归一化处理 5.3 使用收集器 前面我们使用过collect(toList()) ,在流中生成列表。显然,List 是能想到的从...
  • 6.5 限制

    6.5 限制 6.5 限制 之前提到过使用并行流能工作,但这样说有点无耻。虽然只需一点改动,就能让已有代码并行化运行,但前提是代码写得符合约定。为了发挥并行流框架的优势,写代码时必须遵守一些规则和限制。 之前调用reduce 方法,初始值可以为任意值,为了让其在并行化时能工作正常,初值必须为组合函数的恒等值 。拿恒等值和其他值做reduce 操作时,...
  • 6.8 要点回顾

    6.8 要点回顾 6.8 要点回顾 数据并行化是把工作拆分,同时在多核CPU上执行的方式。 如果使用流编写代码,可通过调用parallel 或者parallelStream 方法实现数据并行化操作。 影响性能的五要素是:数据大小、源数据结构、值是否装箱、可用的CPU核数量,以及处理每个元素所花的时间。