首先看一段存在 bug 的代码:
1 |
|
首先看一段存在 bug 的代码:
1 | @GuardedBy("isolatedEndpointsSetLock") |
SPARK-39357 pmCache memory leak caused by IsolatedClassLoader - ASF JIRA
SPARK-39357 Fix pmCache memory leak caused by IsolatedClassLoader by tianshuang · Pull Request #36741 · apache/spark · GitHub
Effect of ThreadLocals and side-by-side classloading - Stack Overflow
How isolated are static variables? - Software Engineering Stack Exchange
在一次帮同事排查问题的过程中,我发现当派发请求的线程因 OOM 终止后,netstat
命令显示的 Recv-Q
与设置的 backlog
并不完全相同,而是存在 Recv-Q = backlog + 1
的关系,比如执行 netstat -tulnp
命令输出如下:
1 | Active Internet connections (only servers) |
使用 -XX:MaxRAMPercentage
能够根据物理内存计算出最大堆大小,在容器服务等场景下相比 -Xmx
更易用。在 JDK 8 中计算相关源码位于:jdk8u/arguments.cpp at jdk8u352-b05 · openjdk/jdk8u · GitHub:
1 | void Arguments::set_heap_size() { |
今天帮同事查了个关于 fastjson 反序列化的问题,现象是一处反序列化的代码在发布至测试环境一段时间后反序列化的结果不正确,且该问题在本地无法复现。经过排查,确认与泛型的反序列化有关,该组应用的 fastjson 版本为 1.2.29,简化相关代码后有如下类:
1 | package me.tianshuang; |