-
答案是掌握Java循环结构需理解for、while和do-while的执行逻辑,for适用于已知次数的循环,其初始化、条件判断和更新操作集中,结构清晰。
-
size()方法返回集合当前元素个数,类型为int;它不表示容量或内存大小,时间复杂度O(1),并发集合弱一致,数组无该方法而用length字段。
-
<p>-Xlog:gc是JDK9+替代-XX:+PrintGCDetails的标准做法,支持可控、可过滤、可重定向的GC日志,需显式指定输出路径与时间精度标签,生产环境推荐配置为-Xlog:gc:file=/data/logs/gc.log:time,uptime,level,tags:filecount=32,filesize=64m。</p>
-
<p>Java注释不会被编译进class文件;//和//在编译时被javac完全丢弃,仅Javadoc注释(/*/)供javadoc工具提取生成API文档,而注解是否进入字节码取决于@Retention策略。</p>
-
Java中“常量”实为publicstaticfinal字段,需同时满足public、static、final;final仅保证引用不可变,不保证对象内容不可变;多值常量优先用enum。
-
Map.merge(word,1,Integer::sum)是词频统计的正确用法,它原子性地实现“有则叠、无则建”,避免NPE和并发丢失;勿用get+put组合或错误lambda,慎混用compute。
-
可通过FileStore获取磁盘总空间和可用空间并手动计算百分比,需用getUsableSpace()/getTotalSpace()、避免除零、注意文件系统保留空间及权限影响。
-
答案:该待办事项系统基于Java实现,包含任务添加、查看、标记完成、删除及文件持久化功能。通过Task类封装任务属性,TodoManager管理任务列表并处理增删改查与数据读写,Main类提供命令行交互界面,使用ObjectInputStream/ObjectOutputStream实现对象序列化存储,程序启动时自动加载历史数据,支持跨会话保存任务状态,适合初学者掌握面向对象编程与基础IO操作。
-
BCryptPasswordEncoder默认强度为10,但高并发下易致CPU飙升,推荐显式指定strength=11;必须用matches()比对密码,严禁字符串直接比较;SpringBoot3需显式配置PasswordEncoderBean,且密码长度不得超过72字节。
-
IllegalStateException是程序逻辑进入非法状态时抛出的运行时异常,如Iterator未调用hasNext()就调用next()、已关闭的Scanner再读取、重复start()已启动线程等,需通过前置状态校验而非捕获来避免。
-
Java方法形参必须声明类型,不可为空;实参传递基本类型为值副本、引用类型为引用副本;void方法不能return表达式,非void方法每条路径须有return;返回值类型应根据是否需表达“无值”语义选择int、Integer或Optional。
-
对象应具备清晰责任边界和内在一致性,通过单一职责原则、信息隐藏、依赖注入和领域逻辑前置实现高内聚低耦合,提升可维护性与复用性。
-
Java是静态类型语言,变量声明必须显式写类型;局部变量可用var(JDK10+且初始化可推断)、泛型构造器可用<>;字符串比较用equals()而非==;循环拼接用StringBuilder;异常处理应精准捕获并用try-with-resources。
-
StringBuffer是线程安全的可变字符序列,适用于多线程环境下频繁修改字符串的场景,其方法通过synchronized实现同步,避免数据错乱,相比StringBuilder性能较低但安全性高,适合共享变量操作。
-
Windows10中设置JAVA_HOME和Path后,Java命令在重启后失效,通常因Path中误用系统变量引用(如%JAVA_HOME%\bin)导致变量未被正确展开;直接使用绝对路径可彻底解决该问题。