Java
常用公共库
把对应的简述写到这里来
函数结构
java8之前已经有的
java.lang.Runnable
java.util.concurrent.Callable
java.security.PrivilegedAction
java.util.Comparator
java.io.FileFilter
java.nio.file.PathMatcher
java.lang.reflect.InvocationHandler
java.beans.PropertyChangeListener
java.awt.event.ActionListener
javax.swing.event.ChangeListener
java8新定义的
Predicate – 传入一个参数,返回一个bool结果, 方法为boolean test(T t)
Consumer – 传入一个参数,无返回值,纯消费。 方法为void accept(T t)
Function – 传入一个参数,返回一个结果,方法为R apply(T t)
Supplier – 无参数传入,返回一个结果,方法为T get()
UnaryOperator – 一元操作符, 继承Function,传入参数的类型和返回类型相同。
BinaryOperator – 二元操作符, 传入的两个参数的类型和返回类型相同, 继承BiFunction
接口的交集
I和J方法的交集依然符合函数式接口的定义。
1 | public class Z { |
柯里化
1 | IntFunction<IntFunction<IntUnaryOperator>> f = x -> y -> z -> (x + y) * z; |
##新特性
方便快速了解
https://cloud.tencent.com/developer/article/1405587
jdk8
- lambda表达式
- 函数式接口(java.util.function)
- 接口可以有默认方法
- stream流式处理
- optional
jjs
交互编程: JavaScript源代码执行- 新的日期api
###jdk9
- jshell:java的REPL工具
- 提供消息发布订阅框架,提供了Reactive编程模式
- 增强的java.net库(简单替代apache http client)
- 默认G1垃圾回收器
jdk10
- 局部变量类型推断
var a = new ArrayList<String>()
- 增加线程中执行回调,方便快速停止单个线程
jdk11
没有
jdk12
- switch语法增强
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com