快学Java SE8--Java8新特性

前言

  • 自从有了Java8,Java语言和库仿佛获得了新生。本次分享的<>只是<<快学Java SE8>>中的第一次分享,后面还会有函数式编程一、二等,之所以叫快学就是希望和大家一起快速切入主题,尽快了解Java8并实践。

本次分享目录

分享后的练习题

lambda
  • 使用java.io.File类的list(FilenameFilter)方法,编写一个返回指定目录下、具有指定扩展名的所有文件。使用lambda表达式(而不是FilenameFilter)来实现。
  • 从你的项目中选取一个包含ActionListener、Runnable或者其他类似代码的文件。将他们替换为lambda表达式。这样能节省多少行代码?替换后代码是否具有可读性?
    过程中是否使用了方法引用。
  • 编写一个静态方法andThen,它接收两个Runnable实例作为参数,并返回一个分别运行这两个实例的Runnable对象。在main方法中,向andThen方法传递两个lambda表达式,并运行返回的实例。
Stream:
  • 将下面的例子编写一个for循环的并行版本,获取处理器的数量,创造出多个独立的线程,每个都只处理列表的一个片段,然后将他们各自的结果汇总起来。
  • 请想办法验证一下,对于获得前5个最长单词的代码,一旦找到第5个最长的单词后,就不会再调用filter方法了。
  • 要统计长单词的数量,使用parallelStream与使用stream有什么区别?请具体测试一下。(可以考虑用一个大文件)
    ##### 日期&时间:
  • 请不使用plusDays来计算程序员节(程序员节是每年的第256天,也就是平年的9月13日和闰年的9月12日)
  • 编写一个打印你已经生活了多少天的程序。
  • 列出21世纪中的所有星期五
  • 乘坐如下航班,从杭州到洛杉矶,飞机飞行了多长时间?编写一个可以进行这类计算的程序。

    ### 分享ppt
  • 分享ppt见附件
时间: 2024-10-27 15:25:54

快学Java SE8--Java8新特性的相关文章

JAVA8新特性

总结提高,与君共勉 上次在一个同学的面经看到,被问到了JAVA8新特性,这个总结不好,转载一篇神文,一起来了解了解 本教程将Java8的新特新逐一列出,并将使用简单的代码示例来指导你如何使用默认接口方法,lambda表达式,方法引用以及多重Annotation,之后你将会学到最新的API上的改进,比如流,函数式接口,Map以及全新的日期API "Java is still not dead-and people are starting to figure that out." 本教程

【译】Java 8的新特性—终极版

文/杜琪(简书作者) 原文链接:http://www.jianshu.com/p/5b800057f2d8 著作权归作者所有,转载请联系作者获得授权,并标注"简书作者". 声明:本文翻译自Java 8 Features Tutorial – The ULTIMATE Guide,翻译过程中发现并发编程网已经有同学翻译过了:Java 8 特性 – 终极手册,我还是坚持自己翻译了一版(写作驱动学习,加深印象),有些地方参考了该同学的. Java 8 前言: Java 8 已经发布很久了,很

java8 新特性之 Lambda 讲解教程

什么是Lambda Lambda 是个新的特性添加到java的jdk中,说明了java对其它语言的支持,吸收其它语言先进的方法.Lambda 表达在java中提供了类型的引用,方法的引用,和默认方法. 对于Lambda的解释在wiki百科看到了就不做翻译保留原味(看看大家的理解,有不同的看法欢迎探讨)Lambda (programming), a function (or a subroutine) defined, and possibly called, without being boun

Java 1.5新特性Enum的用法

Enum是enumeration(列举)的简写形式,包含在java.lang包中.熟悉C,C++,C#,或Pascal人应该对列举有所了解,先看个例子: public enum Season { winter, spring, summer, fall } 一个enum是定义一组值的对象,它可以包括零个或多个值成员.它是属于enum类型的,一个enum对象中不可有两个或多个相同的属性或值.在次之前的java程序员一般是用接口的方法实现列举的,如: public interface Season

快学Java SE8--Java8函数式编程(一)

目录 问题解答 Comparator是函数式接口,为什么包含equals这些方法. 函数式接口,除了只能有一个抽象方法外,还可以包含Object 中覆盖的方法,也就是 equals,toString,hashcode等方法. 接口不能提供对Object类的任何方法的默认实现. lambda VS 内部类,通过看字节码的方式,看差异. Lambda表达式不是简单的匿名内部类的语法糖. 大多数情况lambda性能更优.官方链接 编译器会为每一个匿名内部类创建一个类文件.类加载更耗时,占用更多的内存.

java Spring 5 新特性函数式Web框架详细介绍_java

java Spring 5 新特性函数式Web框架 举例 我们先从示例应用程序的一些摘录开始.下面是暴露Person对象的响应信息库.很类似于传统的,非响应信息库,只不过它返回Flux<Person>而传统的返回List<Person>,以及返回Mono<Person>的地方返回Person.Mono<Void>用作完成标识:指出何时保存被完成. public interface PersonRepository { Mono<Person> g

What&#039;s New in JDK 8 java8新特性汇总

    Oracle甲骨文公司终于在2014年3月发布了Java 8正式版,它是java的一个里程牌版本,带来了诸多新特性.      针对这些新特性汇总如下: 一.针对java编程语言(Java Programming Language)     1.lambda表达式:一种新的语言特性,能够把函数作为方法的参数或将代码作为数据.lambda表达式使你在表示函数接口(具有单个方法的接口)的实例更加紧凑. public class Calculator { interface IntegerMa

Java8新特性之Lambda表达式浅析_java

说到java 8,首先会想到lambda(闭包)以及虚拟扩展方法(default method),这个特性早已经被各大技术网站炒得沸沸扬扬了,也是我们java 8系列开篇要讲的第一特性(JEP126 http://openjdk.java.net/jeps/126),jdk8的一些库已经应用了lambda表达式重新设计了,理解他对学习java 8新特性有着重要的意义. 一.函数式接口 函数式接口(functional interface 也叫功能性接口,其实是同一个东西).简单来说,函数式接口是

详谈Java8新特性泛型的类型推导_java

1. 泛型究竟是什么? 在讨论类型推导(type inference)之前,必须回顾一下什么是泛型(Generic).泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.通俗点将就是"类型的变量".这种类型变量可以用在类.接口和方法的创建中.理解Java泛型最简单的方法是把它看成一种便捷语法,能节省你某些Java类型转换(casting)上的操作: List<Apple> box = new ArrayList<Ap