java教程技术文章
-
Java TextStyle 为月份提供普通形式与独立形式。本文说明 FULL 与 FULL_STANDALONE、MMMM 与 LLLL 的区别,给出多语言日历示例,并解释复用标签时为何要区分语言、用途和文本长度。356 收藏 -
以G1统一日志为范围,说明如何按进程与时间窗归并GC记录,区分暂停、并发阶段和安全点等待,并依据资源与对象分配证据进行单项处置及回退。352 收藏 -
用同一个 Java HttpClient 实例承载连接复用,用 HttpRequest 描述单次调用,再根据文本或二进制场景选择 BodyHandler 读取响应体,并处理状态码、异步调用和关闭时机。349 收藏 -
Java Files.find 可以在遍历文件树时直接接收 BasicFileAttributes 做过滤。本文用普通文件、大小和修改时间三个条件说明属性匹配写法,并用 try-with-resources 及时关闭返回流。345 收藏 -
Java HttpClient 的 connectTimeout 与请求级 timeout 负责不同阶段。本文用一组可复用的 Java 示例说明连接、响应体、异常分类和重试边界。344 收藏 -
Java JDBC 批量插入后,可以通过 RETURN_GENERATED_KEYS 请求生成键,再用 getGeneratedKeys() 遍历驱动返回的 ResultSet。本文给出完整写法,并说明空结果、驱动支持、顺序映射、事务回滚和资源关闭等边界。341 收藏 -
介绍 Java 21 及以上如何在 switch 中使用 record pattern 直接绑定 record 分量,并处理嵌套结构、when 守卫、null 与穷尽性。341 收藏 -
Java Flow 背压的关键不是让 Publisher 自己变慢,而是让 Subscriber 通过 Subscription.request(n) 明确可接收数量,Publisher 只在需求量大于零时调用 onNext。本文用一个单订阅示例说明请求、发送、取消、完成和错误边界。339 收藏 -
使用 JDK 自带 jcmd 定位 Java 进程,执行 Thread.print 查看线程栈、状态与锁信息,并学习如何把快照落盘及正确解读 RUNNABLE、BLOCKED 和 WAITING。339 收藏 -
Java String.lines() 适合读取真实文本行,但不会把结尾换行符自动变成额外空记录。本文说明行结束符、连续换行和末尾空元素的差异,并用 split(regex, -1) 保留协议需要的尾部空记录。337 收藏 -
DatagramChannel 非阻塞接收需要正确处理 receive 的 null 返回。本文用有限时长示例说明 Selector 注册、读就绪提示与缓冲区状态,区分无包、空包和截断。337 收藏 -
Java Collectors.teeing把同一批元素交给两个下游收集器,再合并完成结果。用总数量与最大项示例说明结果类型、空流约定、并行特征和适用边界。327 收藏 -
Java 自定义 JFR Event 的提交条件应分成 isEnabled、shouldCommit 和 commit 三层:先确认有活动录制,再在 end 后判断时长阈值,最后只提交值得保留的事件。325 收藏 -
Java ZoneOffsetTransition 用来描述时区偏移发生不连续变化的瞬间。本文从 ZoneRules.getTransition 出发,说明怎样区分夏令时前进造成的不存在时间与回拨造成的重复时间,并给出业务解析时的判断边界。323 收藏 -
Java Instant 按分钟截断时直接使用 truncatedTo(ChronoUnit.MINUTES),结果会把秒和纳秒置零。本文说明 UTC 时间线、不可变返回值、可用单位和本地时区边界。322 收藏