java教程技术文章
-
DatagramSocket用于创建发送端和接收端对象,然而在创建发送端和接收端的DatagramSocket对象时,使用的构造方法有所不同,下面对DatagramSocket类中常用的构造方法进行讲解。 ● DatagramSocket() 该构造方法用于创建发送端的DatagramSocket对306 收藏 -
Java 后端接口调用远程服务时,不能只把同步等待套进 CompletableFuture 就结束,还要处理超时、兜底值和异常记录。本文用一个小实验演示 supplyAsync、orTimeout、completeOnTimeout 和 join 的组合写法,让页面在远程接口变慢时仍能给出可控响应。304 收藏 -
文章 · java教程 | 4天前 | Java · Spring Boot · 工程实践 · 自动配置 · java spring boot Starter AutoConfiguration.imports
自定义 Starter 已加入依赖却没有 Bean,通常要分开检查 JAR 发现入口、自动配置条件和业务覆盖关系。本文用 AutoConfiguration.imports、@AutoConfiguration 与条件评估报告串起一套可验证的排查和发布边界。304 收藏 -
Java 批量任务平台遇到大客户集中提交时,不能只靠扩大线程数。本文用队列分片、租户并发配额、全局资源预算和可恢复回压,把慢租户与正常租户隔开,并给出可验证的 Java 实现骨架。300 收藏 -
Java 注解处理器重复生成文件时,先区分处理轮次、来源元素和输出路径。本文用 Filer、RoundEnvironment 与 Messager 组织一个可复查的生成流程。300 收藏 -
Java 文件上传不能只检查后缀。本文从文件名拼接、Path.normalize 的边界、符号链接和临时文件落盘四个环节,给出一套可核对、可回滚的安全实现。296 收藏 -
Java Stream 使用 groupingBy 分组后,可以把 mapping 放在下游收集器中提取每组指定字段;如果改用 toMap,还要明确重复键的合并策略,并检查并行收集的顺序与合并边界。296 收藏 -
程序在运行过程中,可能需要将一些数据永久的保存到磁盘上,而数据在Ja va中都是保存在对象当中的。那么我们要怎样将对象中的数据保存到磁盘上呢?这时就需要使用Ja va中的对象序列化。 对象的序列化(Serializable)是指将一个Ja va对象转换成一个I/O流中字节序列的过程。其目的是为了将对294 收藏 -
ResultSet 接口的作用,是承接 JDBC 执行查询后返回的结果集。可以把它理解为一个被封装起来的逻辑表格,而在这个表格内部,还维护着一个指向当前数据行的游标(或指针)。当 ResultSet 对象刚创建出来时,游标默认停留在第一行之前;这时候调用 next() 方法,游标就会向后移动一行。要293 收藏 -
用 Java NIO 的 Files.mismatch 比对两个文件,理解返回首个差异位置、-1 结果、长度差异和异常处理,避免把相同文件与前缀相同文件混为一谈。293 收藏 -
Java Stream.takeWhile 在有序流中取的是满足条件的最长前缀;放进并行流后,顺序约束会带来额外协调成本,而 unordered() 会改变结果语义。293 收藏 -
文章 · java教程 | 2星期前 | Java · 集合 · 字符串处理 · jdk · 代码实践 · java 分隔符 字符串拼接 StringJoiner Collectors.joining
需要把一组标签、路径或查询条件拼成带分隔符的文本时,StringJoiner 比手动判断首尾逗号更稳。本文从空集合、前后缀、嵌套拼接和 Stream 收集几个边界出发,给出可直接运行的 Java 示例与验收方法。290 收藏 -
用 Java Collectors.teeing 在一次 Stream 消费中同时计算订单总额与通过数量,拆开两个下游 Collector、空输入默认值和结果对象的设计边界。290 收藏 -
Java Stream 里的 filter、map 等中间操作不会立刻执行,只有终止操作真正消费流时,链上的日志和断点才会出现。本文从一段看似没有输出的代码开始,拆开惰性求值的触发边界、短路终止操作和流只能消费一次的限制,并给出可复查的调试写法。288 收藏 -
用一个等待外部资源的 Java 并行任务说明 ForkJoinPool.managedBlock 的补偿线程机制、ManagedBlocker 契约与线程池关闭验收。288 收藏