java教程技术文章
-
SplitPackage指同一逻辑包名被分散在多个物理模块中,导致运行时加载不一致、符号重复或变量覆盖;其难排查源于模块系统只认物理路径而非语义,且多语言机制均按边界划分作用域而开发者按业务组织包名。163 收藏 -
Arrays.sort()已深度优化,无需手写;基本类型用双轴快排,对象数组用Timsort;需理解其策略、适用场景及常见陷阱。163 收藏 -
AbstractMethodError是Java运行时错误,表示调用抽象方法时实际类未实现该方法;主因是编译时与运行时类版本不一致,如接口升级新增抽象方法但实现类未同步更新。163 收藏 -
负载因子控制触发HashMap扩容的键值对数量阈值系数,即size>capacity×loadFactor时扩容;它不控制内存占比、桶内链表长度或哈希计算,仅构造时固化,默认0.75为时空折中。162 收藏 -
newBigDecimal(0.1)不等于0.1,因为double的二进制浮点表示导致0.1存储为近似值0.10000000000000000555…,BigDecimal(String)或BigDecimal.valueOf()才能精确构造。162 收藏 -
Java的extends仅支持单继承,可链式继承但不允许多类继承;继承public/protected及包内default成员,不可见private成员;构造器不被继承,static成员可继承但不可重写。162 收藏 -
Java批量重命名工具需安全遍历、合规构名、原子重命名及完善反馈:过滤无效文件,清理非法字符并保留扩展名,优先用Files.move()替代renameTo(),预览变更、记录日志、校验结果。162 收藏 -
父类构造方法在子类对象实例化时必须优先执行,以确保父类字段(如privatefinalStringidCard)被正确初始化,避免未定义状态;编译器强制插入super()调用,执行顺序为:父类静态块→子类静态块→父类实例块→父类构造→子类实例块→子类构造。162 收藏 -
多层try-catch并非嵌套越多越好,应按异常类型粒度、恢复策略和资源生命周期分段设计;捕获顺序须从具体到宽泛,避免子类异常被父类吞没;推荐使用try-with-resources确保资源安全关闭,并合理处理suppressed异常。162 收藏 -
Akka自愈需监督策略+消息重试+状态持久化三层协同;缺一则致丢状态、卡死或崩溃循环,核心是保障业务逻辑正确推进而非仅重启。162 收藏 -
Java中boolean类型的^运算符表示逻辑异或,即两操作数不同时为true;它不短路,等价于!=,但不同于||,常用于判断“恰好一个为真”的场景。162 收藏 -
本文介绍一种“匹配优先”而非“分割优先”的正则策略:通过交替模式(alternation)一次性捕获所有目标单元——包括浮点数、预设关键词(如"cats""dogs")及其余单字符,避免复杂循环与多轮拆分。162 收藏 -
开闭原则是“对扩展开放、对修改关闭”,核心是不破坏已有逻辑的实现;可通过新增类、接口、注册表或依赖注入实现扩展,而非修改原有代码。162 收藏 -
HashSet底层直接使用HashMap实例,通过组合模式将元素作为key、固定哑对象PRESENT作为value存储,从而实现去重;其线程不安全,且依赖正确的equals和hashCode实现。162 收藏 -
MessageFormat.format()的核心价值是用标准化占位符替代字符串拼接,需严格使用{0}等数字索引、成对单引号转义、预编译实例、参数数量匹配。162 收藏