Junit4升级至Junit5

2021-09-14
阅读 2 分钟
4.3k
junit5的特性和优点可以参考升级到junit5。其中我最看中的点是,Junit4错过了好多Java8的好多特性。Junit5可以很好得利用java8的特性,代码的表达更加清晰和简洁。
封面图

lombok @Builder踩坑系列 - 构造方法和默认值问题

2021-05-16
阅读 4 分钟
9.7k
@Data和@Builder一起用:我们发现没有了默认的构造方法。如果手动添加无参数构造方法或者用@NoArgsConstructor注解都会报错!
封面图

JAVA面试系列 - 线程池的构造

2021-01-19
阅读 2 分钟
2.1k
概述平时面试候选人,聊到线程池的时候难免会顺带着考察下ThreadPoolExecutor构造函数中各参数的含义,在这里做一个简单的总结。ThreadPoolExecutor构造参数说明其实从源码中的JavaDoc已经可以很清晰地明白这些参数的含义了,下面照顾懒得看英文的同学,再解释一下:corePoolSize线程池核心线程数。默认情况下核心线程会...

Java 8 stream 实战

2019-12-29
阅读 6 分钟
2.1k
平时工作用python的机会比较多,习惯了python函数式编程的简洁和优雅。切换到java后,对于数据处理的『冗长代码』还是有点不习惯的。有幸的是,Java8版本后,引入了Lambda表达式和流的新特性,当流和Lambda表达式结合起来一起使用时,因为流申明式处理数据集合的特点,可以让代码变得简洁易读。幸福感爆棚,有没有!

Spring Boot 多数据源 Redis 配置

2019-12-22
阅读 8 分钟
9k
以上配置主要参考 spring 官方配置 RedisAutoConfiguration, LettuceConnectionConfiguration。简单来说:RedisAutoConfiguration注册了2个bean,RedisTemplate和StringRedisTemplate,这两个bean又依赖RedisConnectionFactory的注入,在RedisAutoConfiguration可以看到,RedisConnectionFactory有两个实现,LettuceConn...

springboot资源初始化的几种方式

2019-08-25
阅读 4 分钟
14.4k
在实际项目中,我们需要在springboot服务启动后做一些初始化工作,例如线程池初始化、文件资源加载、常驻后台任务启动(比如kafka consumer)等。本文介绍3类初始化资源的方法:

互联网后端知识点整理

2018-04-05
阅读 3 分钟
4.3k
前言 一些问题的整理,平时实际工作中可能会忽视的一些原理性问题,后续会选取一些有意思的点进行详述。 JAVA多线程、并发相关 多个线程同时读写,读线程的数量远远⼤于写线程,你认为应该如何解决 并发的问题?你会选择加什么样的锁? JAVA的AQS是否了解,它是⼲嘛的? 除了synchronized关键字之外,你是怎么来保障线程...

【深入浅出spring】Spring MVC 流程解析 -- HandlerAdapter

2018-04-03
阅读 7 分钟
9.4k
从源码可以看到,17行根据request拿到对象HandlerExecutionChain(包含一个处理器 handler 如HandlerMethod 对象、多个 HandlerInterceptor 拦截器对象)后,就是24行根据handler获取对应的adapter,并在44行调用适配器的handler方法(适配器设计模式可以自行google了解),返回ModelAndView。详细看下getHandlerAdapter这...

【深入浅出spring】Spring MVC 流程解析

2018-03-18
阅读 2 分钟
13.8k
其实一年前就想系统地记录下自己阅读spring源码的收获,搞一个深入浅出spring的系列文章,但是因为工作原因,迟迟没有下笔。今天终于可以开始自己一年前的计划了,言归正传,首先开始spring mvc相关的内容。

spring 3.x 升级 spring 4 实践

2018-03-10
阅读 2 分钟
6.9k
为什么升级 spring 4 升级 Spring4 的原因是:想要将老项目从jdk1.6升级之1.8,而Spring 4 以前的版本不兼容 JDK8。 Spring 4 相比 Spring 3,引入许多新特性,这里列举几条较为重要的: 支持 JDK8 (这个是最主要的)。 Groovy Bean Definition DSL 风格配置。 支持 WebSocket、SockJS、STOMP 消息 移除 Deprecated 包...

Hibernate的延迟加载

2015-11-29
阅读 4 分钟
5.6k
集合属性的延迟加载通过PersistentSet、 PersistentList、PersistentBag、PersistentMap、PersistentSortedMap、PersistentSortedSet作为代理类来实现,代理类中保存了session以及owner属性,owner属性表示了集合属性所属的one侧的实体。