-
DelayQueue要求元素实现Delayed接口,否则poll()始终返回null;需用绝对时间戳实现getDelay()和compareTo(),并配守护线程消费任务。
-
Maven允许在多模块项目中构建层级化的嵌套模块结构(如architecture_utils下再定义多个子模块),只需确保父POM正确声明<modules>并遵循聚合与继承分离原则,即可实现高内聚、低耦合的工程组织。
-
distinct()严格依赖equals()和hashCode()的正确实现;自定义类必须重写二者,否则字段相同也被视为不同;按字段去重需filter+ConcurrentHashMap;去重逻辑须匹配业务语义。
-
HashSet通过HashMap的键唯一性实现去重,将元素作为key、PRESENT作value存储;判断重复需hashCode()与equals()共同作用,自定义类须重写二者;底层调用map.put(e,PRESENT)并依据返回值是否为null判定添加成功。
-
instanceof用于运行时判断对象是否为某类或其子类实例,但不适用于基本类型、null及泛型擦除后类型;nullinstanceof任意类型返回false,右操作数为未实现接口或非子类时也静默返回false。
-
default方法必须用default关键字显式声明,static方法必须用static修饰且不可被实例调用;二者不能互相调用,多重继承时同签名default方法需显式覆写并指定调用方。
-
JTable不刷新因未通过TableModel触发事件;须用addRow()等方法或fireTableDataChanged();新增后需setRowSelectionInterval()+scrollRectToVisible()定位;编辑需在setValueAt()同步业务对象;批量删除须逆序调用removeRow()。
-
首先定义图书类Book封装信息,再通过Library类实现增删改查功能,最后用Main类结合Scanner完成用户交互,构建一个基础的Java图书管理系统。
-
LinkedHashMap默认按插入顺序迭代,仅当构造时指定accessOrder=true才启用访问顺序;此时get()和put()会将节点移至尾部,而containsKey()不触发重排;removeEldestEntry()判断依据变为最久未访问项。
-
Java变量声明必须明确类型,仅局部变量可用var且需初始化;成员变量有默认值,局部变量必须显式赋值,否则编译报错。
-
SpringBoot通过约定优于配置、自动装配和起步依赖降低初始化成本,但不提供CRUD生成器;需注意内嵌容器配置、主类包路径、数据库选型(JPA/MyBatis)、Jackson中文与日期序列化配置,以及多starter间自动配置冲突问题。
-
filter没生效是因为Stream惰性求值,必须调用collect等终端操作才能触发;map中空指针需提前filter或lambda内判空;reduce的identity须为中性元素;避免在lambda中做IO或重复计算。
-
String.trim()仅处理ASCII空白字符('\u0000'–'\u0020'),不识别Unicode空白如全角空格'\u3000'或零宽空格'\u200B';String.strip()自JDK11起支持全部Unicode空白,调用Character.isWhitespace(),适用于多语言和用户输入场景。
-
不会。System.gc()仅向JVM发出垃圾回收建议,不保证立即执行或触发FullGC,实际行为取决于GC策略、堆状态和运行时负载,频繁调用反而干扰GC自适应策略。
-
nullinstanceof任意类型恒为false,不抛异常;必须先判null再用instanceof,顺序不可反;Java14+可用switch类型模式替代,天然规避null问题。