【JDK1.8】Java 8源码阅读汇总
一、前言
万丈高楼平地起,相信要想学好java,仅仅掌握基础的语法是远远不够的,从今天起,笔者将和园友们一起阅读jdk1.8的源码,并将阅读重点放在常见的诸如collection集合以及concurrent并发两块,另外笔者自己也是摸着石头过河,如果有描述不当的地方,希望园友们能够不吝指出,希望能够和大家共同进步!
二、jdk1.8新特性简述
相较于之前的jdk版本,jdk1.8加入了很多新特性,诸如Lambda表达式,函数式接口,时间的处理类等新特性,值得一提的是可以在Interface接口中加入default关键字开头的方法,里面可以写实现。这一改动算是为了增加新特性的一种妥协,可以试想一下如果不加入这种改变,在Map、Collection等重要接口中加入其它方法,那么其庞大的实现类(不论是jdk里的,还是我们自己实现的)都需要重写实现代码,那么将是灾难性的o(TωT)o 。下面简单的展示一下新语法,后面分析的时候也会提到(大概吧( ̄. ̄))
public class NewFeaturesTest {
/**
* output:
* 所有的数: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
* 偶数: 0, 2, 4, 6, 8,
* 大于5的数: 6, 7, 8, 9,
*/
public static void main(String args[]){
List<Integer> list = Arrays.asList(0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
System.out.print("所有的数: ");
eval(list, n -> true);
System.out.print("\n偶数: ");
eval(list, n-> n%2 == 0 );
System.out.print("\n大于5的数: ");
eval(list, n -> n > 5 );
}
private static void eval(List<Integer> list, Predicate<Integer> predicate) {
list.stream().filter( n -> predicate.test(n)).forEach(System.out::println);
}
}
三、目录
- 【JDK1.8】JDK1.8集合源码阅读——总章
- 【JDK1.8】JDK1.8集合源码阅读——HashMap
- 【JDK1.8】JDK1.8集合源码阅读——LinkedHashMap
- 【JDK1.8】JDK1.8集合源码阅读——TreeMap(一)
- 【JDK1.8】JDK1.8集合源码阅读——TreeMap(二)
- 【JDK1.8】JDK1.8集合源码阅读——IdentityHashMap
- 【JDK1.8】JDK1.8集合源码阅读——ArrayList
- 【JDK1.8】JDK1.8集合源码阅读——LinkedList
- 【JDK1.8】JDK1.8集合源码阅读——Set汇总
- 【JDK1.8】JUC.Lock综述
- 【JDK1.8】JUC——LockSupport
- 【JDK1.8】JUC——AbstractQueuedSynchronizer
- 持续更新中….
作者:joemsu
出处:http://www.cnblogs.com/joemsu
如果您喜欢我的文章,请不吝点一下“推荐”按钮,您的支持将会是我不竭的动力。
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.