java教程技术文章
-
通过自动表头映射按名称读取Java CSV字段,比较手动与位置绑定,并说明逐条导入、重复表头、空值、资源关闭和事务边界。127 收藏 -
用 Java DateTimeFormatterBuilder.appendFraction 控制时间小数位,掌握 minWidth、maxWidth、decimalPoint 的组合、截断规则与严格解析边界。127 收藏 -
文章 · java教程 | 3星期前 | spring · Spring Boot · 事务管理 · Java教程 · REQUIRES_NEW Spring事务事件 TransactionalEventListener AFTER_COMMIT Spring事件
用 @TransactionalEventListener 把业务事件绑定到成功提交阶段,并讲清提交后落库、异步监听、无事务调用、幂等与 Outbox 的边界。126 收藏 -
Jackson 多态 JSON 需要稳定类型字段和明确子类型映射。本文用通知对象的往返示例说明 Id.NAME 的用法,区分缺失类型、未知类型、集合泛型和旧数据迁移边界。126 收藏 -
虚拟线程支持 ThreadLocal,但继承策略不能靠默认值猜测。本文用 Thread.Builder 关闭不需要的 InheritableThreadLocal 继承,并用 Java 25 ScopedValue 管理只读上下文的生命周期。126 收藏 -
JEP 465 撤回后,已有 STR 与自定义模板处理器代码应按用途迁移到稳定 API,并保留格式化、国际化与安全边界。123 收藏 -
Java ForkJoinPool 的 asyncMode 用于调整工作线程对未 join 任务的本地调度策略。本文用代码说明默认栈式调度与本地 FIFO 的差异,并给出并行度、任务类型和生命周期的选择边界。121 收藏 -
Java Virtual Threads 适合承载大量阻塞 I/O 任务,但不应把连接、客户端和可变缓存都塞进 ThreadLocal。本文按请求元数据、只读上下文、任务资源和外部并发四条边界,说明显式参数、ScopedValue、连接池与 Semaphore 的选择方法。119 收藏 -
Java 25 的 StructuredTaskScope 可以在 open 时通过 withTimeout 配置整个作用域的统一超时。本文用一个双子任务示例说明超时起点、TimeoutException、取消中断和 close 等待边界,并补充旧版 joinUntil 的差异。118 收藏 -
Java Map.computeIfAbsent 的映射函数返回 null 时不会记录键值映射。本文按触发条件、返回结果、异常边界和缓存策略拆开说明,帮助你区分未命中、空值与计算失败。117 收藏 -
使用 Java Time Chronology 处理非 ISO 日历时,把 ISO 日期留在存储和计算层,在界面层通过 DateTimeFormatter.withChronology 格式化,并正确区分 Locale、Era、y 与 u 的边界。117 收藏 -
Java 用 LinkedHashMap 实现轻量 LRU 缓存时,应把 accessOrder 设为 true,并在 removeEldestEntry 中用 size 大于容量上限触发淘汰。本文说明访问顺序、容量边界、常见操作和线程安全注意事项。115 收藏 -
JDK 26 为 java.net.http.HttpClient 提供 HTTP/3 能力,但迁移重点不是改一行协议常量,而是核对 HTTPS、代理、TLS、服务端能力与降级策略。本文给出可执行的评估矩阵和灰度清单。114 收藏 -
文章 · java教程 | 1星期前 | Java · 事务 · 代理 · spring · 排错 · java Spring事务 @Transactional TransactionTemplate 事务代理 自调用
Spring 默认 proxy 模式只拦截从代理进入的外部调用,同一个 Bean 内部的 this 自调用会绕过 @Transactional。本文用调用关系图和代码说明如何拆分服务、显式走代理、使用 TransactionTemplate,以及何时考虑 AspectJ。114 收藏 -
Java PrintService 可以列出打印服务支持的 DocFlavor,也可以判断单个文档格式是否可用。本文进一步说明如何检查文档格式与纸张等打印属性的组合约束。114 收藏