java教程技术文章
-
用 Java Spliterator 的 trySplit 做批量切分时,关键不是让任务越多越好,而是读懂估算值、切分结果与剩余区间,给并行流设置可验收的批次边界。100 收藏 -
Java 文件上传的内存风险不只来自文件大小,还和解析阈值、临时目录、并发量及清理结果有关。本文用一个可复核的 Multipart 流程,把配置、代码边界和验收指标串起来。255 收藏 -
用 Java Optional.or 串联多级备用查询,理解 Supplier 的惰性执行、返回类型和异常边界,并用最小示例完成验证。325 收藏 -
配置热加载不能只比较 lastModifiedTime。本文用 Java Files.readAttributes 读取 BasicFileAttributes,结合 fileKey、文件大小和时间戳,判断原文件被覆盖、替换或仅内容变化时应该怎么处理。414 收藏 -
用 DateTimeFormatterBuilder 兼容只有日期、带时间和带时区的输入,配合 parseBest、parseDefaulting 与 DateTimeParseException 做出稳定的类型判断和失败提示。338 收藏 -
用 Java Thread.Builder.OfVirtual 创建虚拟线程时,统一配置线程名和 UncaughtExceptionHandler,并通过可见日志验收异常是否真正被接住。331 收藏 -
Java 25 的一次性值容器是预览 API,适合表达只设置一次的懒加载结果。本文用并发配置缓存示例拆解 supplier 的至多一次成功计算、异常重试、预览开关和内存驻留边界,帮助你判断它何时比手写双重检查更合适。236 收藏 -
用 Java StructuredTaskScope 组织多个子任务,讲清部分成功收集、失败处理、关闭时机和资源回收的验收方法。437 收藏 -
从一个有界缓冲区的生产消费场景出发,说明 ReentrantLock 条件队列中 await、signal、signalAll 的配合方式,以及如何用队列状态和中断测试确认没有丢通知。468 收藏 -
用一个批量校验场景拆开 Java Stream Gatherer 的状态、完成信号、并行语义和测试验收边界。389 收藏 -
Files.lines 返回的是带文件资源的 Stream。本文用可运行示例说明 try-with-resources 的关闭边界、异常路径和大文件读取时的验收方法,避免句柄长期占用。499 收藏 -
Java Stream 里的 filter、map 等中间操作不会立刻执行,只有终止操作真正消费流时,链上的日志和断点才会出现。本文从一段看似没有输出的代码开始,拆开惰性求值的触发边界、短路终止操作和流只能消费一次的限制,并给出可复查的调试写法。288 收藏 -
文章 · java教程 | 3星期前 | Java · 序列化 · 反序列化 · jdk · 安全编程 · java ObjectInputStream ObjectInputFilter 反序列化过滤 序列化安全
Java 反序列化过滤不应只写一条拒绝规则,还要同时限制允许的类型、对象图深度、引用数量和输入字节数。本文用 ObjectInputFilter 说明白名单、边界值与异常验收。317 收藏 -
用 DateTimeFormatter 和 ResolverStyle.STRICT 解析 Java 日期,区分格式、时区、无效日期与时间字段,给出可运行的验收代码和常见边界。426 收藏 -
线程池满载或进入关闭流程时,任务拒绝不应该只变成一条模糊异常。本文从一个有限队列的订单异步任务池出发,拆解拒绝处理器的错误语义、四种内置策略与调用方重试边界,并给出可验收的 Java 示例。484 收藏