java教程技术文章
-
DatagramSocket用于创建发送端和接收端对象,然而在创建发送端和接收端的DatagramSocket对象时,使用的构造方法有所不同,下面对DatagramSocket类中常用的构造方法进行讲解。 ● DatagramSocket() 该构造方法用于创建发送端的DatagramSocket对306 收藏 -
从返回类型、嵌套 Future、Async 执行器和异常传播四个角度,说明 Java CompletableFuture 中 thenApply 与 thenCompose 的选择方法。306 收藏 -
Java GC 日志不能只看最大耗时。本文以 JDK 25 HotSpot/G1 为例,说明统一日志采集、GC 编号关联、暂停与并发阶段区分,以及安全点、CPU 时间和分配压力的判读边界。306 收藏 -
Java Pattern 的 named group 不能在同一个正则中重复定义。本文区分重复定义、量词覆盖和 find 多次匹配三种情况,给出 group(String) 的读取方式、异常边界与完整示例。305 收藏 -
Java Pattern 开启 UNICODE_CHARACTER_CLASS 后,\d、\s、\w 和 POSIX 字符类会按 Unicode 语义匹配;该标志还隐含 UNICODE_CASE。本文从迁移场景说明如何选择作用域、控制匹配范围并补齐回归测试。305 收藏 -
自定义 Starter 已加入依赖却没有 Bean,通常要分开检查 JAR 发现入口、自动配置条件和业务覆盖关系。本文用 AutoConfiguration.imports、@AutoConfiguration 与条件评估报告串起一套可验证的排查和发布边界。304 收藏 -
Java StringSubstitutor 可以用 ${变量名:-默认值} 为未提供的变量设置回退文本。本文说明默认分隔符、空值边界、自定义分隔符和严格解析的选择。304 收藏 -
Java 19 引入的 Future.resultNow 适合读取已经成功完成的 CompletableFuture,而且不会等待。本文从状态判断、批量汇总、异常与取消边界出发,比较 resultNow、getNow 与 join 的选择。302 收藏 -
Java AudioSystem 读取音频帧长度时,要先区分 AudioFileFormat 和 AudioInputStream。本文按文件、URL、InputStream 三种入口说明 getFrameLength 的用法,并处理 mark/reset、未知长度、异常格式和资源关闭。302 收藏 -
讲清 Java 模式匹配 switch 如何根据 sealed 层级判断穷尽性,并覆盖 null、default、泛型与 MatchException 的边界。301 收藏 -
Java 注解处理器重复生成文件时,先区分处理轮次、来源元素和输出路径。本文用 Filer、RoundEnvironment 与 Messager 组织一个可复查的生成流程。300 收藏 -
文章 · java教程 | 2天前 | 资源管理 · Java教程 · java arena scope MemorySegment FFM Foreign Function and Memory 本地内存
Java FFM 的 Arena 决定本地内存何时释放,MemorySegment 表示访问对象,Scope 记录生命周期状态。本文按线程模型和释放时机比较四种 Arena,并用 confined、shared 与 try-with-resources 说明 close 后为什么旧 segment 会失效。300 收藏 -
JDK 25 的 import module 可一次引入模块已导出包中的 public 顶层类型,并遵循更具体导入优先、同名冲突显式消歧等规则。299 收藏 -
Java Path.normalize() 只整理 . 和 .. 等冗余名称,不检查文件是否存在;toRealPath() 会访问文件系统并返回已存在目标的绝对真实路径。本文用符号链接和选择清单说明两者边界。298 收藏 -
用 Apache Commons IO Tailer 跟踪日志轮转时,关键是理解 fileRotated 与 fileNotFound 的先后边界,并用 Tailer.Builder 配置编码、轮询间隔、从末尾读取和重新打开策略。298 收藏