java教程技术文章
-
Webhook 接口只校验一个固定密钥还不够,泄露过的请求可能被再次发送。本文从零做一个 Java 签名校验小服务,用时间戳、HMAC-SHA256 和请求体摘要判断请求是否可信,并用 curl 验收通过、过期和篡改三种结果。215 收藏 -
MethodHandle 没有独立的类型配置项,类型由 MethodType 和查找方式决定。本文从句柄创建、接收者位置、invokeExact 严格匹配与 asType 适配四层排查常见 WrongMethodTypeException。214 收藏 -
用 Java 25 的 jdk.incubator.vector.FloatVector 改写批量 float 计算,讲清 preferred species、lane 宽度、尾部掩码、模块参数和标量回退的验收方法。211 收藏 -
Java Pattern 使用命名捕获组读取可选字段时,要区分分支未参与匹配产生的 null 与匹配空文本产生的空字符串,并在解析边界统一处理默认值和异常。209 收藏 -
对比 Java Stream Gatherer 与 Collector 的操作位置、状态函数、输出形态、短路和并行边界,并用固定窗口与终态汇总示例给出选型方法。205 收藏 -
Java Arrays.mismatch 会返回两个数组首个差异的相对索引,完全一致时返回 -1。本文从二进制快照校验出发,拆解整数组比较、范围偏移、前缀和长度边界,并给出可运行的验收代码。204 收藏 -
文章 · java教程 | 2星期前 | Java · 集合 · Stream · map 重复键 Collectors.groupingBy Java Collectors.toMap Stream收集
Java Stream 收集数据时遇到重复键,不要直接改成覆盖写法。本文用 groupingBy 保留同键的多条对象,再用 toMap 合并函数处理只需要一个值的场景,并说明顺序、空值与并行流边界。203 收藏 -
Java 批量导出订单报表时,直接把查询结果收集到 List 再写 Excel,很容易在大数据量下触发 Full GC 甚至 OOM。本文从一次导出任务的架构改造出发,拆解数据库游标读取、分片文件写入、任务状态保存和 Range 续传的配合方式。200 收藏 -
文章 · java教程 | 1个月前 | 面向对象 · Java教程 · Java 25 · 语言特性 · Java 25 JEP 513 Flexible Constructor Bodies super 构造器 Java 构造器
Java 25 将 Flexible Constructor Bodies 变成永久特性,构造器可以在 super() 或 this() 前执行不依赖实例的校验和参数准备。本文用订单金额校验和继承构造器示例,讲清构造器链迁移时可写什么、不能引用什么,以及从 Java 24 预览代码升级时要检查的边界。200 收藏 -
文章 · java教程 | 1个月前 | Java · 线程池 · 异步编程 · CompletableFuture · 线程池 Java CompletableFuture 异步超时 orTimeout completeOnTimeout
Java CompletableFuture 的 orTimeout 会让原任务以 TimeoutException 失败,completeOnTimeout 则把超时转换为备用结果。本文从订单查询的超时现场出发,拆开两种语义、异常回收与线程池验收边界。200 收藏 -
JDBC(Ja va Database Connectivity,Ja va数据库连接),它是一套用于执行SQL语句的Ja va API。应用程序可通过这套API连接到关系型数据库,并使用SQL语句来完成对数据库中数据的查询、新增、更新和删除等操作。 不同数据库在底层处理数据的机制并不一样。像 My199 收藏 -
解释 Java Pattern.DOTALL 为什么让点号匹配换行,区分 DOTALL、MULTILINE 与 UNIX_LINES 的作用,并用 Java 示例说明如何限定跨行匹配范围、避免贪婪量词吞掉后续内容。199 收藏 -
介绍 Java ScopedValue 在方法调用链中传递请求上下文的写法,解释作用域绑定、嵌套重绑定、ThreadLocal 差异和结构化子任务继承。199 收藏 -
Java 21 模式 switch 遇到 null 时,按 JDK 编译版本、case null 规则、模式支配和输入矩阵逐层排查,避免把 Object 模式或 default 误当成空值兜底。198 收藏 -
Java 的 Pattern Matching for switch 遇到 null 时不会自动落到 default。本文从一段线上状态分派代码切入,说明 case null、类型模式、when 守卫和 default 的边界,并给出兼容旧写法的改造方式。194 收藏