自1996年JDK1.0(Java1.0)发布以来,Java已经受到了学生、程序员、整个软件行业人员等一大批活跃用户的欢迎。这一语言极富活力,不断被用在大大小小的项目里。从Java1.1(1997年) 一直到Java 7(2011年),Java通过增加新功能,不断得到良好的升级。Java 8则是在2014年3月发布的……
版本的不断更新、升级,无非是对bug的修复、新功能的增加、优化等,在JDK版本中,JDK1.8变得备受关注,也成了各大公司面试中常常被问及的话题。
代码更少、更简洁
之所以备受关注的最原因是,JDK1.8所做的改变,在许多方面比Java历史上任何一次改变都深远。而且好消息是,这些改变会让你编起程来更容易,用不着再写类似下面这种啰嗦的程序了。(对peopleList中人的年龄进行排序)
Collections.sort(peopleList, new Comparator<People>() {
public int compare(People o1, People o2) {
if (o1.getAge() > o2.getAge()) {
return 1;
} else {
return -1;
}
}
});
而在JDK1.8里,你可以编写如下更为简洁的代码:
Collections.sort(peopleList, Comparator.comparingInt(People::getAge));
自从接触JDK1.8后,这样类似简洁的代码你将会非常喜欢的。
更好的利用多核处理器
JDK1.8对多核处理器有更好的处理:平时我们用的电脑或服务器的CPU都是多核的,但是,绝大多数现有的Java程序都只使用其中一个内核,而其他的都是处于闲置状态。
在JDK1.8之前,可能有人会告诉你,必须使用多线程才能使用多个内核。问题是,线程用起来比较难,也容易出现错误。从JDK的版本演变来看,它一直致力于让并发编程更容易、出错更少。JDK1.0里有线程和锁,甚至有一个内存模型——这是当时的最佳做法,但事实证明,不具备专门知识的项目团队很难可靠地使用这些基本模型。JDK1.5添加了如线程池和并发集合。JDK1.7添加了分支/合并(fork/join)框架,使得并行变得更实用,但仍然很困难。而JDK1.8中对并行有了一个更简单的新思路,但需要遵循一些规则。