Java教程
已收录文章:31篇
-
线程池满载或进入关闭流程时,任务拒绝不应该只变成一条模糊异常。本文从一个有限队列的订单异步任务池出发,拆解拒绝处理器的错误语义、四种内置策略与调用方重试边界,并给出可验收的 Java 示例。484 收藏
-
Java 管理外部子进程时,isAlive、onExit 和 exitValue 解决的是不同问题。本文用一个可复现的小任务拆解退出状态、异步等待、异常处理与句柄回收边界。249 收藏
-
Java Stream 做分组统计时,先收集再多次遍历容易放大内存和 CPU 成本。本文用订单状态统计说明 groupingBy、groupingBy+下游收集器与并行流的边界,并给出可复查的基准与选择方法。260 收藏
-
Java 批量校验邮箱、手机号等字段时,反复编译 Pattern 和把 Matcher 跨线程复用,都会让接口延迟抬头。本文从 Pattern、Matcher 的职责边界出发,对比错误写法与复用写法,再用 JMH 风格基准和业务验收检查性能收益。102 收藏
-
用 Java Locale.Builder 校验用户提交的 BCP 47 语言标签,区分 setLanguageTag 与 forLanguageTag 的异常和截断行为,并给出回退语言、展示语言与测试验收方案。120 收藏
-
Java Semaphore 的公平参数不是性能开关,而是等待线程获取许可的排队契约。本文用批量调用限流场景说明 permits、公平与 tryAcquire 超时的边界,给出线程饥饿复现、可靠释放和验收清单。492 收藏
-
JTable 开启排序后,复选框状态容易因为视图行号和模型行号混用而错位。本文用一个可运行的 Swing 表格拆开索引转换、状态保存、刷新重建和验收方法。226 收藏
-
Java 线程池调用 shutdownNow 后,等待队列会被移出,但正在执行的任务只是收到中断请求,并不等于立刻停止。本文从一次停机任务未收敛的现场出发,拆解中断传播、阻塞调用、任务清理和 awaitTermination 验收方法。252 收藏
-
Java 线程池出现任务堆积时,不要只盯着活动线程数。本文用队列长度、完成任务数和拒绝策略还原排查路径,并给出可复现的状态采样代码。284 收藏
-
Java NIO WatchService 适合监听目录变化,但它不是变更日志:事件可能合并、丢弃或因 WatchKey 失效而停止通知。本文从注册目录、处理事件、识别 OVERFLOW、去重和全量重扫几个边界,给出一套可复查的实现方式。231 收藏
-
文章 · java教程 | 1个月前 | 排序 · 调试 · 集合 · Stream · Java教程 · java Stream linkedhashmap Collectors.groupingBy 分组顺序Java Stream 用 groupingBy 分组时,结果默认通常是 HashMap,不能把遍历顺序当成输入顺序。本文从订单状态统计场景出发,拆解 LinkedHashMap 作为 mapFactory 的写法、排序边界和测试验收方法。275 收藏
-
文章 · java教程 | 1个月前 | Java教程 · Optional · 性能边界 · 异常排查 · 空值处理 orElse orElseGet Java Optional orElseThrowJava Optional 的 orElse 会提前计算默认值,orElseGet 只在空值时执行,orElseThrow 则把缺失数据转成明确异常。本文用订单查询和配置读取场景拆解三种写法的执行边界,并给出可复现的验收测试。168 收藏