第027篇 ArrayList 源码与扩容机制:1.5 倍增长的细节
ArrayList面试高频题:JDK8中无参构造不分配数组,首次add才扩容至10;后续按1.5倍增长,不足时直取所需容量,上限为Integer.MAX_VALUE-8。扩容本质是Arrays.copyOf整段拷贝。关键要懂原理、避坑(如预估容量、非线程安全、subList陷阱)并结合工程实践。
第025篇 泛型通配符与 PECS:一句话讲清 extends 与 super
泛型通配符与PECS(Producer Extends, Consumer Super)是泛型核心难点。上界`? extends T`用于只读(生产者),下界`? super T`用于只写(消费者)。讲清“为何上界不能add、下界不能get”,结合`Collections.copy`等JDK源码实践,才能体现真理解——而非死记口诀。
背景色与背景图片:元素级背景的配置与边界
本文详解 jquick-pdf 中 `backgroundColor` 与 `backgroundImage` 元素级背景属性的用法、边界及最佳实践:支持颜色/渐变/本地图片,颜色自动兜底;强调其不等于全局分页背景,需通过复用页面块实现统一底色;涵盖路径、尺寸、打印、多页性能等关键细节。
第018篇 包装类与自动装箱:Integer 缓存池的坑
包装类与自动装箱看似简单,实则暗藏三大雷区:`Integer`等缓存边界(-128~127)、`null`拆箱直接NPE、三元表达式隐式拆箱引发空指针。`==`比引用,`equals`比值;热点路径慎用包装类,集合/可空场景才需装箱。原理+踩坑+实战,一文讲透面试高频考点。
AI总能把代码写出来,为什么一接公司接口就开始“凭经验乱猜”?
本文基于微软提出的“Agent Experience(AX)”理念,剖析Coding Agent调用过期SDK、误选接口、假成功等根因,提出面向AI代理的API质量新标准:文档可发现性、可执行样例、竞争性回归测试,并给出可落地的四层评测框架与CI门禁实践。(239字)
当滚动逃离了框架 ——HarmonyOS Web 与原生混排滚动的冲突本质与解法
本文深入剖析鸿蒙 ArkUI 中 Web 组件与原生滚动容器混排时的边界问题(断档、撞墙、回弹叠加),指出其根源是“两个滚动世界缺乏通信协议”。系统提出三种解法:FIT_CONTENT(降维消除嵌套)、nestedScroll(声明式协调)、偏移量派发(命令式逐帧接管),并给出适用场景、配置要点与避坑指南。(239字)
第005篇 数组与多维数组:批量数据的地基
数组是Java中最基础却易被低估的定长连续容器,本质为“数组的数组”(多维),越界抛异常、拷贝为浅拷贝、`length`是字段非方法。常见坑:`Arrays.asList(基本类型数组)`返回size=1、误当深拷贝、与List混淆。工程中重性能、少扩容、严校验。