-
必须在CompletionHandler.completed()中立即再次调用accept(null,this),否则后续连接被静默丢弃;禁用accept().get()阻塞式调用,避免退化为BIO;读取时须用回调链式read(buffer,att,handler),每次分配新buffer并正确管理生命周期。
-
类是模板,对象是按模板创建的具体实例;类不占内存,对象才分配堆内存并拥有独立状态,静态成员则被所有对象共享。
-
当将@ExceptionHandler从控制器内移至@RestControllerAdvice类后响应格式异常,通常因多个全局异常处理器冲突导致优先级不足,需显式设置@Order保证执行顺序。
-
Java对象创建是JVM执行new指令后触发的严格初始化流程,包含类加载检查、内存分配(TLAB/指针碰撞/空闲列表)、零值初始化与对象头设置、<init>构造器执行四步,每步受规范约束且影响性能与诊断。
-
IDEA断点仅在可执行语句(如方法调用、赋值、条件入口)生效;StepOver跳过方法体,StepInto进入方法内,StepOut返回上层;变量需手动展开或双击查看深层值,修改须用“SetValue”并回车确认。
-
Java布尔类型是独立基本类型,不可与数字或字符串直接比较;应直接用if(flag)、显式解析字符串、避免==比较包装类、注意短路运算符副作用及三元运算符类型匹配。
-
Java方法调用本质是JVM栈上创建独立栈帧,含局部变量表、操作数栈、动态链接和返回地址;通过invokestatic、invokespecial、invokevirtual、invokeinterface、invokedynamic五指令实现不同分派机制。
-
使用final关键字可防止子类重写父类方法,如publicfinalvoidprocess()确保方法行为不变;将类声明为final则彻底禁止继承,适用于工具类或稳定类,如publicfinalclassUtility;通过私有构造函数+静态工厂方法控制实例化,结合单例或不可变模式增强封装;优先采用组合替代继承,降低耦合,提升灵活性。
-
Java异常处理核心是:异常仅用于真正异常场景,禁用作流程控制;检查型异常处理可恢复外部问题,运行时异常须前置校验规避;高频路径避免抛异常,敏感操作需显式失败反馈与安全兜底。
-
Map接口本质是键值映射的抽象契约,只定义put、get等操作规范,不提供具体实现;其核心要求是键唯一、通过键快速查值,底层结构由HashMap(哈希表,O(1))、TreeMap(红黑树,logn)等实现类决定。
-
ZXing报WriterException主因是参数越界或类型不匹配:content非空且URL编码后≤2953字节、宽高≥100、BufferedImage需TYPE_INT_ARGB;Swing显示需正确转ImageIcon并调revalidate/repaint;关键EncodeHintType仅ERROR_CORRECTION、CHARACTER_SET、MARGIN;jar缺失zxing-javase依赖或未设headless模式亦致失败。
-
本文介绍一种高效计算偶数元素位移量的方法:不实际移动数组,而是通过统计每个偶数前的奇数个数,直接得出其在重排后的位置偏移量,时间复杂度O(n),空间最优且逻辑清晰。
-
Date构造器年份参数是距1900年的偏移量,如newDate(2024,0,1)实际为2924年;月份从0开始;该构造器已弃用,应改用LocalDateTime或Calendar;SimpleDateFormat非线程安全;Calendar.DAY_OF_WEEK与日常认知不一致,建议用LocalDateTime.getDayOfWeek();set()惰性设置,add()立即计算;时区易出错,推荐用toInstant()或Instant过渡。
-
JavaSocket是TCP通信核心类,封装底层协议,通过IP+端口建立连接,利用输入输出流实现全双工通信;支持阻塞I/O、超时设置、缓冲区调优及保活机制,是Netty等框架的底层基础。
-
在Thymeleaf模板中引用Java多级静态嵌套类(如L1.L2.L3.MyEnum)时,必须使用$符号替代.作为嵌套层级分隔符,否则会因类名解析失败而抛出“Typecannotbefound”错误。