java教程技术文章
-
StringCharacterIterator 返回 char,遍历结束时不能用 null 表示。本文解释 CharacterIterator.DONE 为何是 \uFFFF,并用结束索引、空范围和 UTF-16 边界写出安全遍历方式。331 收藏 -
Java StringCharacterIterator 可以用四参数构造器限定 String 的遍历范围。本文说明 begin、end、pos 的关系、end 不包含规则、DONE 结束判断、非法边界以及 char 下标和 Unicode 代码点的区别。246 收藏 -
Java模块化JAR适合运行部署与常规发布,JMOD主要服务编译和链接。用同一最小模块演示两种打包方式,说明java启动、jlink输入及本地文件封装的区别。368 收藏 -
Java jmod 列出模块归档内容时使用 list 操作,它会输出 JMOD 中所有条目的名称。本文区分 list、describe、extract 的职责,并给出安全保存列举结果的命令写法。401 收藏 -
jdeps 读取的是 class 文件中的静态依赖,反射字符串、外部配置和插件目录可能不会出现在结果里。本文用最小示例说明边界,并给出参数、路径和运行时清单的复核方法。416 收藏 -
用 jdeps 分析 JAR 的模块依赖:先用 --list-deps 阅读依赖关系,再用 --print-module-deps 输出可供 jlink 使用的逗号分隔模块名称,并说明递归、路径和缺失依赖的处理方式。212 收藏 -
Java jlink 生成的是按根模块和传递依赖裁剪的自定义运行时,不是完整 JDK。本文解释为什么没有 javac、javadoc,如何用 jdeps 和 --list-modules 判断缺少项,以及怎样按需加入模块和服务绑定。500 收藏 -
用 jdeps 找出 Java 应用真正需要的 JDK 模块,再配合 jlink 的模块路径、启动器和裁剪插件生成更小的自定义运行时,并给出服务绑定与反射场景的复核方法。353 收藏 -
PropertyChangeSupport 的 setter 已执行但监听器未回调,常见原因是旧值和新值都非 null 且按 equals 相等。本文拆解对象、null、基本类型和 indexed 重载的通知边界,并给出动作事件与最小测试的修复思路。408 收藏 -
用 PropertyChangeSupport 的按属性重载,只接收 name 属性的变化,并通过一个小型 Java Bean 说明注册、触发和移除监听器的完整写法。420 收藏 -
Java Introspector 默认会沿继承链分析 Bean。本文用 stopClass 截断父类和 Object 的属性来源,并给出 PropertyDescriptor 核对方法与边界清单。145 收藏 -
用 Introspector 取得 BeanInfo 并遍历 PropertyDescriptor,说明属性名、类型、读写方法与只读属性的处理,以及字段扫描、继承范围和业务筛选的区别。447 收藏 -
Java ImageReader 的 dispose 只负责释放 reader 自身资源,ImageInputStream 仍需由调用方关闭。本文用一段完整的 Java 读取示例说明两者的职责边界、清理顺序和异常路径。176 收藏 -
Java ImageReader 可以通过 ImageInputStream、setInput、getWidth 和 getHeight 查询图片尺寸,而不调用 read 创建整张 BufferedImage。本文说明首帧索引、元数据选项、插件缺失和资源释放边界。273 收藏 -
通过Java PrintService完整查询示例区分属性类别、支持范围、具体取值与最终组合,说明DocFlavor上下文、份数范围和多设备打印的查询记录策略。340 收藏