当前位置: 首页 > news >正文

临海城市建设网站免费外链网盘

临海城市建设网站,免费外链网盘,idea制作网站,一起做网站广州12. 四大函数式接口 新时代的程序员#xff1a;lambda表达式、链式编程、函数式接口、Stream流式计算 函数式接口#xff1a;只有一个方法的接口#xff0c;可以有一些默认的方法 如#xff1a;Runnable接口函数 1#xff09;Function 函数型接口 public class Functio…12. 四大函数式接口 新时代的程序员lambda表达式、链式编程、函数式接口、Stream流式计算 函数式接口只有一个方法的接口可以有一些默认的方法 如Runnable接口函数 1Function 函数型接口 public class FunctionDemo {public static void main(String[] args) {FunctionString, String function (str) - {return str;};System.out.println(function.apply(aaaaaaaaaa));} }2Predicate 断定型接口 public class PredicateDemo {public static void main(String[] args) {PredicateString predicate (str) - {return str.isEmpty();};// falseSystem.out.println(predicate.test(aaa));// trueSystem.out.println(predicate.test());} }3Consummer 消费型接口 /*** 消费型接口 没有返回值只有输入*/ public class Demo3 {public static void main(String[] args) {ConsumerString consumer (str)-{System.out.println(str);};consumer.accept(abc);} }4Suppier 供给型接口 /*** 供给型接口只返回不输入*/ public class Demo4 {public static void main(String[] args) {SupplierString supplier ()-{return 1024;};System.out.println(supplier.get());} 13. Stream 流式计算 /*** Description* 题目要求 用一行代码实现* 1. Id 必须是偶数* 2.年龄必须大于23* 3. 用户名转为大写* 4. 用户名倒序* 5. 只能输出一个用户**/public class StreamDemo {public static void main(String[] args) {User u1 new User(1, a, 23);User u2 new User(2, b, 23);User u3 new User(3, c, 23);User u4 new User(6, d, 24);User u5 new User(4, e, 25);ListUser list Arrays.asList(u1, u2, u3, u4, u5);//封装对象// lambda、链式编程、函数式接口、流式计算list.stream().filter(user - {return user.getId()%2 0;}).filter(user - {return user.getAge() 23;}).map(user - {return user.getName().toUpperCase();}).sorted((user1, user2) - {return user2.compareTo(user1);}).limit(1).forEach(System.out::println);} }14. ForkJoin ForkJoin 在JDK1.7并行执行任务提高效率~。在大数据量速率会更快 大数据中MapReduce 核心思想-把大任务拆分为小任务 1ForkJoin 特点 工作窃取 实现原理是双端队列从上面和下面都可以去拿到任务进行执行 2如何使用ForkJoin? 1、通过ForkJoinPool来执行2、计算任务 execute(ForkJoinTask task)3、计算类要去继承ForkJoinTask 理解API ForkJoin 的计算类 package com.marchsoft.forkjoin;import java.util.concurrent.RecursiveTask;public class ForkJoinDemo extends RecursiveTaskLong {private long star;private long end;/** 临界值 */private long temp 1000000L;public ForkJoinDemo(long star, long end) {this.star star;this.end end;}/*** 计算方法* return*/Overrideprotected Long compute() {if ((end - star) temp) {Long sum 0L;for (Long i star; i end; i) {sum i;}return sum;}else {// 使用ForkJoin 分而治之 计算//1 . 计算平均值long middle (star end) / 2;ForkJoinDemo forkJoinDemo1 new ForkJoinDemo(star, middle);// 拆分任务把线程压入线程队列forkJoinDemo1.fork();ForkJoinDemo forkJoinDemo2 new ForkJoinDemo(middle, end);forkJoinDemo2.fork();long taskSum forkJoinDemo1.join() forkJoinDemo2.join();return taskSum;}} }测试类 package com.marchsoft.forkjoin;import java.util.concurrent.ExecutionException; import java.util.concurrent.ForkJoinPool; import java.util.concurrent.ForkJoinTask; import java.util.stream.LongStream;public class ForkJoinTest {private static final long SUM 20_0000_0000;public static void main(String[] args) throws ExecutionException, InterruptedException {test1();test2();test3();}/*** 使用普通方法*/public static void test1() {long star System.currentTimeMillis();long sum 0L;for (long i 1; i SUM ; i) {sum i;}long end System.currentTimeMillis();System.out.println(sum);System.out.println(时间 (end - star));System.out.println(----------------------);}/*** 使用ForkJoin 方法*/public static void test2() throws ExecutionException, InterruptedException {long star System.currentTimeMillis();ForkJoinPool forkJoinPool new ForkJoinPool();ForkJoinTaskLong task new ForkJoinDemo(0L, SUM);ForkJoinTaskLong submit forkJoinPool.submit(task);Long along submit.get();System.out.println(along);long end System.currentTimeMillis();System.out.println(时间 (end - star));System.out.println(-----------);}/*** 使用 Stream 流计算*/public static void test3() {long star System.currentTimeMillis();long sum LongStream.range(0L, 20_0000_0000L).parallel().reduce(0, Long::sum);System.out.println(sum);long end System.currentTimeMillis();System.out.println(时间 (end - star));System.out.println(-----------);} }.parallel().reduce(0, Long::sum)使用一个并行流去计算整个计算提高效率。 JUC并发编程-四大函数式接口、Stream 流式计算、ForkJoin并行执行任务 到此完结笔者归纳、创作不易大佬们给个3连再起飞吧
http://www.ho-use.cn/article/10816419.html

相关文章:

  • 网站建设合同任wordpress标签工具
  • 网站建设的项目总结什么是企业网站建设
  • 如何上传网站到云主机服装定制网站模板
  • 联合实验室 网站建设方案阿里云域名续费
  • 自己能否建立公司网站dw个人主页制作代码
  • 企业网站的制作哪家好企业案例网站
  • 企梦云网站建设php商城网站开发实例视频教程
  • 建设一个用教育网站网站建立的步骤
  • 乐清网站网络公司个人做分类信息网站
  • 北京做手机网站建设高端品牌网站建设定位
  • 什么是权重高的网站linux类似wordpress
  • 商业网站建设所用软件做正规网站
  • 婚纱网站模板素材花生壳怎么建设购物网站
  • 刘素云网站脱孝怎样做广州网站建设制作的公司
  • dw做的网站如何使用wordpress画廊怎么用
  • 婚庆类网站模板做的比较好的猎头网站
  • 无锡做公司网站的做公司网站 烟台
  • 网站源码是什么小程序开发和app开发差别
  • 上海企乐网站制作公司vs2015做简单网站
  • 做阿里巴巴网站图片大全上海seo推广公司
  • 协会类网站免费模板网站主页设计代码
  • 无锡网站维护公司月付网站空间提供商
  • 重庆产品推广类网站wordpress滑动登录
  • 武进网站建设要多少钱免费wordpress主题下载
  • 南宁营销网站建设上优化seo
  • 厦门城乡建设局网站什么是企业vi设计
  • 建设网站要买空间吗东莞企业网站制作怎么做
  • 东莞电商公司排名广州外贸seo优化
  • vs做网站教程商城网站设计配色思想
  • 做网站的素材包含哪些建设摩托125图片大全