coding……
但行好事 莫问前程

Java基础

解读Java并发队列BlockingQueue-Zhuoli's Blog

解读Java并发队列BlockingQueue

zhuoli阅读(103)评论(0)赞(0)

上篇文章讲了List的链表实现——LinkedList,同时LinkedList也实现了Dequeue接口,可以通过LinkedList实现栈和队列的操作。刚好昨天看到一篇关于线程池中BlockingQueue相关的不错的文章,这里分享一下...

Java8 Map coumute操作

zhuoli阅读(113)评论(0)赞(0)

在整理Java编程拾遗『容器概述』这篇文章时,看到Map接口中在Java8后加入了compute的一系列方法,computeIfAbsent、computeIfPresent以及compute方法。本篇文章就来讲述一下这三个方法的使用。 S...

Bean转换工具DozerBeanMapper-Zhuoli's Blog

Bean转换工具DozerBeanMapper

zhuoli阅读(138)评论(0)赞(0)

在开发中经常遇到这样一个问题,从DAO层拿回DO实体对象,比如我们从数据库中查出的User实体类包含以下域: @Getter @Setter @ToString public class UserDO { private Integer i...

Java8 Stream使用flatMap合并List

zhuoli阅读(157)评论(0)赞(0)

之前也写过很多篇关于Java8使用的文章了,但是回顾一下,好像还没介绍过Java8 Stream的flatMap操作,昨天刚好在工作中遇到一个场景,发现flatMap简直太方便了,这里总结一下flatMap的常规使用。附带讲一下,使用Jav...

Java8实现Map/List/Set排序

zhuoli阅读(162)评论(0)赞(0)

Java8之前如果想对一个集合排序,那么集合元素要么实现了Comparable接口,要么另外定义一个继承于Comparator的比较器并实现compare方法,使用起来是非常麻烦的。在我之前的文章中也介绍了一种Guava的排序实现方案,也是...

Java8 Stream groupingBy对List进行分组

zhuoli阅读(150)评论(0)赞(0)

提到Group By,首先想到的往往是sql中的group by操作,对搜索结果进行分组。其实Java8 Streams API中的Collector也支持流中的数据进行分组和分区操作,本片文章讲简单介绍一下,如何使用groupingBy ...

Java8 Stream reduce操作

zhuoli阅读(129)评论(0)赞(0)

Reduce,顾名思义为减少的意思,就是根据指定的计算模型将Stream中的值计算得到一个最终结果。在之前的一篇文章Java8函数式编程中简单介绍,Stream的count、min 和max方法底层都是依赖reduce实现的,本篇文章将简单...

java8 Optional

zhuoli阅读(406)评论(2)赞(2)

Optional是Guava提出的概念,通过使用检查空值的方式来防止代码污染,鼓励程序员写更干净的代码,解决空指针异常NullPointerException。受到Google Guava的启发,Optional在Java8正式加入Java...

Java中LocalDate和Date互转

zhuoli阅读(141)评论(0)赞(0)

上篇文章介绍了Java8和Java8之前的时间处理的相关类,但是在日常开发中难免会遇到Java8和之前的旧对象互转的需求。我整理了一下之前的内容,做了一个工具类,如下: public class DateUtils { /** * @Aut...

zhuoli's blog

联系我关于我