- 博客(6)
- 收藏
- 关注
原创 CompletableFuture整理及拓展
/异步执行一个有返回值的任务});//异步执行一个无返回值的任务});//创建一个已经完成的CompletableFuture对象// 创建一个未完成的CompletableFuture对象CompletionStage可以用于构建复杂的异步计算流水线,通过串行、并行、组合等方式来处理异步计算的结果。CompletableFuture实现了接口CompletionStage来处理组合和编排CompletableFuture对象之类操作。如下图,包括等等这些操作。
2023-08-30 18:29:39
175
原创 TransmittableThreadLocal内存泄漏问题排查解决
线上使用TransmittableThreadLocal解决线程池等会池化复用线程的执行组件情况下,提供ThreadLocal值的传递功能,解决异步执行时上下文传递的问题。运行一段时间后,出现内存泄漏,进程被杀。后续回滚。进行分析。
2023-06-20 18:32:18
1240
原创 堆外内存泄漏排查
查看相关代码 涉及到这个调用的是 Jackson 的反序列化为 map 的时候 对 key 做了这个操作,用来减少内存占用空间。线上的兜底 job 服务监控显示每天以 1% 的速度内存增长,直到 90% 以上,需要手动重启。可以很明显看到主要是 Symbol 区 Stringtable 的增长 也就是 String.Intern 的调用。3. 使用 Java 的 Unsafe 类做一些分配本地内存的操作 不好控制 主要在 Intern 区。1. 禁用相关,重启后再进行观察,不再出现相关堆外内存泄漏。
2023-06-07 15:34:29
1221
原创 关于 TransmittableThreadLocal 一些总结
在使用线程池等会池化复用线程的执行组件情况下,提供 ThreadLocal 值的传递功能,解决异步执行时上下文传递的问题。
2023-06-07 15:29:43
942
原创 内存泄漏排查工具使用及top命令显示问题
线上服务压测过后,部分机器的监控显示的rss内存使用率会一直增长,中间不会fullgc,直到内存分配不了,直接down机,进程被kill掉。当前环境g1垃圾回收器内存配置。
2023-06-07 15:28:16
2633
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人