前两天在一个Spring项目里使用了Caffine缓存,在application.yml中的配置如下: 为了避免缓存占用过多内存导致频繁GC,使用了weakKeys和weakValues选项。 不过测试时发现缓存不能命中,仍然会查询数据库。
[阅读更多...]-
CaffeineCache 慎用weakKeys
-
关于代码重构那些事
首先抛出观点:重构既有代码并不是一件讨好的事情,甚至是一件无功有过的事。 说个我朋友的事(我的一个朋友系列)。这个人颇有些强迫症。他在入职某家公司一段时间后,实在受不了负责模块那些祖传代码的组织方式,就用工作之余的的时间彻底重构了部分内容。
[阅读更多...] -
Spring Controller层测试 – 05 SpringBootTest & WebServer
在使用@SpringBootTest测试时可以指定一个端口,如@SpringBootTest(webEnvironment = WebEnvironment.RANDOM_PORT) 或 @SpringBootTest(webEnviron
[阅读更多...] -
Spring Controller层测试 – 04 SpringBootTest & MockMVC
这种测试方案会加载完整的SpringContext,但我们仍然不需要Web Server,需要继续通过MockMVC来模拟请求。 在测试的时候主要用到了@SpringBootTest注解。看下代码: @SpringBootTest和@Aut
[阅读更多...] -
Spring Controller层测试 – 03 WebContext & MockMVC
这种Controller层测试方案会(部分)加载Spring Application Context。不过仍然还是主要是用MockMVC来进行测试,也不需要部署WebServer。 示例代码如下: 和standalone MockMVC模式
[阅读更多...] -
Spring Controller层测试 – 02 Standalone MockMVC
在Spring中,可以在Standalone模式下使用MockMVC来进行服务内测试,此时我们不会加载任何Context。来看个例子: MockitoJUnitRunner和MockMVC 代码中使用了MockitoJUnitRunner来
[阅读更多...] -
Spring Controller层测试 – 01 概述
Spring Controller层(Web层或API层)的测试有多种方案。有人倾向于使用纯单元测试,有人则倾向于使用集成测试。 单元测试和集成测试 先来看一下单元测试和集成测试的概念。 单元测试 单元测试是对软件中的最小可验证单元进行检查
[阅读更多...] -
Spark生成CSV后BOM变EF BF BD
工作中需要通过Spark以csv格式导出日志文件。实现功能不太复杂,但是在中文识别上遇到了些问题。 解决csv文件中的乱码最直接的思路就是添加BOM,这样Excel在打开Excel的时候就知道使用什么样的编码来解析这篇文档了。 先写了段测试
[阅读更多...] -
关于Scrum敏捷开发的一点想法
公司中层最近开始推scrum敏捷开发,落实到行动上大概有这么几个方面: 定期迭代,小步快跑; 产品经理创建Backlog(需求列表); 团队进行需求评审; 开发团队组织会议,对需求进行细化,分解成一个个可以执行的具体任务(task); 开发
[阅读更多...] -
WordPress java操作库
前段时间有些需求就撸了个wordpress java操作库,主要是依赖wordpress XMLRPC实现。简单介绍下使用方式。 引入dependency: WordPress实例是所有操作的基础。简单的WordPress实例创建方式如下:
[阅读更多...]