-
Java多态由继承、方法重写和父类引用指向子类对象三者自然达成,仅对实例方法重写生效,编译时看声明类型,运行时按实际类型动态绑定。
-
corePoolSize设太小不会直接拒绝任务,而是先排队;仅当队列满且线程数已达maximumPoolSize时才触发拒绝策略。
-
printStackTrace()可快速输出完整堆栈到System.err,适用于开发调试;需判空避免NPE;获取字符串应使用StringWriter+PrintWriter;日志中须传Throwable实例而非字符串拼接。
-
接口隔离原则(ISP)要求每个接口仅暴露调用方真正需要的方法,避免UnsupportedOperationException、null返回或空方法体;识别臃肿接口的信号包括:实现类超1/3方法抛异常、多服务共用但调用方法几乎无重叠、“Methodisneverused”警告超40%、单元测试需stub十余方法仅验2–3个。
-
VectorAPI是JDK16引入的孵化特性(jdk.incubator.vector),用于编写可被编译为CPUSIMD指令的向量化代码,非java.util.Vector;现可用,但需JDK19+、显式添加模块并正确处理数组对齐与掩码。
-
StreamAPI财务合规监测的核心是将规则转化为可组合、可复用、可验证的函数式逻辑,在业务服务层实现轻量、精准、低延迟的中间态校验,聚焦金额精度、币种一致性、科目归属、余额方向、阈值越界、时间有效性等关键变量,并通过groupingBy和partitioningBy支持差异化策略路由。
-
StandardCharsets.UTF_8比字符串"UTF-8"更可靠,因其是编译期确定的不可变常量,零查找开销、零异常风险;应统一用于文件读写、网络请求、URL编解码等场景,避免依赖平台默认编码。
-
安装Java需先确认系统发行版及包管理器类型,再区分JRE与JDK并安装对应-devel或-jdk包,配置JAVA_HOME环境变量,并用update-alternatives管理多版本。
-
String是引用数据类型,因为它是java.lang.String类的实例,对象存储在堆中,变量仅保存指向对象的引用地址,具备引用类型的全部特征。
-
Java类不能多继承但能多实现接口,是因为类继承涉及状态和具体实现,易引发字段冲突与方法歧义,而接口仅定义行为契约,无状态、无构造器,编译器可安全合并多个接口的抽象方法;默认方法冲突时须显式重写并指定调用X.super.m()或Y.super.m()。
-
do-while是唯一能天然保证探测至少执行一次的循环结构,因其语义明确分离初始化、重试与退出逻辑,避免资源泄漏、EINTR处理错误及维护性问题。
-
Connection必须实现AutoCloseable才能用于try-with-resources,旧驱动(如MySQL5.1.x、PostgreSQL42前)仅实现java.sql.Connection而未实现AutoCloseable,导致编译报错;需升级驱动并确保JDK≥7、编译目标设为1.7+。
-
答案:通过try-catch捕获ArithmeticException可防止程序崩溃,结合循环与清晰提示如“除数不能为零”能引导用户正确输入,提升健壮性与体验。
-
SafePoint是JVM内所有Java线程协作停顿的特定位置,用于STW操作;其核心机制是PollingPage——通过内存保护触发段错误实现低开销、高可靠中断,而非volatile轮询。
-
答案:Java多语言支持需统一UTF-8编码、正确配置Locale及规范资源文件管理。具体包括:JVM启动时设置-Dfile.encoding=UTF-8;使用Locale控制区域敏感操作如日期格式;通过ResourceBundle加载对应语言的properties文件;IO流显式指定UTF-8编码,确保文本正确处理。