java教程技术文章
-
Java Jackson 处理多态 JSON 时,使用业务基类、短类型名和 PolymorphicTypeValidator 白名单限制允许的子类型,并覆盖未知类型与不兼容类型的拒绝测试。367 收藏 -
文章 · java教程 | 2星期前 | 内存管理 · arena · Java教程 · Java25 · MemorySegment · arena 堆外内存 Java 25 MemorySegment Foreign Function Memory API
Java 25 的 Foreign Function & Memory API 用 MemorySegment 表示连续内存,用 Arena 管理堆外区域的生命周期。本文演示 confined、shared 和 automatic arena 的边界,并用关闭后的访问异常完成验收。366 收藏 -
Java 21 的 Pattern.splitWithDelimiters 可以在切分字符串时同时保留匹配到的分隔符。本文用配置行和日志片段说明 limit、空字段、尾部分隔及 Java 17 兼容回退。366 收藏 -
Java Stream 使用 groupingBy 分组时,想让结果按输入中键第一次出现的顺序遍历,应指定 LinkedHashMap::new;同时要区分外层 Map 键顺序、组内 List 顺序,以及并行流和 TreeMap 的不同语义。366 收藏 -
本文用一个用户首页聚合场景,梳理 Java CompletableFuture 的并发拉取、超时边界、异常兜底、结果合并和上线检查流程,让接口聚合在慢依赖下仍能稳定返回。365 收藏 -
Java 正则中的命名捕获组可以让 group 方法按字段名取值,但名称规则、重复匹配、未参与匹配和空字符串容易混淆。本文用日志字段提取示例说明写法、边界和验收方式。361 收藏 -
多个 Java ModuleLayer 同时存在时,不要用父层、同名模块或类加载器是否相同来猜 reads 关系。本文用 Module.canRead、addReads、findModule 和 findLoader 建立可观察的判断方法。361 收藏 -
用一个可运行的小实验演示 Java Stream 如何把订单列表过滤、分组、金额求和并输出客户消费汇总,补充双维度统计和常见坑检查。355 收藏 -
支付请求交给 Java CompletableFuture 后,超时不等于扣款失败,直接重试可能造成重复扣款。本文用幂等键、任务状态表、超时收口和延迟重试搭出一条可核对的处理链,并补上失败通知与人工复核边界。352 收藏 -
文章 · java教程 | 3星期前 | Java教程 · Java 24 · 字节码 · Class-File API · JVM工具 · 字节码 Java 24 Class-File API ClassModel ASM替代 java.lang.classfile
Java 24 将 Class-File API 放进 java.base,ClassFileVersion 可以帮助工具识别 class 文件的 major/minor version。本文从一个可运行的小实验开始,演示读取版本、定位高版本拒绝原因,并延伸到 ClassModel、MethodModel 与生产边界。352 收藏 -
Java HttpClient 复用同一个客户端,并分别设置连接建立超时与单次请求超时;通过异常类型和响应状态码快速定位网络、响应或业务问题。351 收藏 -
说到TCP/IP的整体结构,传输层里有两个绕不开的高级协议:UDP和TCP。前者是User Datagram Protocol的缩写,中文通常叫用户数据报协议;后者是Transmission Control Protocol的缩写,对应的中文名称是传输控制协议。 UDP是无连接通信协议,即在数据传输348 收藏 -
Java StructuredTaskScope 仍是预览 API,适合请求内并行子任务的统一等待、失败传播和超时取消,不适合替代持久队列或长期后台任务。347 收藏 -
在Swing中常见的按钮组件有JButton、JCheckBox、JRadioButton等,它们都是抽象类AbstractButton类的直接或间接子类,在AbstractButton类中提供了按钮组件通用的一些方法,如表1所示。 表1 AbstractButton常用方法 方法声明 功能描述 I345 收藏 -
文章 · java教程 | 1个月前 | 故障排查 · Java教程 · JFR · 虚拟线程 · 并发性能 · synchronized reentrantlock 虚拟线程 JFR Java 21 VirtualThreadPinned
Java 21 虚拟线程并不是开得越多越快。只要把慢 I/O 放进 synchronized,虚拟线程就可能 pin 住承载它的平台线程,吞吐随并发上升反而下降。本文用 JFR 和 tracePinnedThreads 还原定位过程,并给出锁替换与版本边界。343 收藏