java教程技术文章
-
文章 · java教程 | 2星期前 | Java · Switch · Java 21 · 类型匹配 · java case null Pattern Matching for switch 类型模式
Java 的 Pattern Matching for switch 遇到 null 时不会自动落到 default。本文从一段线上状态分派代码切入,说明 case null、类型模式、when 守卫和 default 的边界,并给出兼容旧写法的改造方式。194 收藏 -
Java record pattern 解构嵌套 record 时,外层嵌套对象为 null 会匹配失败,而已存在 record 的字段值仍可为空。本文用地址解析小项目拆开三层边界,并给出 Java 21 的安全判断写法。190 收藏 -
Ja vaFX 类库是从 JDK 7u6 开始才被正式包含进来的,而目前较新且相对稳定的 Ja vaFX 体系,与 JDK 8 的特性结合得更紧密。也正因为如此,运行 Ja vaFX 应用时,更推荐在系统里安装 JDK 8 或更高版本;如果仍然使用较低版本的 JDK,往往还得额外导入 jfxrt.j189 收藏 -
Java Record 的参数校验应集中放在规范构造器中:用 compact constructor 处理清洗、非空、格式和范围约束,重载构造器统一委托,避免对象从旁路入口创建。189 收藏 -
Java 线程池会复用工作线程,ThreadLocal 中的用户信息不会在一次任务结束后自动消失。本文用 finally、remove 和任务装饰器建立可靠的清理边界,避免用户串号与对象滞留。188 收藏 -
文章 · java教程 | 4星期前 | 反序列化 · Java教程 · 安全编程 · Java IO · java Java安全 ObjectInputFilter 反序列化过滤 Serialization Filter
Java ObjectInputFilter 可以在对象反序列化过程中检查类名、数组长度、对象图深度、引用数和输入字节数。本文用一个白名单场景写出最小过滤器,并用可验证的拒绝案例检查边界。186 收藏 -
文章 · java教程 | 20小时前 | Java教程 · 异常排查 · 集合框架 · 递归更新 · java HashMap map concurrenthashmap computeIfAbsent
解释 Java Map.computeIfAbsent 递归更新同一个键为何失败,区分 HashMap 与 ConcurrentHashMap 的异常边界,并用递归返回值和外部缓存改写回调内更新。184 收藏 -
文章 · java教程 | 3星期前 | 密码学 · Java教程 · 安全编程 · Java 25 · 密钥派生 · aes Java 25 KDF HKDF JEP 510 HKDFParameterSpec
Java 25 正式交付 Key Derivation Function API,可用 HKDF 从输入密钥材料派生指定长度的 AES 密钥。本文用 javax.crypto.KDF 和 HKDFParameterSpec 拆解 extract、expand、salt、info 的参数边界,并给出长度和结果验收方法。183 收藏 -
ArrayDeque 明确禁止 null,不是实现遗漏,而是为了让 pollFirst 的 null 返回值稳定表示“队列为空”。本文从 addLast、pollFirst 和空值哨兵的关系出发,说明如何改造入队契约并验证边界。180 收藏 -
在早期JDK1.0发布时,Sun公司就为GUI开发提供了一套基础类库,这套类库被称为AWT(Abstract Window Toolkit),即抽象窗口工具包。AWT的起初设想就是为了统一实现不同操作系统的图像界面,但问题是,不同操作系统图形库的功能可能不一样,在一个平台上存在的功能在另外一个平台上179 收藏 -
文章 · java教程 | 2星期前 | 性能优化 · JVM · Java教程 · Java 25 · AOT · 预热 启动速度 Java 25 AOT Method Profiling AOT Cache
Java 25 的 AOT Method Profiling 会把训练运行得到的方法画像带到 JVM 启动阶段。本文用 record、create、on 三段命令拆解配置文件和缓存文件的关系,并核对 JDK、应用、操作系统与 CPU 不一致时的回退边界。179 收藏 -
在学习线程之前,需要先了解一下什么是进程。在一个操作系统中,每个独立执行的程序都可称之为一个进程,也就是“正在运行的程序”。例如同时运行的QQ、360安全卫士、Eclipse开发工具等。 在多任务操作系统中(即能同时执行多个应用程序),可以查看当前系统中所有的进程,这里以Windows操作系统为例,178 收藏 -
文章 · java教程 | 2星期前 | 标准库 · Java · 异常处理 · 数据编码 · java base64 padding IllegalArgumentException Base64.Decoder
用 Java Base64.Decoder 对比带 padding、无 padding 和非法尾部输入,解释 decode 的异常边界,并给出 String、byte[] 与 ByteBuffer 入口的选择方法。178 收藏 -
Files.walk 的 maxDepth 从起始 Path 的深度 0 开始,所以当前目录始终会出现在结果中。本文用层级示例讲清深度、过滤、资源关闭和 API 选择。178 收藏 -
Java 服务上传大文件时,不要把整文件一次性读进内存。本文用 AWS SDK for Java 2.x 的异步客户端拆解分片大小、并发度、失败重试和中止清理,给出一条可落地的选择路径。175 收藏