java教程技术文章
-
Java HttpClient 复用同一个客户端,并分别设置连接建立超时与单次请求超时;通过异常类型和响应状态码快速定位网络、响应或业务问题。351 收藏 -
DecimalFormat.parse 成功并不代表输入字符串全部被消费。本文用 ParsePosition 解释前缀解析的原因,并给出 index、errorIndex 与 strict 模式结合的完整数字字段判断方法。351 收藏 -
已知 HashMap 的预计映射数时,不要直接把条目数当初始容量;本文用默认负载因子 0.75 说明估算公式、JDK 19+ 的 newHashMap 和容量过大的代价。350 收藏 -
用同一个 Java HttpClient 实例承载连接复用,用 HttpRequest 描述单次调用,再根据文本或二进制场景选择 BodyHandler 读取响应体,并处理状态码、异步调用和关闭时机。349 收藏 -
说到TCP/IP的整体结构,传输层里有两个绕不开的高级协议:UDP和TCP。前者是User Datagram Protocol的缩写,中文通常叫用户数据报协议;后者是Transmission Control Protocol的缩写,对应的中文名称是传输控制协议。 UDP是无连接通信协议,即在数据传输348 收藏 -
Java Files.find 和 Files.walk 都能搜索文件树,但过滤条件的落点不同:属性条件优先放进 find,路径流组合和后续转换更适合 walk。本文用可关闭资源的示例说明 maxDepth、BasicFileAttributes、filter 和异常边界。348 收藏 -
Java StructuredTaskScope 仍是预览 API,适合请求内并行子任务的统一等待、失败传播和超时取消,不适合替代持久队列或长期后台任务。347 收藏 -
Java Pattern 的 UNICODE_CHARACTER_CLASS 只负责让 \d、\s、\w 等预定义字符类采用 Unicode 语义;如果规则只针对字母、脚本或数字属性,可直接使用 \p{...}。本文用边界样例说明如何选择编译标志,避免正则匹配范围意外放大。347 收藏 -
Files.walk 返回的 Stream会持有遍历目录的资源,正确做法是用 try-with-resources 包住完整操作,并区分创建、懒遍历和关闭阶段的异常。 347 收藏 -
Java record 适合表达由多个字段组成的 Map key 值对象,因为它按组件生成 equals 和 hashCode;本文同时说明浅层不可变、集合组件和防御性拷贝的边界。346 收藏 -
围绕 FileChannel、ByteBuffer 和 transferTo,讲清 Java NIO 大文件传输的缓冲控制、部分读写处理、资源关闭与验收边界。346 收藏 -
在Swing中常见的按钮组件有JButton、JCheckBox、JRadioButton等,它们都是抽象类AbstractButton类的直接或间接子类,在AbstractButton类中提供了按钮组件通用的一些方法,如表1所示。 表1 AbstractButton常用方法 方法声明 功能描述 I345 收藏 -
围绕 Java record 的紧凑构造器说明组件校验、参数归一化、隐式字段赋值、重载构造器委托与 List.copyOf 防御性复制的适用边界。345 收藏 -
Java Files.find 可以在遍历文件树时直接接收 BasicFileAttributes 做过滤。本文用普通文件、大小和修改时间三个条件说明属性匹配写法,并用 try-with-resources 及时关闭返回流。345 收藏 -
Java Stream.toList() 返回的是不可修改 List,直接 add 会抛出 UnsupportedOperationException。本文对比 toList、Collectors.toList 和 toCollection(ArrayList::new),说明需要追加元素时的正确写法。344 收藏