Java8 Stream实战(三)

前言

本想接着上一章 Java8 Stream实战(二) 继续往后开展 Java8 Stream 相关API实践,但是考虑到今天要介绍的内容不仅仅只是针对现有 API ,还有如何对 Stream#reduce 进行相关的拓展,以满足日常开发的需要,于是单独开一篇进行介绍。

Java8 Stream实战(二)

前言

实际工作中,我们面临的数据处理场景异常复杂,往往需要多种API组合使用。对于常见的处理需求,Java8提供了例如 Collectors 来协助我们处理集合,比如我们需要将流收集成一个ArrayList 的时候,我们可以直接使用java.util.stream.Collectors#toList,如下

1
List collect = students.stream().collect(Collectors.toList());

Java源码解读(一):Objects

其实阅读Java源码本身并没有那么难,只要我们踏出第一步,后面反而比我们想象的要简单。可能很多Java初学者并不知道从哪里下手,所以本篇博客将挑选一个源码较为简单的工具类—— java.util.Objects 作为切入点,走入Java源码的世界。

lombok 实战

其实早就听过lombok,作为java开发者心中奇技淫巧,确实给我们开发带来了很多便捷。很多大牛也写博客对其进行详细的介绍,文章末尾会给出一些文章链接以供学习,而本篇文章记录下本人在接触、使用lombok后的一些心得。

lombok 介绍

作为一个java开发者,我们日常开发过程中无法避免类似getter or setter 这样的代码出现在我们的工程中,又或是引用日志的时候无法避免每个文件中都写一遍

Java8 Stream实战(一)

参考自《Java 8实战》

什么是stream

为什么使用Stream?因为它能让我们更高效地处理集合,让我们可以简洁地表达复杂的数据处理查询。此外,Stream可以透明地并行化。我们可以使用Stream API完成以下操作:

Java8 lambda 实战

本篇内容摘自《Java8 实战》

在阅读本篇文章之前,我希望你能了解什么是行为参数化——它允许你定义一个代码块来表示一个行为,然后传递它,利用这个概念,你就可以编写更为灵活且可重复使用的代码。

行为参数化

本篇内容摘自《Java8 实战》

前言

行为参数化和“策略设计模式”相关,它让你定义算法,并将其封装起来(这里称为“策略”),在运行的时候选择一个算法,如果你现在不太明白这句话的意思,可以紧张兮兮的往下看,我将会通过一系列的例子来展示什么叫做行为参数化,以及这种设计模式的优点。

自定义注解实战(二)

利用拦截器实现注解

上一篇 自定义注解实战(一) 中说到使用aop最大的好处是不侵入业务代码,但是有些业务需要拦截请求,比如参数校验,为空的话直接返回isNull的错误信息,这时候用AOP来做这件事就显得不太优雅了,所以我想到了用拦截器来实现,定义注解的方式还是一样,这里就不多加赘述了。

自定义注解实战(一)

利用AOP实现注解

个人见解:使用aop最大的好处是不侵入业务代码,就可以在方法执行前或者执行后来实现某些功能,比如日志打印,权限处理等等。正是因为不侵入代码的特性,我们不建议利用aop去截断请求(request),返回包含错误信息的响应(response)。其实我之前有这么做过,自定义权限注解,用户没有权限的话,直接返回没有权限的错误信息(response),功能上可以实现,虽然给我抛异常了,有代码洁癖的我就只能使用拦截器的方法实现该注解了,利用拦截器实现注解将在 自定义注解实战(二) 中来介绍,本篇介绍利用aop来实现注解——当说明书来看吧。。。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×