-
HashedWheelTimer适合单机百万级轻量延时任务(如心跳检测),但不适用于订单关闭等强一致性场景,因其任务仅存JVM内存、不可持久化、无容错与状态协同能力。335 收藏 -
异常链的核心价值在于重建可追溯的因果路径,通过显式关联(如raise...from)保留根因堆栈,解决异步调用中异常静默丢失、跨服务上下文割裂、日志监控信息不全及分层抽象失真等问题。335 收藏 -
哈希分布均匀性直接影响HashMap性能;需用可视化(柱状图、热力图)分析桶负载,统计空桶率、链表长度等指标,并对比不同哈希策略效果。335 收藏 -
舍入模式须按业务逻辑选定,不可随意;HALF_UP适用于通用四舍五入场景,UP/DOWN分别表示远离/靠近零取整,UNNECESSARY用于精度校验。334 收藏 -
Java中(T[])newObject[n]必然抛ClassCastException,因泛型擦除使运行时只剩Object[],而数组协变性与JVM类型检查在赋值或首次按T[]使用时触发异常;安全方案是用List<T>、传模板数组或反射Array.newInstance。334 收藏 -
接口是Java中实现高内聚、低耦合的关键,通过implements实现行为规范,支持默认方法扩展、静态工具方法及多继承,提升系统可维护性与扩展性。333 收藏 -
Java自定义异常应继承RuntimeException,用结构化错误码枚举(如ORDER_NOT_FOUND)替代字符串,提供三类构造函数并正确调用super,上下文信息存入context字段而非message。333 收藏 -
默认情况下核心线程长期闲置也不回收,这是由源码硬性保障的设计红线:1.核心线程用workQueue.take()无限阻塞,非核心线程才用poll(timeout);2.processWorkerExit()中allowCoreThreadTimeOut=false时,线程数≥corePoolSize即直接返回,不销毁;3.只要线程池处于RUNNING状态,ctl机制就绑定核心线程与池生命周期。333 收藏 -
SpringBoot本身不提供原生的命令行远程调用机制,但可通过Actuator+HTTP端点、JMX、SpringIntegration或自定义WebSocket/REST接口等方式安全实现运行时方法触发。332 收藏 -
Connection复用的是JDBCConnection对象而非物理TCP连接,节省三次握手等开销;其本质是池化管理带状态的连接实例,需同线程借还,避免跨线程共享、错误关闭或绕过池直连。332 收藏 -
对象必须8字节对齐,是因为64位CPU以8字节为单位读取数据,未对齐会导致跨缓存行访问,降低性能甚至引发硬件异常;同时保障long、double、volatile字段的原子性及指针压缩(CompressedOops)正确工作。332 收藏 -
putAll直接覆盖重复键,不处理冲突;merge用BiFunction合并重复键值;Stream.toMap需显式指定冲突函数,否则抛异常。332 收藏 -
allOf返回CompletableFuture<Void>,仅表示所有任务完成,不聚合结果;需保留原始CompletableFuture引用,逐一调用join()获取各值并处理异常。332 收藏 -
Metaspace泄露本质是类加载器未被回收导致元数据堆积;需通过JVM参数监控、jcmd/MAT定位异常类加载器,并修复ThreadLocal、静态缓存、监听器注册等常见泄露点。332 收藏 -
DocumentBuilder不是线程安全的,多线程共享会导致状态错乱、解析失败甚至JVM崩溃;应使用ThreadLocal隔离实例,或改用JAXB、StAX等线程安全替代方案。332 收藏