-
finally中抛出异常会覆盖try/catch中的异常,导致原异常堆栈信息丢失;应优先使用try-with-resources自动抑制close异常,或在手动finally中用try-catch处理close并addSuppressed。
-
答案:Java异步回调通过解耦任务执行与结果处理,提升响应性和资源利用率。使用AsyncCallback接口定义成功与失败回调,结合CompletableFuture实现非阻塞任务执行与自动回调触发。适用于I/O或计算密集型场景,解决UI阻塞、资源浪费、顺序执行瓶颈和代码高耦合问题。常见模式包括回调接口、Future、CompletableFuture(推荐)、事件监听器和响应式编程。异常处理需通过onFailure、exceptionally、handle等机制显式捕获并恢复,辅以日志监控与重试降级策略
-
答案是使用Spring的MessageSource实现异常消息国际化,通过定义资源文件、创建自定义异常并结合全局异常处理器动态加载对应语言的消息。具体步骤包括:配置ResourceBundleMessageSourceBean指向exceptions.properties等资源文件;为不同语言提供如exceptions_zh_CN.properties和exceptions_en_US.properties;在文件中以key-value形式存储错误信息;抛出携带消息键的InternationalizedE
-
default方法必须用default关键字显式声明,static方法必须用static修饰且不可被实例调用;二者不能互相调用,多重继承时同签名default方法需显式覆写并指定调用方。
-
@ExceptionHandler仅对当前Controller生效,全局需用@ControllerAdvice;只处理未捕获的RuntimeException及其子类,受检异常需显式throws;返回值应为ResponseEntity以精确控制状态码和响应体;日志须记录完整堆栈。
-
Java异常可存入数据库,需聚焦业务关键路径、未捕获运行时异常、自定义业务异常及合规审计场景,结构化存储并异步落库以保障性能与可靠性。
-
EnumMap底层使用数组而非哈希表,以枚举ordinal()为下标实现O(1)查表;无哈希计算、无冲突处理、无装箱,性能比HashMap高2–3倍、内存低约40%;不支持null键,且必须在编译期确定枚举类型。
-
while循环先判断条件再执行,若条件不成立则循环体不执行;2.dowhile循环先执行一次循环体再判断条件,确保循环体至少执行一次;3.需要至少执行一次时用dowhile,如用户输入验证;可跳过循环时用while。
-
一个类可实现多个接口以支持多重行为继承。Java不支持多继承,但通过implements关键字实现多接口,如Person类实现Runnable和Eatable接口需重写所有抽象方法。从Java8起,接口可定义default方法提供默认实现;若多个接口含同名default方法,实现类必须重写该方法并用InterfaceName.super.methodName()指定调用来源。为避免复杂性,应遵循接口隔离原则,保持接口职责单一,避免过多无关接口导致“胖类”,推荐使用组合优化设计。例如,机器人类可分别实现Mo
-
最稳用CFR反编译插件:兼容Java17新特性,需禁用IDEA自带解码器;遇“Decompiledcodenotavailable”需检查module-info、混淆或JDK类配置;var丢失因编译未加-g:vars;空方法体是CFR对不支持字节码的兜底处理。
-
静态方法不能被重写,只能被隐藏;JVM在编译期根据引用类型静态绑定,与实际对象类型无关,故Parentp=newChild();p.staticMethod()调用Parent的版本。
-
Scanner读取用户输入需在main开头创建单实例,用nextLine()读字符串并统一解析类型,避免nextInt()后换行符残留;关键词转小写匹配,用startsWith()实现命令交互;退出用布尔变量控制循环,退出前提示“再见”。
-
小对象优先在年轻代是因生命周期短、匹配复制算法高效回收,大对象直入老年代避免干扰年轻代GC;分代设计与逃逸分析共同优化GC效率。
-
多线程核心价值是提升CPU利用率和整体吞吐量,通过让等待I/O的线程释放CPU给其他任务执行;需用线程池复用线程,避免频繁创建销毁;共享变量须用volatile、synchronized或AtomicInteger等机制同步;线程协作优先选用BlockingQueue、CountDownLatch等高级并发工具。
-
Java并发编程中用队列,核心是为了安全、有序、可控地传递任务或数据,阻塞队列通过自动阻塞/唤醒机制简化生产者-消费者模型,解耦线程、避免竞态,天然适配线程池与异步任务。