iterate使用了parallel() 反而消耗了更多的时间
摘要:直接上代码: 结果: 使用了parallel() 反而消耗了更多的时间 原因: iterate生成的是装箱的对象,必须拆箱成数字才能求和; 我们很难把iterate分成多个独立块来并行执行。 可以利用的解决方法: 留意装箱。自动装箱和拆箱操作会大大降低性能。Java 8中有原始类型流(Int
阅读全文
posted @
2017-11-28 20:51
一个帅哥9527
阅读(303)
推荐(0)
Stream 分支/合并 框架的实际例子
摘要:请注意在实际应用时,使用多个ForkJoinPool是没有什么意义的。正是出于这个原因,一般来说把它实例化一次,然后把实例保存在静态字段中,使之成为单例,这样就可以在软件中任何部分方便地重用了。这里创建时用了其默认的无参数构造函数,这意味着想让线程池使用JVM能够使用的所有处理器。更确切地说,该构造
阅读全文
posted @
2017-11-28 20:47
一个帅哥9527
阅读(620)
推荐(0)
区分Collection、Collector和collect Collectors类的静态工厂方法
摘要:工厂方法 返回类型 用 于toList List<T> 把流中所有项目收集到一个List使用示例:List<Dish> dishes = menuStream.collect(toList());toSet Set<T> 把流中所有项目收集到一个Set,删除重复项使用示例:Set<Dish> dis
阅读全文
posted @
2017-11-28 17:33
一个帅哥9527
阅读(2580)
推荐(0)
Optional<T> 避免和null检查相关的bug
摘要:Optional<T>类(java.util.Optional)是一个容器类,代表一个值存在或不存在。在上面的代码中,findAny可能什么元素都没找到。Java 8的库设计人员引入了Optional<T>,这样就不用返回众所周知容易出问题的null了。我们在这里不会详细讨论Optional,因为第
阅读全文
posted @
2017-11-27 17:35
一个帅哥9527
阅读(157)
推荐(0)
筛选、切片、匹配、查找、匹配、归约
摘要:筛选: numbers.stream().filter(i -> i % 2 == 0).distinct().forEach(System.out::println); 延伸:可以去掉distinct(),改用toSet()可以去掉distinct(),改用toSet() transactions
阅读全文
posted @
2017-11-27 17:02
一个帅哥9527
阅读(192)
推荐(0)
java8 流 中的常用函数式接口
摘要:函数式接口 函数描述符 原始类型特化Predicate<T> T->boolean IntPredicate,LongPredicate, DoublePredicateConsumer<T> T->void IntConsumer,LongConsumer, DoubleConsumerFunct
阅读全文
posted @
2017-11-27 14:07
一个帅哥9527
阅读(677)
推荐(0)
java8 流
摘要:实现:赛选苹果 基类 方法类: 知识点: 如上图,接口类,可以写default 开头的方法,此方法可以直接写实现,而且,子类不用集成此方法
阅读全文
posted @
2017-11-15 18:13
一个帅哥9527
阅读(162)
推荐(0)