1、Lambda 表达式和函数接口
Lambda表达式的优点:(1)简洁(2)使用外部变量时,外部变量不需要声明为final
缺点:(1)由于使用了类型推断,可读性变差 (2)不容易调试
2、接口默认方法和静态方法
public class Hello { @FunctionalInterface interface MyInterface { void fun1(); default void fun2() { System.out.println("default method"); } static void fun3() { System.out.println("default static method"); } } static void callFun(MyInterface fun) { fun.fun1(); fun.fun2(); MyInterface.fun3(); } public static void main(String[] args) { callFun(() -> { System.out.println("fun1"); }); } }
3、方法引用
Listlist=new ArrayList<>(); list.add(1); list.add(2); list.forEach(System.out::println);
4、Optional
Optionaldata=Optional.of(1); if(data.isPresent()){ System.out.println(data.get()); }
5、Streams
Listlist = new ArrayList<>(); list.add(1); list.add(2); list.add(3); list.stream().map(x -> x * 2).filter(x -> x < 5).forEach(System.out::println);
6、使用Metaspace 代替 持久代(PermGen space)
使用-XX:MetaSpaceSize和-XX:MaxMetaspaceSize代替原来的-XX:PermSize和-XX:MaxPermSize
更多参考:
【译】Java 8的新特性—终极版
标签: myinterface、println、fun1、list、xx
笔试题
刷题
简历模板
AI算法
大数据
内推
内推: