avatar

Life of a Programmer

`Simplicity is prerequisite for reliability.’ - EWD

Being Sick

自我感觉良好一直穿着短袖之后,周三开始了牙龈疼。最严重的时候,既合不拢、也张不开嘴巴。会疼。奇怪的是,除了扁桃体有点隐隐做痛,没有其它感冒或

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, 结果发现里面