java教程技术文章
-
文章 · java教程 | 1个月前 | Java · 序列化 · 反序列化 · jdk · 安全编程 · java ObjectInputStream ObjectInputFilter 反序列化过滤 序列化安全
Java 反序列化过滤不应只写一条拒绝规则,还要同时限制允许的类型、对象图深度、引用数量和输入字节数。本文用 ObjectInputFilter 说明白名单、边界值与异常验收。317 收藏 -
Java 25 的 JEP 507 第三次预览让原始类型进入 instanceof、switch 和模式匹配。本文用数值路由场景拆解 float、double、int 模式与 when 守卫,说明数值提升、null 边界、预览参数和升级验收方法。315 收藏 -
Java record 的 compact constructor 适合把开始时间早于结束时间、状态与时间范围匹配等跨字段规则集中校验。本文用预约时间段说明校验顺序、异常类型与测试验收边界。315 收藏 -
讲清 Java HttpClient WebSocket 的 Listener 回调、request(1) 背压、文本分片与 sendClose、abort 关闭顺序,并给出可落地的异步监听器写法。315 收藏 -
文章 · java教程 | 2个月前 | Java · 文件上传 · spring · nio · 后端开发 · java 文件上传 临时文件 数据清理 MultipartFile Files.move
处理 MultipartFile 时,不要把客户端文件名直接拼进持久路径。把上传数据按校验、临时落盘、确认移动和失败清理分段处理,既能缩小异常影响范围,也能避免临时目录长期堆积。314 收藏 -
在 Swing 组件体系里,JFrame 可以说是最常见的一类容器。它本身就是一个独立的顶级容器,也就是通常所说的窗口,因此不能再嵌套到其他容器内部。JFrame 具备通用窗口应有的基础能力,比如最小化窗口、设置窗口尺寸等。下面就结合一个案例,具体看看 JFrame 的实际使用效果,如文件1所示。313 收藏 -
文章 · java教程 | 4星期前 | 序列化 · Java教程 · 兼容性 · java Serializable ObjectInputStream ObjectOutputStream record
Java record 实现 Serializable 后,序列化状态由 record 组件决定,反序列化会调用规范构造器;普通可序列化类的重建路径和自定义钩子不同。本文用最小示例划清两者边界。313 收藏 -
文章 · java教程 | 1个月前 | 并发 · Java教程 · CompletableFuture · java 异步任务 completablefuture TimeoutException orTimeout
CompletableFuture.orTimeout 只会让阶段在超时后以 TimeoutException 结束,并不会自动中断已经运行的底层任务。本文用可运行示例拆解超时、异常分支、cancel 和线程中断的边界,给出可验证的停止方案。311 收藏 -
Java 读取大文件时,优先用 Files.lines 惰性产生 Stream,显式指定字符集,并用 try-with-resources 关闭文件流,避免一次性加载和资源泄漏。 311 收藏 -
Java 多字段排序不要在比较器里直接调用可能为空字段的 compareTo。用 nullsFirst 或 nullsLast 包住每个字段的 Comparator,再用 comparing 和 thenComparing 组合;降序时只反转非空值顺序,避免 null 被一起翻到前面。310 收藏 -
Java HttpClient 读取 NDJSON 时,先用 BodyHandlers.ofLines() 把响应转成逐行流,再在消费端做字段校验、数量上限和超时收尾。本文用订单事件流说明连接关闭、异常中断与消费速度不匹配时的处理边界。309 收藏 -
JDK 26 开始,深反射修改 final 字段会给出警告。本文用 debug、JFR 和 deny 预演定位真正的库依赖,并划清临时放行与长期修复边界。309 收藏 -
DatagramSocket用于创建发送端和接收端对象,然而在创建发送端和接收端的DatagramSocket对象时,使用的构造方法有所不同,下面对DatagramSocket类中常用的构造方法进行讲解。 ● DatagramSocket() 该构造方法用于创建发送端的DatagramSocket对306 收藏 -
从返回类型、嵌套 Future、Async 执行器和异常传播四个角度,说明 Java CompletableFuture 中 thenApply 与 thenCompose 的选择方法。306 收藏 -
Java Pattern 的 named group 不能在同一个正则中重复定义。本文区分重复定义、量词覆盖和 find 多次匹配三种情况,给出 group(String) 的读取方式、异常边界与完整示例。305 收藏