java教程技术文章
-
XMLStreamWriter 的字符转义和命名空间修复各有范围。结合固定元素名与成对写入示例,说明属性时机、节点层级、结束文档和资源关闭的责任。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 收藏 -
使用try-with-resources关闭Files.walk返回的Stream,讲解findFirst短路与异常路径的资源释放,区分IOException和UncheckedIOException,并说明返回Path、集合或Stream时的所有权。315 收藏 -
ByteBuffer flip 与 rewind 对比:理解 position、limit 和 capacity,用写后读取与从头重读示例说明选择规则,避免重复 flip 和误读容量尾部。314 收藏 -
在 Swing 组件体系里,JFrame 可以说是最常见的一类容器。它本身就是一个独立的顶级容器,也就是通常所说的窗口,因此不能再嵌套到其他容器内部。JFrame 具备通用窗口应有的基础能力,比如最小化窗口、设置窗口尺寸等。下面就结合一个案例,具体看看 JFrame 的实际使用效果,如文件1所示。313 收藏 -
文章 · java教程 | 1个月前 | 序列化 · Java教程 · 兼容性 · java Serializable ObjectInputStream ObjectOutputStream record
Java record 实现 Serializable 后,序列化状态由 record 组件决定,反序列化会调用规范构造器;普通可序列化类的重建路径和自定义钩子不同。本文用最小示例划清两者边界。313 收藏 -
讲清 Java DataInputStream.readFully、read 和 EOFException 的边界,帮助定长二进制记录导入时区分正常少读、文件截断与底层 I/O 错误。313 收藏 -
Java ArrayDeque 适合在队列两端进行插入、删除和查看。本文用首尾语义拆开 add、offer、poll、peek、push、pop 的选择,并说明空队列、null 元素和线程安全边界。312 收藏 -
文章 · java教程 | 2个月前 | 并发 · Java教程 · CompletableFuture · java 异步任务 completablefuture TimeoutException orTimeout
CompletableFuture.orTimeout 只会让阶段在超时后以 TimeoutException 结束,并不会自动中断已经运行的底层任务。本文用可运行示例拆解超时、异常分支、cancel 和线程中断的边界,给出可验证的停止方案。311 收藏 -
Java 读取大文件时,优先用 Files.lines 惰性产生 Stream,显式指定字符集,并用 try-with-resources 关闭文件流,避免一次性加载和资源泄漏。 311 收藏 -
Java 线程池队列一直变长,通常不是把容量调得更大就能解决。本文用有界队列、最大线程数和 CallerRunsPolicy 组成简单背压,并说明拒绝策略、指标与任务类型的取舍。311 收藏 -
Java 多字段排序不要在比较器里直接调用可能为空字段的 compareTo。用 nullsFirst 或 nullsLast 包住每个字段的 Comparator,再用 comparing 和 thenComparing 组合;降序时只反转非空值顺序,避免 null 被一起翻到前面。310 收藏 -
JDK 26 开始,深反射修改 final 字段会给出警告。本文用 debug、JFR 和 deny 预演定位真正的库依赖,并划清临时放行与长期修复边界。309 收藏