java教程技术文章
-
本文用 Java Pattern 的 named-capturing group 提取结构化文本,说明 group(String)、matches、find、可选字段和兼容策略的关系。333 收藏 -
文章 · java教程 | 10小时前 | 字符串 · 工程实践 · Java教程 · java Locale.ROOT String.toLowerCase String.toUpperCase 机器可读字符串
Java 处理协议键、文件扩展名或枚举文本时,不应依赖运行环境的默认语言。本文用 Locale.ROOT 固定大小写转换,解释 Turkish 差异、回归测试和不适用边界。436 收藏 -
文章 · java教程 | 10小时前 | Java · 文件下载 · java httpclient Content-Disposition BodyHandlers ofFileDownload filename
Java HttpClient 的 BodyHandlers.ofFileDownload 会从 Content-Disposition 读取服务端文件名,并把响应保存到调用方指定的目录。本文说明目录准备、attachment 与 filename 约束、OpenOption、最终 Path 返回值以及状态码和文件异常的分工。438 收藏 -
Java 的 Base64 解码器要先匹配输入字母表:普通 Base64 使用加号和斜杠,URL 与文件名安全版本使用短横线和下划线。本文用最小代码说明 getDecoder、getUrlDecoder、填充和异常边界。307 收藏 -
本文说明 Java Files.readSymbolicLink 的返回值语义,给出区分 NotLinkException、UnsupportedOperationException 和目标缺失的异常处理示例,并解释相对符号链接的路径解析边界。291 收藏 -
JDBC时间绑定需要对齐Java对象、SQL列与驱动支持。本文区分本地日期时间和时间点,说明setObject重载、null、受限Timestamp适配及读回比较,避免丢弃偏移量造成语义变化。490 收藏 -
Java Optional.stream() 可以把有值 Optional 转成一个元素的流,把空 Optional 转成空流。本文用 flatMap(Optional::stream) 过滤空结果,再用 toList() 保持有序 List 的遭遇顺序,并说明并行流、forEach 和无序源的边界。310 收藏 -
Java Files.copy默认复制源符号链接指向的内容,NOFOLLOW_LINKS则保留链接。本文通过原创示例区分源对象、目标替换、相对链接搬家及属性复制,说明参数组合的适用范围。368 收藏 -
Java sealed interface 可以把接口实现者固定在 permits 集合中,再配合 switch 类型模式覆盖每个合法分支。本文用支付事件示例说明完整覆盖、default、null 和独立发布边界。433 收藏 -
Java 的 ClassDesc 用名义描述符表示类、接口、数组和基本类型。本文从类名、内部名和 JVM 字段描述符的区别开始,给出 of、ofDescriptor、arrayType 与 nested 的最小写法,并说明如何读取结果和处理非法输入。145 收藏 -
Java 15 新增的 String.formatted 可以把字符串实例直接作为格式模板。本文从占位符映射、字符串与数值参数、参数数量和类型异常入手,再对比它与 String.format 的调用边界,帮助你写出稳定的格式化代码。468 收藏 -
Java 虚拟线程适合承载等待 I/O 的任务,但不应把虚拟线程再放进固定线程池。本文用执行器、Semaphore 和平台线程池划清阻塞调用、外部资源与 CPU 计算的边界。355 收藏 -
Java HttpClient 使用 BodyHandlers.ofInputStream 读取响应体时,响应头到达并不代表响应资源已经释放。本文从连接复用现象出发,说明读到 EOF、显式 close、try-with-resources、提前退出和异步调用之间的关系。272 收藏 -
Spring Boot 配置明明写进了文件,运行时却可能被环境变量、命令行参数或其他属性源覆盖。本文用 Actuator 的 configprops 端点查看 @ConfigurationProperties 最终绑定对象,再用 env 端点追查覆盖来源,并说明生产环境的暴露边界。173 收藏 -
Spring 默认通过代理拦截外部方法调用,同一个目标对象内部用 this 调用带有 @Transactional 的方法会绕过代理。本文解释调用边界,并给出拆分服务、代理引用和 AspectJ 织入三种处理方式。225 收藏