-
ConcurrentHashMap迭代器非fail-safe而是弱一致性,不抛ConcurrentModificationException但不保证看到所有修改;它用分段锁+CAS+volatile实现线程安全,无modCount机制,设计取舍为高吞吐而非强一致性。
-
可在@RabbitListener方法参数中直接声明MessageProperties,SpringAMQP自动注入;需手动ACK时须配置容器为MANUAL模式,并同时声明Channel和Message参数,用MessageProperties.getDeliveryTag()获取tag调用Channel方法。
-
drainTo能减少上下文切换,因为它批量取出任务避免频繁阻塞/唤醒;正确用法需配合循环与非空判断,并处理部分drain和零长度边界;性能提升取决于队列类型与任务密度。
-
Jackson能自动将带type字段的JSON数组反序列化为子类对象列表,前提是正确配置@JsonTypeInfo与@JsonSubTypes、注册子类、使用TypeReference指定泛型,并确保JSON中类型标识字段名和值严格匹配声明。
-
BitSet是Java中专为位运算优化的高效数据结构,底层用long数组存储,仅支持非负整数,通过and()和or()原地执行CPU级位运算实现交并集,比哈希或Stream快10–100倍。
-
ThreadGroup已被弃用,因其无法保证线程归属、方法非线程安全、不参与权限控制且与现代并发工具不兼容;应使用ExecutorService进行显式生命周期管理、监控和隔离。
-
Java中的ListIterator接口支持双向遍历,即可以从前往后,也可以从后往前遍历列表。这与普通的Iterator只能单向向后遍历不同。ListIterator提供了更灵活的操作方式,特别适用于需要反向访问或在遍历过程中修改列表的场景。1.ListIterator的基本特性ListIterator是Iterator的子接口,专为实现类如ArrayList、LinkedList等线性列表设计。它具备以下能力:支持向前遍历(从头到尾)支持向后遍历(从尾到头)可在任意
-
Files.walkFileTree()配合SimpleFileVisitor是统计文件夹磁盘占用最稳妥的方式,支持符号链接处理、权限异常兜底及深度控制,核心重写visitFile累加大小,visitFileFailed忽略错误,preVisitDirectory可过滤目录或检测循环软链。
-
Collection必须实现15个核心方法:增删查基础操作(add、remove、contains、size、isEmpty)、批量操作(addAll、removeAll、retainAll、containsAll、clear)、遍历转换(iterator、toArray、toArray(T[])),以及JDK8+默认方法(stream、parallelStream、removeIf)。
-
NMT是定位JVM堆外内存泄漏的核心工具,需启动时配置-XX:NativeMemoryTracking=detail和-XX:+UnlockDiagnosticVMOptions,通过jcmd对比baseline与diff快照,重点监控Internal、Thread、Metaspace、Other四大区域,并辅以pmap、smaps等系统命令交叉验证。
-
使用final关键字可防止方法被重写,将方法声明为final后子类无法覆盖,如publicfinalvoiddisplay();若需保护整个类则将其声明为final,如publicfinalclassUtility;私有方法private因不可见也无法被重写,仅在本类中有效;此外可通过组合替代继承来避免覆盖问题。
-
Method.getExceptionTypes()仅返回显式声明的受检异常(继承Exception但非RuntimeException子类),不包含RuntimeException及其子类、Error,也无法捕获@SneakyThrows等绕过throws声明的异常。
-
Region管理堆是为了应对大内存、多核、低延迟场景下的根本矛盾:解决大堆停顿不可控、适配NUMA架构、支撑并发回收、灵活匹配对象生命周期异构性。
-
Class.newInstance()因绕过访问检查、不支持参数构造器、异常信息模糊而被弃用,JDK9标记为@Deprecated,JDK15起部分模块移除;应改用Constructor.newInstance()并显式调用setAccessible(true)、严格匹配参数类型、解包InvocationTargetException。
-
循环展开的核心是精准匹配硬件瓶颈:填满流水线、利用向量单元、打破数据依赖;关键在选对展开因子(通常2/4/8倍),配合restrict、编译提示、尾部处理及软件流水线调度。