java教程技术文章
-
Java HttpClient 的 connectTimeout 与请求级 timeout 负责不同阶段。本文用一组可复用的 Java 示例说明连接、响应体、异常分类和重试边界。344 收藏 -
文章 · java教程 | 2个月前 | 故障排查 · Java教程 · 虚拟线程 · synchronized reentrantlock 虚拟线程 JFR Java 21 VirtualThreadPinned
Java 21 虚拟线程并不是开得越多越快。只要把慢 I/O 放进 synchronized,虚拟线程就可能 pin 住承载它的平台线程,吞吐随并发上升反而下降。本文用 JFR 和 tracePinnedThreads 还原定位过程,并给出锁替换与版本边界。343 收藏 -
Driver 接口是所有 JDBC 驱动都必须实现的一项基础接口,主要面向数据库厂商提供。还要特别注意一点:编写 JDBC 程序时,所使用的数据库驱动程序或相关类库,必须提前放到项目的 classpath 中。说得更直接一些,这里指的就是对应数据库的驱动 JAR 包。343 收藏 -
讲清 Java Files.mismatch 如何返回两个文件首个不同字节的位置,以及完全相同、前缀相同但长度不同、文本偏移和并发修改时的边界。342 收藏 -
用 Java ModuleLayer 为插件建立独立模块层,串起 Configuration、类加载器和查找入口,并说明解析失败、类加载冲突与卸载边界。341 收藏 -
Java 25 的 StructuredTaskScope 通过 fork、join 和 close 管理并发子任务:失败或超时可以取消同组任务,但子任务仍需正确响应中断,close 才能真正收口。341 收藏 -
Java JDBC 批量插入后,可以通过 RETURN_GENERATED_KEYS 请求生成键,再用 getGeneratedKeys() 遍历驱动返回的 ResultSet。本文给出完整写法,并说明空结果、驱动支持、顺序映射、事务回滚和资源关闭等边界。341 收藏 -
介绍 Java 21 及以上如何在 switch 中使用 record pattern 直接绑定 record 分量,并处理嵌套结构、when 守卫、null 与穷尽性。341 收藏 -
通过Java PrintService完整查询示例区分属性类别、支持范围、具体取值与最终组合,说明DocFlavor上下文、份数范围和多设备打印的查询记录策略。340 收藏 -
Java String.translateEscapes 可以把运行时字符串中的换行、制表、引号、反斜杠和八进制转义还原为字符。本文区分源码与运行时文本,说明 Unicode 转义边界、非法转义异常,以及它与 JSON 或正则反转义的区别。340 收藏 -
Java Flow 背压的关键不是让 Publisher 自己变慢,而是让 Subscriber 通过 Subscription.request(n) 明确可接收数量,Publisher 只在需求量大于零时调用 onNext。本文用一个单订阅示例说明请求、发送、取消、完成和错误边界。339 收藏 -
使用 JDK 自带 jcmd 定位 Java 进程,执行 Thread.print 查看线程栈、状态与锁信息,并学习如何把快照落盘及正确解读 RUNNABLE、BLOCKED 和 WAITING。339 收藏 -
Java CollationKey 适合在同一批字符串需要反复排序时缓存比较键。本文给出绑定原文、固定 Collator 规则和缓存失效边界的写法,并说明何时直接 compare 更快。339 收藏 -
DriverManager类用于加载JDBC驱动并且创建与数据库的连接。在DriverManager类中,定义了两个比较重要的静态方法,如表1所示。 表1 DriverManager类的重要方法 方法声明 功能描述 static synchronized void registerDriver(Dr338 收藏 -
Java 21 的 switch 模式匹配可以把类型判断和解构写进分支,但传统 switch 遇到 null 仍可能抛 NullPointerException。本文用订单状态路由场景说明 case null、类型覆盖、default 与旧代码兼容边界,并给出可复现的验收测试。338 收藏