java教程技术文章
-
文章 · java教程 | 1天前 | Java教程 · TTL缓存 · ConcurrentHashMap · 小项目 · java 本地缓存 concurrenthashmap TTL缓存 过期淘汰
从零实现一个可运行的 Java 本地 TTL 缓存,包含写入、读取、过期淘汰、命中统计和本地验收,适合作为接口临时缓存或小工具缓存的入门项目。394 收藏 -
用一个可运行的小实验演示 Java Stream 如何把订单列表过滤、分组、金额求和并输出客户消费汇总,补充双维度统计和常见坑检查。355 收藏 -
梳理 Spring Boot 接口参数校验完整工作流:定义 DTO 边界、添加校验注解、触发 @Valid、统一错误响应,并给出常见误区和速查表。495 收藏 -
本文用一个用户首页聚合场景,梳理 Java CompletableFuture 的并发拉取、超时边界、异常兜底、结果合并和上线检查流程,让接口聚合在慢依赖下仍能稳定返回。365 收藏 -
本文用订单列表统计场景,梳理 Java Stream 的完整处理流程:字段口径、过滤条件、分组汇总、结果校验和常见误区,帮助把零散链式调用整理成可复用的后端数据处理方案。455 收藏 -
文章 · java教程 | 1星期前 | hashmap · 集合 · Java教程 · hashCode · equals · java HashMap map equals hashCode 可变key
本文从一个 HashMap 放入键值对后修改 key 属性,后续 get 返回 null 的现场出发,逐步复现问题,解释 hashCode、equals 和桶定位的关系,并给出不可变 key、稳定 ID、先删后放和单测兜底的修复方案。474 收藏 -
本文用完整工作流讲解 Java 接口幂等设计:请求标识、入口校验、Redis SETNX 防重、数据库唯一键兜底、超时查询和补偿状态。178 收藏 -
文章 · java教程 | 1星期前 | map · 并发安全 · 缓存设计 · Java教程 · java optional concurrenthashmap computeIfAbsent Map缓存
本文用一个用户资料缓存场景,完整拆解 Java Map computeIfAbsent 的使用边界、缺失加载、空值包装、并发 Map 选择和上线前检查,帮助你写出更简洁且行为可控的缓存初始化代码。236 收藏 -
Java 后端线上出现 NullPointerException 时,不要只在报错行补 if。本文从日志定位开始,复现空字段请求,逐步确认根因,并用入口校验、安全映射和复查用例降低同类问题。204 收藏 -
文章 · java教程 | 1星期前 | Java · 集合 · ArrayList · Iterator · removeIf · java iterator ArrayList ConcurrentModificationException removeIf
ArrayList 遍历时删除元素很容易抛 ConcurrentModificationException。本文按完整流程拆解增强 for、modCount、迭代器检查机制,并给出 Iterator.remove、removeIf、复制新列表三种安全方案。410 收藏 -
文章 · java教程 | 1星期前 | Java · 异步编程 · 后端开发 · CompletableFuture · 接口聚合 · java 结果合并 completablefuture 并行调用 超时兜底
页面接口经常需要同时查询用户、订单、优惠等多个服务。本文按完整工作流拆解 Java CompletableFuture 如何做并行调用、独立超时、异常兜底、统一 DTO 合并和最终检查。428 收藏 -
文章 · java教程 | 1星期前 | Java · 线程安全 · DateTimeFormatter · 日期处理 · 并发问题 · java 线程安全 日期格式化 threadlocal SimpleDateFormat DateTimeFormatter
线上偶发出现 2025-13-32 这类异常日期,很多时候不是数据源错了,而是多个线程共享了 SimpleDateFormat。本文从复现现象开始,逐步验证共享可变状态,并给出 DateTimeFormatter 和 ThreadLocal 两种修复方式。481 收藏 -
本文用订单查询接口讲清 Java HttpClient 的实战用法:设置连接超时和请求超时,发送 GET 请求,判断状态码,读取响应体,并给慢接口补上兜底处理。224 收藏 -
文章 · java教程 | 2星期前 | 时间处理 · instant · Java教程 · 时区转换 · DateTimeFormatter · java DateTimeFormatter java.time 时区处理 ZoneId INSTANT
本文用订单支付时间示例讲清 Java 时间与时区处理:存储用 Instant,展示用 ZoneId,格式化用 DateTimeFormatter,并避开 LocalDateTime 直接跨区传输的偏差。461 收藏 -
文章 · java教程 | 2星期前 | Java · Stream · 集合统计 · 分组聚合 · Collectors · java Stream Collectors groupingBy counting summarizingInt
本文用订单列表示例讲清 Java Stream 分组统计:按状态分组计数、按用户汇总金额、用 summarizingInt 一次拿到数量、总和、最大值和平均值。478 收藏