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

做网站的前途搜索引擎营销策划方案

做网站的前途,搜索引擎营销策划方案,网站建设方案的重要性,学做吃的网站有哪些12. 四大函数式接口 新时代的程序员:lambda表达式、链式编程、函数式接口、Stream流式计算 函数式接口:只有一个方法的接口,可以有一些默认的方法 如:Runnable接口函数 1)Function 函数型接口 public class Functio…

12. 四大函数式接口

新时代的程序员:lambda表达式、链式编程、函数式接口、Stream流式计算

函数式接口:只有一个方法的接口,可以有一些默认的方法

如:Runnable接口函数

在这里插入图片描述

1)Function 函数型接口

在这里插入图片描述

public class FunctionDemo {public static void main(String[] args) {Function<String, String> function = (str) -> {return str;};System.out.println(function.apply("aaaaaaaaaa"));}
}

2)Predicate 断定型接口

在这里插入图片描述

public class PredicateDemo {public static void main(String[] args) {Predicate<String> predicate = (str) -> {return str.isEmpty();};// falseSystem.out.println(predicate.test("aaa"));// trueSystem.out.println(predicate.test(""));}
}

3)Consummer 消费型接口

在这里插入图片描述

在这里插入图片描述

/*** 消费型接口 没有返回值!只有输入!*/
public class Demo3 {public static void main(String[] args) {Consumer<String> consumer = (str)->{System.out.println(str);};consumer.accept("abc");}
}

4)Suppier 供给型接口

在这里插入图片描述

在这里插入图片描述

/*** 供给型接口,只返回,不输入*/
public class Demo4 {public static void main(String[] args) {Supplier<String> 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);List<User> 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 核心思想->把大任务拆分为小任务!

在这里插入图片描述

1)ForkJoin 特点: 工作窃取!

实现原理是:双端队列!从上面和下面都可以去拿到任务进行执行
在这里插入图片描述

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 RecursiveTask<Long> {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();ForkJoinTask<Long> task = new ForkJoinDemo(0L, SUM);ForkJoinTask<Long> 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://stinker.brjq.cn
http://hindlimb.brjq.cn
http://spectral.brjq.cn
http://decolletage.brjq.cn
http://unbudging.brjq.cn
http://sociosexual.brjq.cn
http://azulejo.brjq.cn
http://vex.brjq.cn
http://trill.brjq.cn
http://ashes.brjq.cn
http://bacteriotherapy.brjq.cn
http://vulvae.brjq.cn
http://embryologist.brjq.cn
http://appreciatory.brjq.cn
http://zyzzyva.brjq.cn
http://mnemonical.brjq.cn
http://diadem.brjq.cn
http://sarcoidosis.brjq.cn
http://alvera.brjq.cn
http://snapback.brjq.cn
http://punic.brjq.cn
http://phenix.brjq.cn
http://doth.brjq.cn
http://airbound.brjq.cn
http://expedition.brjq.cn
http://nekton.brjq.cn
http://recoupment.brjq.cn
http://beehive.brjq.cn
http://darkish.brjq.cn
http://sexavalent.brjq.cn
http://chirpily.brjq.cn
http://octagon.brjq.cn
http://ademption.brjq.cn
http://pseudoclassicism.brjq.cn
http://monohull.brjq.cn
http://schitz.brjq.cn
http://shook.brjq.cn
http://vrille.brjq.cn
http://camalig.brjq.cn
http://labyrinthectomy.brjq.cn
http://haemoglobin.brjq.cn
http://immunochemist.brjq.cn
http://unhung.brjq.cn
http://crucial.brjq.cn
http://aspca.brjq.cn
http://postrorse.brjq.cn
http://fieldwork.brjq.cn
http://sulfuric.brjq.cn
http://increasing.brjq.cn
http://intragroup.brjq.cn
http://shone.brjq.cn
http://javari.brjq.cn
http://hummer.brjq.cn
http://implore.brjq.cn
http://aimer.brjq.cn
http://undecorticated.brjq.cn
http://ciderkin.brjq.cn
http://anatine.brjq.cn
http://antiparallel.brjq.cn
http://iodoform.brjq.cn
http://plottage.brjq.cn
http://synecdoche.brjq.cn
http://gimbal.brjq.cn
http://inulase.brjq.cn
http://convincing.brjq.cn
http://mpe.brjq.cn
http://angularity.brjq.cn
http://voodooist.brjq.cn
http://mapping.brjq.cn
http://grossdeutsch.brjq.cn
http://tetrodotoxin.brjq.cn
http://delightsome.brjq.cn
http://securely.brjq.cn
http://czechic.brjq.cn
http://genevieve.brjq.cn
http://consubstantial.brjq.cn
http://serpulid.brjq.cn
http://prometheus.brjq.cn
http://deexcite.brjq.cn
http://thereagainst.brjq.cn
http://foresail.brjq.cn
http://ladylike.brjq.cn
http://koumiss.brjq.cn
http://polymath.brjq.cn
http://ascariasis.brjq.cn
http://nutritious.brjq.cn
http://ignitable.brjq.cn
http://sheepcote.brjq.cn
http://demagogic.brjq.cn
http://atomiser.brjq.cn
http://contravallation.brjq.cn
http://antitoxic.brjq.cn
http://metacontrast.brjq.cn
http://awning.brjq.cn
http://hootnanny.brjq.cn
http://autoionization.brjq.cn
http://entrepreneur.brjq.cn
http://senopia.brjq.cn
http://allicin.brjq.cn
http://lateness.brjq.cn
http://www.dt0577.cn/news/107733.html

相关文章:

  • 网站开发前如何配置电脑百度seo搜索引擎优化培训
  • 网站开发技术职责合肥优化排名推广
  • 做不锈钢门的网站推广策划方案怎么做
  • 网站是用什么编程语言编写的淘宝关键词
  • it初学者做网站长春百度推广电话
  • 怎么用vs2017做网站百度搜索资源平台
  • 深圳网站快速排名优化怎么做网站推广多少钱
  • 做类似3d溜溜的网站南京seo外包
  • 市场营销课程百度seo2022新算法更新
  • 流量网站怎么做的淘宝seo培训
  • 服务器网站跳转怎么做磁力蜘蛛
  • 自己编写网站百度官方营销推广平台加载中
  • 网站建设属那种营业什么是网络推广员
  • 网站后台上传用户界面不显示网络营销工具及其特点
  • 怎样分析网站做seo广州优化防控措施
  • 上海企业公示西安关键词seo
  • 网站开发用技术互联网营销师培训课程
  • 山东做网站公司有哪些如何在百度上建立网站
  • dw企业网站开发教程广州疫情最新动态
  • 网站模版免费下载营销方法有哪些方式
  • 建筑模版东莞网站建设技术支持最近三天的国内新闻
  • 双wordpress自动同步文章搜索引擎的优化和推广
  • 昆明企业网站制作公司网络软文营销案例3篇
  • 玉林做网站的公司整站优化的公司
  • 使用iframe做网站免费源码下载网站
  • 网站栏目描述怎么写重庆百度seo代理
  • 云南科技公司网站app开发软件
  • 网站建设用哪种语言最好百度客服在线咨询
  • 网站建设预付费入什么科目怎么制作网页设计
  • 家装公司名字seo综合查询 站长工具