-
ThreadGroup已被弃用,因其无法保证线程归属、方法非线程安全、不参与权限控制且与现代并发工具不兼容;应使用ExecutorService进行显式生命周期管理、监控和隔离。
-
Java中的ListIterator接口支持双向遍历,即可以从前往后,也可以从后往前遍历列表。这与普通的Iterator只能单向向后遍历不同。ListIterator提供了更灵活的操作方式,特别适用于需要反向访问或在遍历过程中修改列表的场景。1.ListIterator的基本特性ListIterator是Iterator的子接口,专为实现类如ArrayList、LinkedList等线性列表设计。它具备以下能力:支持向前遍历(从头到尾)支持向后遍历(从尾到头)可在任意
-
Files.walkFileTree()配合SimpleFileVisitor是统计文件夹磁盘占用最稳妥的方式,支持符号链接处理、权限异常兜底及深度控制,核心重写visitFile累加大小,visitFileFailed忽略错误,preVisitDirectory可过滤目录或检测循环软链。
-
异常上下文指抛出异常瞬间可追溯的关键变量与状态,如user_id、order_id、api_path、db_query等现场快照;缺失则导致排查困难。应通过带cause构造异常、显式拼接业务字段、避免依赖MDC或无意义wrap来保障上下文完整性。
-
-Xmx与-Xms设为相同值可减少GC频率,因避免了运行时堆内存动态扩容触发的FullGC和并发周期,同时防止元空间分配失败及启动期频繁停顿。
-
装箱是基本类型转包装类,拆箱反之;Java5起支持自动装箱/拆箱,编译器自动转换,简化代码但可能引发性能问题、空指针异常和比较陷阱,需注意集合操作、参数传递等场景中的隐式转换风险。
-
ifelse语句用于根据条件执行不同代码块,基本语法为if(条件){}else{},支持多条件elseif扩展,如判断成绩等级;需注意条件为boolean类型、建议使用大括号、条件顺序影响结果,并建议包含else处理默认情况。
-
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、编译提示、尾部处理及软件流水线调度。
-
方法重载是指在同一个类中定义多个同名但参数列表不同的方法,以实现不同参数下的功能适配。参数列表不同包括参数类型、个数或顺序的差异,返回类型不影响重载。例如,add(inta,intb)与add(doublea,doubleb)或add(inta,intb,intc)构成重载。编译器在调用时根据传入参数的类型和数量进行静态绑定,优先选择精确匹配,其次为自动类型提升、装箱或可变参数。注意不能仅通过返回类型区分重载方法,否则会导致编译错误。同时应避免重载方法行为差异过大或因类型优先级引发误调用,确保代码可读性和