再说一个 Java 惯例:判空为什么优先用 isEmpty()
上一篇聊了区间为什么爱写成左闭右开,核心是“用更贴合语义的方式,避开容易出错的等价写法”。顺着这个思路,再说一个 Java 里同样普遍、同样容易被忽视的惯例:判断集合或字符串是否为空时,用 isEmpty() 而不是 size() == 0 或 length() == 0。
Java 21模式匹配实战:if-else地狱的终结者
上周review了一段代码,一个handleMessage方法,478行,嵌套了7层if-else。从message instanceof TextMessage开始,一路强转到底。维护的小伙子说每次加一种新消息类型,手都抖。这不是个例。
一次 Java 进程神秘退出的排查:tmp 目录里的“隐形杀手”
摘要:本文记录了一次线上 Java 进程反复神秘退出的完整排查过程。服务器拥有 120G 物理内存,JVM 堆仅占用 40G 左右,且无其他应用,但进程仍被 Linux 内核的 OOM Killer 反复击杀。
一文读懂Java异常类层次结构!搞清Error、Exception、运行时异常
做Java开发,没有人能绕开异常。日常写代码时的空指针报错、数组越界、类型转换失败、文件找不到、数据库连接超时,这些统统都是Java异常。大部分程序员只会简单使用 try-catch 捕获异常、throws 抛出异常,但绝大多数人都搞不清楚:Java异常体系到底是怎么分层的?
SpringBoot :数据库字段加密、模糊查询、范围查询、等值查询
范围查询:筛选薪资在 1 万到 2 万之间的员工。最常用的确定性加密方案是 HMAC-SIV:用 HMAC 把明文映射成固定长度的字符串,再配合可逆 AES 加密保留可解密能力。
Java Jakarta Validation 实战指南:从参数校验到分组、自定义注解
Spring Boot 项目通常直接引入 validation starter:它会带上 Jakarta Validation API 和 Hibernate Validator。
Spring Boot接口返回一堆null?用@JsonInclude优化响应结构
接口返回的 JSON 里一堆 null 字段,前端拿到后还得逐个判空。用 @JsonInclude 控制序列化时哪些字段不输出,能减少传输体积,前端代码也更清爽。一、null 字段带来的问题1.
相差不到 2 天,两个 9 分级漏洞:PHP 和 Java 到底怎么查、怎么修
如果你同时维护着 PHP 和 Java 两种技术栈,这两天大概率已经被各种群消息轰炸过了。2026 年 10 月 20 日,PHP 项目预告了一次安全更新;10 月 21 日 13:30 UTC,PHP 8.5.12 / 8.4.27 / 8.3.36 / 8.2.