《Java8实战》
文章平均质量分 92
《Java8实战》学习笔记
七海健人
打工战士,闲暇之余把自己的学习和总结记录下,也希望写的东西能帮助到你
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《Java8 实战》笔记——4.CompletableFuture-组合式异步编程
第 11 章 completableFuture组合式异步编程 Future/Callable Future接口可以构建异步应用,是多线程开发中常见的设计模式; 当我们需要调用一个函数方法时,如果这个函数执行很慢,那么我们就要进行等待;但有时候,我们可能并不急着要结果;因此,我们可以让被调用者立即返回,让他在后台慢慢处理这个请求;对于调用者来说,则可以先处理一些其他任务,在真正需要数据的场合再去尝试获取需要的数据(或者回调); (图) sync模式 & async模式 区别原创 2022-03-22 14:17:54 · 1656 阅读 · 0 评论 -
《JDK8 实战》笔记——1.Lambda&Stream流库
《Java8 实战》 第 1 章 为什么关心JAVA 8 ?——改变很多,改变影响很大;简洁代码-Lambda,多核并行-Stream,线程与锁; 流处理,将不相关的操作分别交给多个CPU内核并行执行; 把代码作为参数传递给方法; 并行-共享数据,对于流的并行,需要输入"纯函数",不能多个进程同时访问该共享变量,因此用"代码替换对象"; 对集合的操作,更多的关注"做什么"而不是给出Iterator遍历集合元素的过程; 编程的目的在于操作值(对象),方法/类看做是次要的/辅助的,现在将方法/La原创 2022-03-22 12:43:24 · 424 阅读 · 0 评论 -
《Java8 实战》笔记——2.并行流ParallelStream&ForkJoin原理
第 7 章 并行数据处理与性能——流内部的工作原理; 性能比较测试 // 输出CPU的核心数 @Test public void func_01() { System.out.println(Runtime.getRuntime().availableProcessors());//打印CPU核心数量-6核 } 并行流和串行流的互相转换: @Test public void func_02() {//串行/并行流的互相转换-例如求和,比较一下性能 //1.转化的方法.parallel原创 2022-03-22 12:47:41 · 1585 阅读 · 0 评论 -
《Java8 实战》笔记——3.重构&优化&Optional
第 8 章 重构、测试和调试 改善代码? 集合类的操作→stream; 匿名类->Lambda表达式(注意:匿名类的this指匿名类自身,而lambda的this指的是lambda"对象"(把lambda看做成员变量)所在的类,因此Lambda{...}内部不能定义与外部相同名字的变量,会编译错误) eg: {... int a = 10; Runnable r = new Runnable(){int a = 10;...} //**编译错误** } 方法引用代替{...}中原创 2022-03-22 14:13:21 · 471 阅读 · 0 评论 -
《JDK8实战》笔记——0.引言-行为参数化&函数式接口
GitHub源码:https://github.com/alexandregama/java8-guides-tutorials GitHub的JDK8 Demo主要包含两点: Lambda表达式的使用(几个JDK函数式接口类); Stream()的使用; 函数式接口? @FunctionalInterface public interface RealFunctionalInterface { // 唯一的抽象方法 void d.原创 2022-03-22 12:35:16 · 299 阅读 · 0 评论 -
《Java8 实战》笔记——5.JDK8日期类&新增API补充
//1.4 ArraysSS **//1.5 String** 为什么需要新的API? 在Java8之前,由于JDK本身设计的问题,导致了存在的时间日期API使用起来不是很好用(Date类:赋值的语义不直观、toString的返回值包含JVM的默认时区CET;Calendar类:月份依旧从0计算、与Date共存难以选择;最大的问题是:本身可变难以维护、格式化时间DateFormat不是线程安全的),其语义也不是很好,比如Date表示的是时间以及日期,为了使得时间日期相关的API操作起来比较方便,语原创 2022-03-22 14:25:33 · 489 阅读 · 0 评论
分享