Java8新特性分享+(视频阉割版).pptx.pptx
文本预览下载声明
JAVA8技术分享;About me;Java SE 8;Lambda表达式;
以前的做法:
new Thread(new Runnable() {
@Override
public void run() {
System.out.println(“实现的线程 );
}
}).start();
Lambda实现方式:
new?Thread(()?-System.out.println(lambda实现的线程)).start();?
;默认方法;public interface A {
default void foo(){
System.out.println(Calling A.foo());
}
}
public class Clazz implements A {
public static void main(String[] args){
Clazz clazz = new Clazz();
clazz.foo();//调用A.foo()
}
};抽象类与接口区别;类型注解;check framework;泛型判断改进;Nashorn;ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName( JavaScript );
System.out.println( engine.getClass().getName() );
System.out.println( Result: + engine.eval( function f() { return 1; }; f() + 1; ) );
;JJS工具;外部VS内部迭代;Stream API;Stream通用语法;创建Strean;转换Stream;filter: 对于Stream中包含的元素使用给定的过滤函数进行过滤操作
map: 对于Stream中包含的元素使用给定的转换函数进行转换操作
;聚合Stream;顺序流与并行流;long t0 = System.nanoTime();
//初始化一个范围100万整数流,求能被2整除的数字,toArray()是终点方法
int a[]=IntStream.range(0, 1_000_000).filter(p - p % 2==0).toArray();
long t1 = System.nanoTime();
//和上面功能一样,这里是用并行流来计算
int b[]=IntStream.range(0, 1_000_000).parallel().filter(p - p % 2==0).toArray();
long t2 = System.nanoTime();
//我本机的结果是serial: 0.06s, parallel 0.02s,证明并行流确实比顺序流快
System.out.printf(serial: %.2fs, parallel %.2fs%n, (t1 - t0) * 1e-9, (t2 - t1) * 1e-9);;日期和时间 API;标准IOS日期格式;方法前缀;获取日期属性;设置日期属性;日期计算;;Base64;Java.util.BASE64;性能对比;Array.parallelSort;;消除永久代(PermGen space);精简的JRE;;;类依赖分析工具:jdeps;;总结;;
显示全部