avatar

Life of a Programmer

`Simplicity is prerequisite for reliability.’ - EWD

Java Thread States

根据 Oracle 的官方文档 ,Java 线程有如下状态: 状态 描述 NEW 刚创建的新线程 RUNNABLE 线程正在JVM内执行 BLOCKED 线程阻塞在 monitor lock WAITING 线程无限等待其他线程的某个特定动作

Deadlock in Groovy 2.4.8

前段时间,为了解决 GroovyShell 中的一个内存泄漏问题,把 groovy 从 2.4.7 升级到了 2.4.8,没想到 2.4.8 中解决内存泄漏的时候,引入了一个高危bug:会导致线程死锁。 c.f.

Meet JVM OOM - cont'd

接上篇。 Groovy 🔗内存泄漏的原因还是因为不当使用了GroovyShell,因为需要动态的加载并执行生成的 groovy 脚本。Groovy是一门动态语言,每个方

Meet JVM OOM

今天做了一次 Java 进程的 OOM 分析,记录一下过程。 初次怀疑 🔗有同事最近反应 Java 进程没有响应,kill -3抓了一下catalina.out, 结果发现里面

Morning Sky

做了个恶梦。还好在生死边缘,梦醒了。 起床洗脸,天边已经泛着一丝微光。蓝色的背景下,飞机掠过的痕迹依稀可见。晨风微凉,睡意渐消。天空的色调看起