Orika 使用不当导致的内存溢出问题

前言

最近突然收到了系统推送消息告警。打开一看,好家伙!直接 kafka 堆积超过了 100w 条数据,就差基础服务的人找上门来了。

kafka告警

经过简单的一系列排查,终于找到是代码中 Orika 工具使用不当导致内存增加、cpu 过高导致消费变慢。

下面记录下排查的思路

阅读更多

JDK1.8在Windows系统上MMap后文件IO关闭无效

前言

最近在开发个小东西,大量涉及了文件的操作。当然这种事情很简单嘛,最基本的打开个文件流进行写不就行了?

1
2
3
4
FileChannel fc = new RandomAccessFile(file, "rw").getChannel();
MappedByteBuffer mb = fc.map(FileChannel.MapMode.READ_WRITE, 0, 4096);
// ......
fc.close()

我本来也是这样想的,可是当你执行这条语句file.delete()的时候居然返回的是false,删除失败?why?我不是明明已经将文件流关闭了嘛?接下来就是疯狂找原因了。

阅读更多