自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

转载 Java8双冒号(::)运算符的使用

在java8中引入了很多新特性,其中最有亮点的就是函数式编程,例如lambda表达式,简化书写等.我们先看一个关于Lambda的使用:/*** 输出list */@Testpublic void test() { String[] array = {"aaaa", "bbbb", "cccc"}; List<String> list = Arrays.asList(ar...

2019-12-27 15:51:59 959

转载 JAVA8之函数式编程Predicate接口

源码:package java.util.function; import java.util.Objects; @FunctionalInterfacepublic interface Predicate<T> { boolean test(T t); default Predicate<T> and(Predica...

2019-12-27 11:38:54 131

原创 java8 BiFunction接口

BiFunction:这篇文章是对BiFunction函数式接口的学习总结。这里提醒一点,可以看出该接口中有方法的实现,不单单只有抽象方法,在java8中,有一个新的改进就是在现有的接口中增加了一些默认的方法实现,使用default关键字来修饰。这种做法不会影响以前代码对接口的实现,也对原有的接口进行了扩展。传递行为给方法,而不是传递值。/** * BiFunction是一个函数式接口,它...

2019-12-26 17:57:09 197

原创 ThreadPoolExecutor

概述:在编程规范中,不建议使用Executors去创建线程池,而是推荐使用ThreadPoolExecutor。ThreadPoolExecutor会更明确运行规则,避免资源耗尽的风险。因为Executors返回线程池有弊端:1)FixedThreadPool和SingleThreadPool,允许的请求队列长度为Integer.MAX_VALUE,可能会堆积大量的请求,从而导致OOM。...

2019-12-26 16:51:44 272

转载 Redis-避免缓存穿透的利器之BloomFilter

你在开发或者面试过程中,有没有遇到过 海量数据需要查重,缓存穿透怎么避免等等这样的问题呢?下面这个东西超牛逼。Bloom Filter概念:布隆过滤器(英语:Bloom Filter)是1970年由一个叫布隆的小伙子提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率...

2019-12-20 11:20:26 379

原创 redis和memcached的区别

缓存技术说到redis必然后联系到memcache,对于两者的使用究竟如何才最合适?两者都属于NoSql中分类的一种,小编先介绍一下,NoSQL中大概一个分类情况。通常知晓的几点1、Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等等;2、redis与memcached相比,支持更多类型的数据结构,而且同样是str...

2019-12-20 10:43:25 65

转载 redis分布式锁

什么是分布式锁分布式锁用在分布式系统中,分布式系统即单个系统多个部署,通过负载均衡,实现系统快速稳定响应。在我们对同一条数据进行修改的时候,极有可能造成脏数据。分布式锁的作用就是保证数据的接近原子性操作,简要说就是保证多个系统中的某一方法同一时间只能运行一个。如何使用redis分布式锁老版本:jedis.setnx(key,value);只在键 key 不存在的情况下, 将键 key 的...

2019-12-19 18:22:58 128

原创 List对象集合的排序:比较器Comparator

这种方法不需要实体类实现Comparable接口,比较灵活。 /** * 根据时间戳进行倒序排序 * * @param list * @return */ private List<ApplyBarrageVO> timeSortDesc(List<ApplyBarrageVO> list) { ...

2019-12-16 15:28:23 261

转载 @Mapper注解详解

在上一节中,我们已经看到了MapStruct可以帮助我们自动根据一个添加@Mapper注解的接口生成一个实现类,在上一节的案例中,自动生成的是CarMapperImpl.class,而且我们也已经通过IDE的反编译功能查看了其源码。本节我们将会对@Mapper注解进行一些讲解。1、@Mapper注解的componentModel属性componentModel属性用于指定自动生成的接口实现类...

2019-12-03 17:50:43 2532

转载 MAPSTRUCT(@Mapper用法)

官网地址:http://mapstruct.org/MapStruct是一个代码生成器,简化了不同的Java Bean之间映射的处理,所以映射指的就是从一个实体变化成一个实体。例如我们在实际开发中,DAO层的实体和一些数据传输对象(DTO),大部分属性都是相同的,只有少部分的不同,通过mapStruct,可以让不同实体之间的转换变的简单。我们只需要按照约定的方式进行配置即可。MapStruct...

2019-12-03 17:47:37 15213 5

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除