avatar

Life of a Programmer

`Simplicity is prerequisite for reliability.’ - EWD

Buffering

最近碰到一个行缓冲(line buffering)方面的问题,有点意思。 背景 🔗某段 golang 代码中,需要解析 virsh event --loop 的输出,大概就是用bufio 里的 Scanner 来

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是一门动态语言,每个方