会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
时间之外的往事
时间之外的往事
博客园
首页
新随笔
联系
订阅
管理
2023年2月21日
使用java.util.Timer实现定时任务,详解Thread.sleep() in a loop, probably busy-waiting问题
摘要: 很多时候,我们需要定时任务实现一些诸如刷新,心跳,保活等功能。这些定时任务往往逻辑很简单,使用定时任务的框架(例如springboot @Scheduled)往往大材小用。 下面是一个定时任务的典型写法,每隔30s发送心跳 public static void main(String[] args)
阅读全文
posted @ 2023-02-21 15:26 时光之末
阅读(12246)
评论(0)
推荐(2)
2023年2月17日
使用springboot cache + redis缓存时使用gzip压缩以提升性能
摘要: ##背景 在高并发的场景中,我们通常会使用缓存提升性能。在使用springboot cache时,我们通常会使用基于JSON的序列化与反序列化。 JSON具有可读性强,结构简单的特点,使用灵活。 但是JSON体积大,占用redis内存,同时增加网络开销,使用gzip压缩可以将体积缩减到原来的十分之一
阅读全文
posted @ 2023-02-17 17:15 时光之末
阅读(882)
评论(0)
推荐(0)
2021年9月9日
如何在不额外读流的情况下计算md5值
摘要: 设想这样一个场景:从网络流中读取文件到硬盘中并计算文件的md5值。通常的做法是先将文件保存下来,再计算文件的md5,但这样会一共会出现三次I/O,一次网络I/O,两次磁盘I/O。 导致额外磁盘I/O的写法 import org.apache.commons.io.IOUtils; import or
阅读全文
posted @ 2021-09-09 13:17 时光之末
阅读(616)
评论(0)
推荐(0)
2021年9月7日
记一次使用tika解析文件文本导致的内存溢出问题
摘要: 背景 笔者曾供职于某信息安全公司,接到过一个需求,提取文档中的文本以供后续分析。tika是apache开源的解析文档内容的组件,应用十分广泛。tika几乎支持你能想到的所有文档格式,docx , pptx , xlsx , pdf, zip , rar , tar 等。 tika本身只是一个门面,不
阅读全文
posted @ 2021-09-07 22:21 时光之末
阅读(1938)
评论(2)
推荐(0)
公告