首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏程序人生 阅读快乐

    Java 8实战

    本书全面介绍了Java 8 这个里程碑版本的新特性,包括Lambdas、流和函数式编程。有了函数式的编程特性,可以让代码更简洁,同时也能自动化地利用多核硬件。 全书分四个部分:基础知识、函数式数据处理、高效Java 8 编程和超越Java 8,清晰明了地向读者展现了一幅Java 与时俱进的现代化画卷。

    61910发布于 2018-10-10
  • 来自专栏小工匠聊架构

    Java 8 - Stream实战

    ---- Pre Java 8 - Stream流骚操作解读 Java 8 - Stream流骚操作解读2_归约操作 都学了这俩,是不是该出来练一练了? ? ---- (8) 找到交易额最小的交易 Optional<Integer> minValue = transactions.stream().map(Transaction::getValue transactions.stream() .min(comparing(Transaction::getValue)); ---- 附 Trader & Transaction package com.artisan.java8 String toString(){ return "Trader:"+this.name + " in " + this.city; } } package com.artisan.java8

    43910发布于 2021-08-17
  • 来自专栏小工匠聊架构

    Java 8 - Optional实战

    ---- Pre Java 8 - Optional全解相信你已经了解,有效地使用 Optional 类意味着你需要对如何处理存在缺失值进行全面的反思。 这种反思不仅仅限于你曾经写过的代码,更重要的可能是,你如何与原生Java API实现共存共赢。 为了保持后向兼容性,我们很难对老的Java API进行改动,让它们也使用Optional ,但这并不表示我们什么也做不了。 ---- 异常与 Optional 的对比 由于某种原因,函数无法返回某个值,这时除了返回 null ,Java API比较常见的替代做法是抛出一个异常。 我们无法修改最初的Java方法,但是这无碍我们进行需要的改进,你可以实现一个工具方法,将这部分逻辑?装于其中,最终返回一个我们希望的Optional 对象。

    57120发布于 2021-08-17
  • 来自专栏用户4352451的专栏

    Java8实战--引入流

    流是Java API的新成员,它允许你以声明性方式处理数据集合(通过查询语句来表达,而不 是临时编写一个实现)。就现在来说,你可以把它们看成遍历数据集的高级迭代器。

    59110发布于 2020-08-26
  • 来自专栏公众号:懒时小窝

    JAVA8实战 - 日期API

    JAVA8实战 - 日期API 前言 这一节我们来讲讲JAVA8的日期类,源代码的作者其实就是Joda-Time,所以可以看到很多代码的API和Joda类比较像。 日期类一直是一个比较难用的东西,但是JAVA8给日期类提供了一套新的API让日期类更加好用。 本文代码较多,建议亲自运行代码理解。 JDK8日期类关于时区的强相关类(注意是JDK8才出现的类,不要误认为是对之前类的兼容),在之前的单元测试其实已经用到了相关时区的方法,在JDK8中使用了 ZoneId这个类来表示,但是我们有时候不知道怎么获取地区 (ZoneId.of("Japan"))); 实战 - 封装日期工具类 当然更加建议读者自己多动手实验,最好的办法就是多给几个需求给自己,强制自己用JDK8的方法去实现,你会发现你掌握这些API会特别快 not be parsed, unparsed text found at index 10 参考资料 ❝侠说java8-LocalDateTime ❞

    2K30发布于 2021-08-16
  • 来自专栏Lvshen的技术小屋

    Java8实战》学习笔记

    最近抽空看了《Java8实战这本书》,收获很多,这本书着重介绍了Java8的两个新特性:Lambda表达式和stream()的使用,简化了我们的开发。下面是我在读这本书所做的笔记,也是我的一些收获。 第一段代码 对苹果按重量排序 //Java8之前 Collections.sort(inventory, new Comparator<Apple>() { public int compare(Apple s.isEmpty()); Java8中forEach方法的使用 假如有一个list集合,循环获取里面的值,Java8之前是这样做的。 java8的打印方式如下。 参考 《Java8实战 》作者: 厄马(Raoul-Gabriel Urma) / 弗斯科(Mario Fusco) / 米克罗夫特(Alan Mycroft)

    77720编辑于 2022-05-05
  • 来自专栏阿杜的世界

    Java 8实战》阅读笔记(1)

    以下为第一章《为什么你应该关注Java 8》的阅读笔记 1.1 为啥Java语言在演进 使用Java 8 可以写出更加简洁的代码; 多核CPU的普及,需要Java 8更好得支持并行编程;为了说明上述两点 编程语言的生态系统以及气候的改变 本书总结出推动Java 8支持并行编程和书写更简洁的代码的三大概念:Stream处理、行为参数化、并行特性以及不共享可变数据。 Java 8的函数式编程,要求开发者编写没有副作用(即无状态)的函数。 只有开发者都用,这些新特性才会有意义,因此尽可能得使用Java 8的新特性也是保护你作为Java开发者的工作。 8引入了匿名函数——Lambda表达式;不过,如果匿名函数的函数体超过了一定行数(感觉影响代码的可读性的话),就需要重新定义一个函数并使用方法引用传入; 1.4 Stream API Java8出现之前 ---- 本章作为全书的第一章,重点介绍了Java作为一门语言长盛不衰的时代、技术背景和内在的原因(Java自身一直在进化,跟上甚至引领技术的变革);本章也简单介绍了Java 8 中比较重要的知识点,例如

    64840发布于 2018-08-06
  • 来自专栏公众号:懒时小窝

    JAVA8实战 - Optional工具类

    JAVA8实战 - Optional工具类 前言 没错,这又是一个新的专栏,JAVA8可以说是JAVA划时代的一个版本,几乎是让JAVA焕发了第三春(第二春在JDK5),当然里面的新特性也是十分重要的 ,虽然Java现在都已经到了10几的版本,但是国内多数使用的版本还是JAVA8,所以这个系列将会围绕Java8的新特性和相关工具做一些总结。 / 看了这么多案例,可以发现日常生活中规避空指针是一件非常烦的事情,特别是存在多层嵌套的对象,基本会出现多层的If/else判断,这样会造成代码复杂度增加并且让代码变得十分臃肿,接下来我们就来看下JAVA8 简单介绍 Java8之后新增的一个工具类,在包java.util.Optional<T>,他的作用类似于一个包装器,负责把我们需要操作的对象包装到一个黑盒中,我们可以通过黑盒安全的操作对象的内容。 后面主要提到的是一些Java9的操作,由于本文只涉及Java8的版本,所以更高版本的内容可以从《Effective Java》这本书里面看到。

    2.3K10发布于 2021-08-16
  • 来自专栏Java工程师成长之路

    java8 parallel并行处理实战

    java8刚好提供了这样的功能,对集合数据的并发执行parallel,所以有了以下测试 为加快统计速度尝试 原代码用时 2018-10-15 15:03:22.863 |-INFO [SimpleAsyncTaskExecutor java8 代码用时 2018-10-15 14:54:17.487 |-INFO [SimpleAsyncTaskExecutor-1] com.beikbank.settlement.api.jobs.TaskJob //io数据库操作 } 使用java8 流并行代码 allUserList.stream().parallel().forEach(allUser -> { String userIdkey = //io数据库操作 }); 总结 数据统计存在数据库操作的,使用java8的parallel可以加快统计速度,从上面图片的对比可以看出,使用parallel后jdbc连接会存在多个并行执行,执行效率和机器配置内存等相关

    89230发布于 2019-09-10
  • 来自专栏小工匠聊架构

    Java 8 - 06 Lambda 和方法引用实战

    8的API已经为你提供了一个 List 可用的 sort 方法, 这个是最难的部分,好在不用我们自己写了哈哈哈 ? 这就是在Java中传递策略的方式:它们必须包裹在一个对象里。我们说 sort 的行为被参数化了:传递给它的排序策略不同,其行为也会不同. 可能写出了如下代码 List<Enginner> enginnerList = Arrays.asList(new Enginner("Java", 18), new Enginner("GO", 20 8引入了Lambda表达式,它提供了一种轻量级语法来实现相同的目标:传递代码 。 这比Java 8之前的代码好在哪儿呢? 短小精悍 言简意赅 ,并且代码读起来和问题描述差不多:对enginnerList按照Job进行排序

    52030发布于 2021-08-17
  • 来自专栏小工匠聊架构

    Java 8 - 收集器Collectors_实战

    文章目录 Code Code public class CollectorsAction { public static List<Dish> menu = Arrays.asList(

    57020发布于 2021-08-17
  • 来自专栏全栈程序员必看

    Java 8 – 收集器Collectors_实战

    版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    33510编辑于 2022-11-15
  • 来自专栏丑胖侠

    Java8 Stream新特性详解及实战

    本文链接:https://blog.csdn.net/wo541075754/article/details/102458705 Java8 Stream新特性详解及实战 背景介绍 在阅读Spring Boot源代码时,发现Java 8的新特性已经被广泛使用,如果再不学习Java8的新特性并灵活应用,你可能真的要out了。 为此,针对Java8的新特性,会更新一系列的文章,欢迎大家持续关注。 够简洁明快吧,如果不使用Java8的新特性,想象一下得多少行代码才能实现?但如果没掌握或不了解Java8的新特性,这段代码读起来是不是很酸爽? 原文链接:《Java8 Stream新特性详解及实战

    1.1K50发布于 2019-10-22
  • 来自专栏实战docker

    java与es8实战之二:实战前的准备工作

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇是《java与es8实战》系列的第二篇, 软件、库的版本 聊聊java操作es的基本套路 为整个《java与es8实战》系列创建父工程,后面的实战有关的代码,全部写在这个父工程下面 OK,开始 借助docker,快速部署es服务 《java与es8 实战》系列的重点是开发,因此不会花太多时间去讲解如何部署和配置es,基本上就是有个能用的es8环境即可 推荐您参考《Docker下elasticsearch8部署、扩容、基本操作实战(含kibana)》 、扩容、基本操作实战(含kibana)》的操作过于复杂,想更简单的部署一个es集群,外加kibana开箱即用,可以参考《docker-compose快速部署elasticsearch-8.x集群+kibana ,来自官方 由于《java与es8实战》系列已将es版本固定为8.2,因此,编码过程中,es操作方案选择es官方的Java API Client,和Spring Data不会有关系了 为整个《java

    1.4K10编辑于 2022-06-19
  • 来自专栏JavaEdge

    Java并发编程实战系列8之线程池的使用

    ThreadPoolExecutor UML图: image image 8.1 在任务和执行策略之间隐形耦合 避免Thread starvation deadlock 8.2 设置线程池大小

    86790发布于 2018-04-28
  • 来自专栏bit哲学院

    Java8实战》笔记(14):函数式编程的技巧

      目前为止,我们使用函数值属于一等这个事实只是为了将它们传递给Java 8的流处理操作),达到行为参数化的效果。  因为Java 8中,函数不仅可以作为参数传递,还可以作为结果返回,能赋值给本地变量,也可以插入到某个数据结构。 我们需要通过Java实现延迟列表。  创建你自己的延迟列表  LazyLists  Java 8的Stream以其延迟性而著称。 与此同时,让我们看看如何凭借Java 8的Lambda以另一种方式在Java中实现类模式匹配。  我们在这里介绍这一技巧的目的仅仅是想让你了解Lambda另一个有趣的应用。  Java 8中的很多API都受益于这一思想,比如CompletableFuture类中的thenCombine方法。

    91320发布于 2020-12-10
  • 来自专栏须臾之余

    Java8实战——通过行为参数化传递代码 顶

    但是问题又来了,匿名类还是不够好,第一,它往往很笨重,占用了很多的空间,第二,使用起来让人费解,导致代码可读性不高,即使匿名类处理在某种程度上改善了为一个接口声明好几个实体类的啰嗦问题,但是还是不能令人满意,自java8 apple)-> "red".equals(apple.getColor())); 不得不承认,使用lambda表达式改写之前的代码确实干净很多,因为它看起来更像问题陈诉本身了,解决了啰嗦的问题 8、 传递代码,就是将新行为作为参数传递给方法,但是在java8之前实现起来很啰嗦。为接口声明许多只用一次的实体类而造成的啰嗦代码,在java8之前可以用匿名类来减少。 java API 包含很多可以用不同行为进行参数化的方法,包括排序、线程等。

    97530发布于 2020-08-11
  • 来自专栏JAVA相关

    java工具:《Java 8 Stream实战:一行代码搞定集合对象类型转换》

    14910编辑于 2026-03-29
  • 来自专栏实战docker

    java与es8实战之一:以builder pattern开篇

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 关于《java与es8实战》系列 《java与es8实战 与es8实战》系列的开篇应该是哪种风格? 亦或是用java写一套简单的增删改查代码,让大家可以快速入门? java与es8实战》的开篇内容了:咱们不急着部署ES,也不急着写增删改查的入门级代码,今天,欣宸邀您一同去温习经典,搞清楚以下问题: 直接用构造方法创建对象有什么问题? 与es8实践》的画卷已顺利展开一角,接下来,请允许欣宸原创继续陪伴您,像今天这样踏踏实实,一步一个脚印,从入门到精通

    97230编辑于 2022-06-19
  • 来自专栏中间件兴趣圈

    java8实战读书笔记:复合Lambda表达式

    在阅读本篇之前建议您先阅读: java8实战读书笔记:Lambda表达式语法与函数式编程接口,因为本篇是上篇的补充。 本书为博主在学习《java8实战》时的笔记。 比较器复合 ? 上面是JDK8java.util.Comparator接口,相比jdk1.7增加了好多方法,也许你会觉得奇怪,为什么接口中还能定义方法,原因是JDK8中,可以为接口添加默认实现,使用default关键字定义

    82040发布于 2019-06-11
领券