java jdk1.8新特性
1、Lambda表达式
可以直接参考:java jdk1.8新特性Lambda表达式
2、Stream API
可以直接参考:java jdk1.8新特性Stream API


3、jdk1.8 日期处理
1、原始jdk1.0引入 java.lang.util.Date
2、jdk1.1后引入Calendar
3、引入java.time API且Date新增了toInstant()
3.1 主要是借鉴了joda-Time
3.2 中包含本地日期LocalDate、本地时间LocalTime、本地日期时间LoaclDateTime、时区ZonedDateTime、持续时间Duration等类。
4、测试日期转换并加减:
4.1 dtf是日期格式格式化实体对象
4.2 batchDate日期字符串
4.3 plusDays对日期加一天
4.4 format将日期转为字符串
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyyMMdd");
String batchDateStr = LocalDate.parse(batchDate, dtf).plusDays(1).format(dtf);
LocalDateTime lt = LocalDateTime.now();
5、其它详细内容请咨询或者参考光放文档


4、ForkJoin 框架
在jdk1.7之前就已经存在,但是没有大规模应用

5、jdk HashMap底层实现
1、原有是哈希+数组 经过调整改为 哈希+数组+红黑二叉树使得除添加之外的行能都提高了,特别是查询。
2、线程安全的concurrentHashMap底层也进行了优化
6、jdk8新特性:可重复注解
7、jdk8新特性:类型注解
8、https://blog.csdn.net/lu930124/article/details/77595585
9、Java8中的并行流和顺序流
4.1 顺序流
/**
* Java8的顺序流
*/
@Test
public void test3() {
Instant start = Instant.now();// java8中新时间日期API
LongStream.rangeClosed(0, 10000000000L)
.sequential()// 顺序流
.reduce(0, Long::sum);
Instant end = Instant.now();
// 5780
System.out.println("耗费时间为:" + Duration.between(start, end).toMillis());// java8中新时间日期API
}

10、4.2 并行流
/**
* Java8的并行流
*/
@Test
public void test4() {
Instant start = Instant.now();// java8中新时间日期API
LongStream.rangeClosed(0, 10000000000L)
.parallel()// 并行流
.reduce(0, Long::sum);
Instant end = Instant.now();
// 2392
System.out.println("耗费时间为:" + Duration.between(start, end).toMillis());// java8中新时间日期API
}
