-
定义受检异常类必须继承Exception且不继承RuntimeException,类名不含“Runtime”,并提供String和String+Throwable两个构造函数;编译器仅在方法声明throws且被调用时强制处理。407 收藏 -
要实现自定义Collector,必须正确实现supplier、accumulator、combiner,可选finisher和characteristics;例如统计字符串长度分布可用HashMap::new、merge计数、forEach合并,并设IDENTITY_FINISH特征。407 收藏 -
动词+名词命名能直接暴露行为意图,如deriveUserStatus、validateEmailFormat;应避免get、process等宽泛动词,选用fetchOrderFromDatabase等具体表达;动词须与时态和返回值一致;业务层优先使用领域动词如assessCompatibilityScore。407 收藏 -
高内聚低耦合指类职责单一且内部协作紧密、类间依赖弱;Java中一眼可判:new具体实现类或import大量非本模块实现类即耦合高,应改用接口+构造器注入,并将行为封装进对应数据类。407 收藏 -
UpdateRS耗时异常的判定标准是Avg>10ms或Max>30ms,结合ExtRootScanning同步上升可确认RSet更新构成扫描瓶颈;根本原因在于DirtyCardQueue消费滞后,需通过调参与写模式治理协同优化。407 收藏 -
能,但需满足三前提:接口编译版本≥JDK8、调用方运行时JDK≥接口编译版本、实现类未定义同签名方法;否则抛NoSuchMethodError或编译失败。407 收藏 -
instanceof用于安全判断对象是否为某类或其子类实例,是向下转型前必须的轻量校验;它对null返回false、不抛异常,右侧仅支持具体类型而非泛型;Java14+支持模式匹配语法。406 收藏 -
哈希桶采用链地址法时,每个桶隐含链表,哈希分布不均会导致链表过长、查询退化为O(n);常见雷区包括非质数取模、忽略字段组合、浮点粗暴截断;修复需改用优质哈希算法并合理组合字段。406 收藏 -
Java序列化不当会引发内存膨胀,主要因反序列化时隐式实例化、Gadget链执行、静态引用滞留及集合无界增长;应禁用默认反序列化、预检字节流长度与嵌套深度、避免序列化上下文对象,并采用Protobuf/FlatBuffers等轻量协议替代。406 收藏 -
Interface静态方法不能替代单例模式,因其不提供实例构造与管理能力;NIMInterfaceStatic是带静态方法的类而非interface;Java/TS的interface均不支持静态方法实现,所谓“interfacestatic方法”实为误称。405 收藏 -
ConcurrentHashMap本身不提供原子性大小限制操作,直接检查size后put会导致竞态条件;需借助外部同步机制(如ReentrantLock)或使用支持容量策略的缓存库(如Caffeine)来实现线程安全的“仅当未达上限时插入”逻辑。405 收藏 -
MixedGC停顿预测精度高在高频交易中是错觉,因其基于稳定假设而无法应对脉冲式对象创建与晋升,导致预测失焦、GC频次激增、CPU被挤压、吞吐量断崖下跌。405 收藏 -
本地缓存优先查,命中直接返回;未命中则查Redis,再未命中则查数据库并回填两级缓存;异常时逐级降级,确保高可用。405 收藏 -
直接用数组偏移量模拟结构体读取,本质是将一维字节数组视为原始内存,按成员类型、顺序及对齐规则手动计算各成员起始位置与长度,适用于二进制协议解析等场景。405 收藏 -
limit参数控制结果数组的最大长度:limit>0时最多生成limit个元素,前limit-1个为常规分割结果,最后一个包含剩余全部内容。405 收藏