java教程技术文章
-
Java虚拟线程适合承载大量等待型请求。本文用按任务创建、资源闸门和有界CPU执行器,说明阻塞I/O服务的线程模型与迁移边界。451 收藏 -
Java虚拟线程支持ThreadLocal,但不适合用它缓存连接、大对象或可复用资源。本文说明状态隔离、remove清理、继承语义与迁移检查边界。451 收藏 -
解释 Java record 作为 HashMap 键时查询失败的原因,覆盖 equals、hashCode、一致性约束、可变字段与嵌套对象的排查方法。449 收藏 -
批处理任务常常不是一次屏障就能解决:参与者会动态加入,也可能提前退出。本文用 Java Phaser 写一个三阶段批处理示例,核对 register、arrive、onAdvance 和 forceTermination 的职责与边界。449 收藏 -
Java 虚拟线程解决的是大量任务在阻塞等待时的并发容量,不会增加 CPU 核心,也不会让单个计算更快。本文用载体线程、调度器和执行器示例说明 CPU 密集任务的正确拆分方式。448 收藏 -
用 TreeMap 工厂和自定义 Comparator 控制 Java Stream groupingBy 的分组键顺序,并说明时间比较器相等导致键合并的边界。448 收藏 -
围绕 Java 21 pattern switch 和 sealed 类型,说明 permitted 分支覆盖、when 守卫、无守卫兜底、支配关系与 null 边界的实现方法。448 收藏 -
用同一段 Java 线程实验复现 ReentrantReadWriteLock 非公平与公平策略下的写锁等待,解释读者持续到达时的排队边界,并给出可复查的选择方法。447 收藏 -
Java MethodHandle.asType 会返回一个拥有新签名的适配句柄。本文用一个静态方法调用实验拆开参数转换、返回值转换、invokeExact 校验和 WrongMethodTypeException 的边界。446 收藏 -
Spring Retry 只能控制临时异常的再次调用,不能单独保证消息幂等。本文用稳定 messageId、inbox 唯一约束、事务边界和外部接口幂等键,说明如何避免异常重试造成重复处理。445 收藏 -
Java HashMap 的桶并不是碰撞一多就立刻变成红黑树。本文结合 TREEIFY_THRESHOLD、MIN_TREEIFY_CAPACITY、resize 和 putVal 说明树化条件、扩容优先级与读取路径。443 收藏 -
LocalDateTime 不包含时区,不能单独确定时间戳。本文用 ZoneId、ZonedDateTime 和 Instant 演示秒级、毫秒级转换,并说明夏令时、固定偏移和精度损失。443 收藏 -
Java CompletableFuture 使用 whenComplete 记录成功值和异常时,如何保持上游结果语义?本文用代码和边界表说明观察、异常传播及验证方法。439 收藏 -
Java record 适合承载请求对象,但校验、默认值和集合可变性必须在紧凑构造器与工厂方法中分清边界。本文用一个请求 DTO 示例说明如何写出稳定的不可变输入。439 收藏 -
用 Java StructuredTaskScope 组织多个子任务,讲清部分成功收集、失败处理、关闭时机和资源回收的验收方法。437 收藏