腹黑大壁花
这个作者很懒,什么都没留下…
展开
-
详解Java8特性之Lambda表达式
前言Lambda表达式是Java8的一个特性,而Java8是2014发布的,那时候我刚上大学,还没认识Java呢。过了很长一段时间才学习了Lambda表达式,但是一直没怎么用过,已经忘了差不多了,所以现在特地复习一下。学一个东西我们得知道它是什么,有什么用,怎么用。是什么从不同角度上来说,Lambda表达式是一个语法糖,也可以说是匿名函数。语法糖何谓语法糖,我的理解是语法糖就是方便程序员开发的一个功原创 2017-05-05 10:09:44 · 3375 阅读 · 0 评论 -
详解Java8特性之新的日期时间 API
吐槽Java 8 提供了一套新的日期时间 API,为什么要这么干呢。因在旧版的 Java 中,日期时间 API 存在很多问题,比如说线程安全问题了, java.util.Date 是非线程安全的,所有的日期类都是可变的;又还有设计乱七八糟,你去看看java.util.Date类会发现它的很多方法都被标记过时了,就知道Sun公司自己人都看不过去了,而且用于格式化和解析日期类的类在java.text包下原创 2017-05-07 14:09:17 · 5640 阅读 · 3 评论 -
详解Java8特性之重复注解
重复注解注解(Annotation )是Java 5 推出来的,推出来后使用极其广泛,一些流行的框架基本都会用到注解实现一些功能,代替以前的配置方式,最典型的像Spring。在继续往下讲之前,我先声明你得知道注解的知识,我假设你已经掌握注解知识并能够自定义注解。在Java 8 之前,同一个注解是不能在一个位置上重复使用的,例如我定义了一个注解@MyAnnotationpackage edu.jyu.原创 2017-05-07 21:57:34 · 2666 阅读 · 1 评论 -
详解Java8特性之Stream API并行流
在详解Java8特性之Stream API中,我用的例子使用的都是顺序流,即单线程执行的,其实Stream API还提供了并行流,即多线程执行操作。java.util.Collection<E>新添加了两个默认方法default Stream stream() : 返回顺序流default Stream parallelStream() : 返回并行流可以发现,stream()和paralle原创 2017-05-07 19:50:28 · 12389 阅读 · 4 评论 -
Fork/Join框架及其性能介绍
Fork/Join框架介绍Fork/Join框架是Java 7提供了的一个用于并行执行任务的框架, 大概是怎样子的呢,就是一个把大任务分割成若干个小任务,最终把每个小任务结果汇总起来得到大任务结果的框架。有点像是归并排序。下面的图就能很好地体现出来工作窃取模式(work-stealing)在讲Fork/Join框架使用前,得先介绍一下它所使用的线程模式——工作窃取模式,何为工作窃取模式,其实就是指一原创 2017-05-07 09:19:37 · 7149 阅读 · 8 评论 -
详解Java8特性之Stream API补充
上一篇文章我介绍了Java 8的Stream API 详解Java8特性之Stream API,忘记补充一点了,Stream 不会改变源对象。相反,他们会返回一个持有结果的新Stream(这样可以链式编程)。看下面例子@Testpublic void test() { List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6); lis原创 2017-05-06 18:36:38 · 896 阅读 · 0 评论 -
详解Java8特性之Stream API
前言Java8中有两大最为重要的改变。第一个是Lambda表达式,还不了解的可以去这看看详解Java8特性之Lambda表达式另外一个则是Stream API,在java.util.stream下是什么Stream呢,很多地方说到它是处理集合的关键抽象概念,这样子说实在是太抽象了。这个Stream并不是我们以前认识的IO流,而是一个数据渠道,用于操作数据源(集合、数组等)所生成的元素序列。集合专注的原创 2017-05-06 18:09:05 · 2441 阅读 · 3 评论 -
详解Java8特性之Optional类
Optional类在Java中,可能我们看过最多的异常就是java.lang.NullPointerException,这是使用null引用去调用一个方法或者字段的结果。Java 8中提供了java.util.Optional<T> 类,是一个容器类,代表一个值存在或不存在,原来用 null 表示一个值不存在,现在 Optional 可以更好的表达这个概念。并且 可以避免空指针异常。Optiona原创 2017-05-06 16:44:22 · 3216 阅读 · 0 评论 -
详解Java8特性之接口默认方法
是什么Java8中新增了接口的默认方法,简单来说就是让接口可以自己有实现方法,不许要实现类去实现。有什么用想象一种情况,你定义了一个接口A,假如里面有几个抽象方法。然后什么B,C,D,E…一大堆类去实现了A接口里面的几个抽象方法。那么现在问题来了,如果要在A中新加一个抽象方法,那么所有的实现类都要去实现这个抽象方法,不是很麻烦吗?这个时候默认方法就派上用场了,只需要再A中自己实现这个新添加的方法就好原创 2017-05-05 16:22:35 · 1969 阅读 · 0 评论 -
详解Java8特性之方法引用
前言在详解Java8特性之Lambda表达式 中我介绍了Java8中的Lambda表达式,通过Lambda表达式我们就可以快速地创建一个函数式接口的实例,可以说是大大简便了我们开发。你以为只能做到这么简便了嘛,big big wrong,大大的错,还可以再简便一点。有请我们今天的主角—方法引用在学习这个之前的得确保你已经学习过Lambda表达式了,因为这个是用在Lambda表达式的。方法引用方法引用原创 2017-05-05 12:49:15 · 19267 阅读 · 2 评论 -
Java8特性系列文章目录
(1)详解Java8特性之Lambda表达式(2)详解Java8特性之方法引用(3)详解Java8特性之接口默认方法(4)详解Java8特性之Optional类(5)详解Java8特性之Stream API(6)详解Java8特性之Stream API补充(7)详解Java8特性之新的日期时间 API(8)详解Java8特性之Stream API并行流(9)详解Java8特性之重复注解其实Java8原创 2017-05-08 21:43:07 · 1892 阅读 · 2 评论