自留地

得之坦然,失之淡然

image

本文仅对HashMap(1.8)源码中的部分实现细节做一个记录,不涉及到具体源码解析。

阅读全文 »

笔记

最近遇到了一个问题,在 Spring 的异步方法中 (@Async) 使用 HttpServletRequest 时,发现不仅在方法中无法通过 request.getParameter() 获取请求参数,而且甚至还影响到了后续请求,导致后续的有些请求也无法获取到请求参数。

阅读全文 »

image

MySQL 中需要记录时间时,通常使用 DATE 来表示日期,DATETIME 来表示时间,本文主要讲讲这两个类型之间的转换。

阅读全文 »

image

多环境配置

我们知道 springboot 是支持多环境配置的,具体做法就是将 application.properties 按照不同环境命名,例如我们需要区分两个环境,开发环境(dev) 和 正式环境(rc),那我们就可以使用如下配置:

1
2
3
4
5
- src/main/java
- src/main/resources
- application.properties # 基础公共配置,如应用端口,应用名称
- application-dev.properties # 开发环境配置,如开发环境数据库信息
- application-rc.properties # 正式环境配置,如正式环境数据库信息

只要将这三份配置文件放在 resources 文件夹中,通过打包后的启动命令 java -jar xx.jar --spring.profiles.active=rc 就可以让应用使用 application-rc.properties 中的配置。

阅读全文 »

200520-head-manacher

马拉车算法 (Manacher’s Algorithm) 主要用于处理字符串中的回文串,它可以在的O(n)时间里计算出以每个字符为中心的最长回文字符串。

回文,英文palindrome,指一个顺着读和反过来读都一样的字符串,如”abba”、“abccba”、12321、123321都是回文,而“abcde”和“ababab”则不是回文。

阅读全文 »