java

  1. Java
    1. 常用公共库
    2. 函数结构
      1. java8之前已经有的
      2. java8新定义的
      3. 接口的交集
      4. 柯里化
      5. jdk8
      6. jdk10
    3. jdk11
    4. jdk12

Java

常用公共库

把对应的简述写到这里来

  1. apache commons 系列库
  2. google guava 库

函数结构

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
2
3
4
5
6
7
8
9
10
11
public class Z {
public static void main(String[] args) {
Object o = (I & J) () -> {};
}
}
interface I {
void foo();
}
interface J {
void foo();
}

柯里化

1
2
3
IntFunction<IntFunction<IntUnaryOperator>> f = x -> y -> z -> (x + y) * z;

System.out.println(f.apply(4).apply(5).applyAsInt(6)); //54

##新特性

方便快速了解

https://cloud.tencent.com/developer/article/1405587

jdk8

  1. lambda表达式
  2. 函数式接口(java.util.function)
  3. 接口可以有默认方法
  4. stream流式处理
  5. optional
  6. jjs交互编程: JavaScript源代码执行
  7. 新的日期api

###jdk9

  1. jshell:java的REPL工具
  2. 提供消息发布订阅框架,提供了Reactive编程模式
  3. 增强的java.net库(简单替代apache http client)
  4. 默认G1垃圾回收器

jdk10

  1. 局部变量类型推断 var a = new ArrayList<String>()
  2. 增加线程中执行回调,方便快速停止单个线程

jdk11

没有

jdk12

  1. switch语法增强

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 jaytp@qq.com

💰

×

Help us with donation