-
Java record pattern 解构嵌套 record 时,外层嵌套对象为 null 会匹配失败,而已存在 record 的字段值仍可为空。本文用地址解析小项目拆开三层边界,并给出 Java 21 的安全判断写法。
-
Java ReentrantLock 的 tryLock 超时调用会在等待结束时返回 false,被中断时抛出 InterruptedException。本文用一套可回滚的 try/finally 写法区分三条路径,并说明何时释放锁、何时清理资源以及公平锁的边界。
-
Ja vaFX 类库是从 JDK 7u6 开始才被正式包含进来的,而目前较新且相对稳定的 Ja vaFX 体系,与 JDK 8 的特性结合得更紧密。也正因为如此,运行 Ja vaFX 应用时,更推荐在系统里安装 JDK 8 或更高版本;如果仍然使用较低版本的 JDK,往往还得额外导入 jfxrt.j
-
Java Record 的参数校验应集中放在规范构造器中:用 compact constructor 处理清洗、非空、格式和范围约束,重载构造器统一委托,避免对象从旁路入口创建。
-
Java 线程池会复用工作线程,ThreadLocal 中的用户信息不会在一次任务结束后自动消失。本文用 finally、remove 和任务装饰器建立可靠的清理边界,避免用户串号与对象滞留。
-
Java Optional 的 orElse 会先计算兜底参数,即使主值已存在也可能触发数据库或远程调用。用订单展示接口复现这个问题,说明 orElseGet、Supplier、异常处理与测试边界。
-
Java ObjectInputFilter 可以在对象反序列化过程中检查类名、数组长度、对象图深度、引用数和输入字节数。本文用一个白名单场景写出最小过滤器,并用可验证的拒绝案例检查边界。
-
解释 Java Map.computeIfAbsent 递归更新同一个键为何失败,区分 HashMap 与 ConcurrentHashMap 的异常边界,并用递归返回值和外部缓存改写回调内更新。
-
Java G1 日志出现 humongous allocation 时,应先确认实际 Region 大小,再用半个 Region 判断阈值,并结合 Humongous regions、Old regions、并发标记和 Full GC 证据区分偶发大对象与持续空间压力。
-
Java 25 正式交付 Key Derivation Function API,可用 HKDF 从输入密钥材料派生指定长度的 AES 密钥。本文用 javax.crypto.KDF 和 HKDFParameterSpec 拆解 extract、expand、salt、info 的参数边界,并给出长度和结果验收方法。
-
JDK 21 的 SequencedCollection 为有遇见顺序的集合统一了首尾访问和反向视图。本文从迁移回归入手,说明类型收窄、空集合异常、不可修改实现、reversed 视图及公共 API 兼容处理。
-
用 Java sealed interface 和 record 固定支付状态集合,结合 Java 21+ 的 switch 表达式减少非法状态组合,并在新增状态时获得编译期提醒。
-
Java 大文件不要先 readAllBytes 再 encodeToString。用 Base64.Encoder.wrap(OutputStream) 把编码器接到输出流上,输入端分块读取,关闭包装流时完成尾部补位,并根据协议选择基本、URL 或无补位编码。
-
ArrayDeque 明确禁止 null,不是实现遗漏,而是为了让 pollFirst 的 null 返回值稳定表示“队列为空”。本文从 addLast、pollFirst 和空值哨兵的关系出发,说明如何改造入队契约并验证边界。
-
在早期JDK1.0发布时,Sun公司就为GUI开发提供了一套基础类库,这套类库被称为AWT(Abstract Window Toolkit),即抽象窗口工具包。AWT的起初设想就是为了统一实现不同操作系统的图像界面,但问题是,不同操作系统图形库的功能可能不一样,在一个平台上存在的功能在另外一个平台上