Deep Dive Why Is Fastjson Parsing My VARCHAR? A MyBatis-Plus TypeHandler Mystery A MyBatis-Plus TypeHandler misconfiguration silently hijacked every VARCHAR column — here's how I traced and fixed it
Deep Dive When Does Spring Actually Release Your Database Connection? A production deadlock revealed that Spring holds database connections long after commit — and that switching from REQUIRES_NEW to REQUIRED doesn't fix the problem, it makes it worse
Incidents Debugging Intermittent HTTP 400: A Tale of Feign, Hutool, and JDK Class Loading How a missing 'else' in Feign, a security bypass in Hutool, and JDK's static initialization created a bug that only appears sometimes
Incidents Why Your Java App Breaks After a Minor JDK Upgrade A debugging detour that uncovered JDK's jspawnhelper version check mechanism