-
对象应具备清晰责任边界和内在一致性,通过单一职责原则、信息隐藏、依赖注入和领域逻辑前置实现高内聚低耦合,提升可维护性与复用性。469 收藏 -
Java方法形参必须声明类型,不可为空;实参传递基本类型为值副本、引用类型为引用副本;void方法不能return表达式,非void方法每条路径须有return;返回值类型应根据是否需表达“无值”语义选择int、Integer或Optional。469 收藏 -
IllegalStateException是程序逻辑进入非法状态时抛出的运行时异常,如Iterator未调用hasNext()就调用next()、已关闭的Scanner再读取、重复start()已启动线程等,需通过前置状态校验而非捕获来避免。469 收藏 -
BCryptPasswordEncoder默认强度为10,但高并发下易致CPU飙升,推荐显式指定strength=11;必须用matches()比对密码,严禁字符串直接比较;SpringBoot3需显式配置PasswordEncoderBean,且密码长度不得超过72字节。469 收藏 -
答案:该待办事项系统基于Java实现,包含任务添加、查看、标记完成、删除及文件持久化功能。通过Task类封装任务属性,TodoManager管理任务列表并处理增删改查与数据读写,Main类提供命令行交互界面,使用ObjectInputStream/ObjectOutputStream实现对象序列化存储,程序启动时自动加载历史数据,支持跨会话保存任务状态,适合初学者掌握面向对象编程与基础IO操作。469 收藏 -
可通过FileStore获取磁盘总空间和可用空间并手动计算百分比,需用getUsableSpace()/getTotalSpace()、避免除零、注意文件系统保留空间及权限影响。469 收藏 -
Map.merge(word,1,Integer::sum)是词频统计的正确用法,它原子性地实现“有则叠、无则建”,避免NPE和并发丢失;勿用get+put组合或错误lambda,慎混用compute。469 收藏 -
Java中“常量”实为publicstaticfinal字段,需同时满足public、static、final;final仅保证引用不可变,不保证对象内容不可变;多值常量优先用enum。469 收藏 -
死锁发生的四个必要条件是互斥、占有并等待、不可剥夺、循环等待:互斥指资源不能被多个线程同时访问;占有并等待指线程持有锁又申请其他锁;不可剥夺指锁不能被强制释放;循环等待指多个线程形成闭环等待链。468 收藏 -
父类引用可指向子类对象,本质是类型系统基于is-a关系的强制保障;编译期只允许调用父类声明的方法,子类特有方法需向下转型并检查类型;方法重写在运行时动态调度,字段访问和静态方法则按声明类型绑定。468 收藏 -
使用Objects.equals()可安全比较含null元素的List,避免NullPointerException,同时确保顺序和内容完全一致。468 收藏 -
Collections.sort()用于对List排序,支持自然顺序和自定义比较器。元素需实现Comparable接口或传入Comparator实例,如String按字典序、Integer按数值排序,自定义类可通过lambda表达式按字段排序,要求列表可变且非null。468 收藏 -
instanceof用于判断引用类型是否为某类或接口实例,返回boolean;null时恒为false,不抛NPE;仅支持编译期已知的类/接口及原始泛型类型,不支持基本类型和参数化泛型。468 收藏 -
CopyOnWriteArrayList是读多写少场景下的线程安全列表,通过写时复制实现高效读取,适用于弱一致性、低频写入的并发环境。468 收藏 -
答案:用Java实现任务管理工具需设计Task类和TaskManager类,通过Scanner接收用户输入,实现添加、查看、标记完成等功能,核心是类设计与集合操作。468 收藏