-
答案:ArrayList基于动态数组,查找快、增删慢,适合频繁读取;LinkedList基于双向链表,增删快、查找慢,适合频繁插入删除及用作队列或栈。336 收藏 -
accessOrder=true是LRU的关键,因它使get()/put()触发节点移至链表尾;removeEldestEntry()需预留缓冲位防误删;并发场景下LinkedHashMap不安全,推荐ConcurrentHashMap+队列手动维护顺序。232 收藏 -
ClassLoader.loadClass()或Class.forName()找不到类时抛出ClassNotFoundException,主因是运行时classpath或模块路径缺失字节码、类加载器隔离/委托异常、模块未导出或未声明依赖。357 收藏 -
伪共享问题出在CPU缓存行对齐失效环节:多个线程修改同一缓存行内不同变量,引发不必要的缓存同步,导致吞吐下降而不报错。274 收藏 -
线程池配置需匹配任务特征:过小导致排队延迟,过大引发OOM和上下文切换;应选有界队列、合理设core/maxPoolSize,避免无界队列,优先静态配置并结合监控调优。203 收藏 -
Java命令行记账工具应分三层:Transaction(纯数据)、AccountBook(CRUD逻辑)、CLI(输入解析与输出);输入用nextLine()+trim()+BigDecimal校验;文件保存采用追加写入JSON/CSV并原子替换;日期格式化须用线程安全的DateTimeFormatter。134 收藏 -
Swing仍可用但已标记弃用,JavaFX需单独引入;二者线程模型不同(EDTvsApplicationThread),布局与打包方式差异显著,JavaFX依赖模块化且具现代UI能力。270 收藏 -
构造方法可以且必须通过重载支持不同初始化方式;Java允许同一类中多个参数列表不同的构造方法,但签名相同时会报错;需用this(...)调用其他构造且须为首句;相比静态工厂,重载构造语义不清、无法复用对象或返回子类型。112 收藏 -
答案:通过定义Question类和List存储问题与答案,使用Scanner获取用户输入并验证,最后输出或保存结果,实现一个结构清晰、交互友好的Java控制台问卷调查系统。273 收藏 -
根本原因是路径解析基准为当前工作目录而非类路径;IDE运行时工作目录因环境而异,应打印确认;classpath资源须用getResourceAsStream();读中大文件需BufferedInputStream批量读以提升性能。255 收藏 -
Collections.frequency统计元素频次依赖equals逻辑相等,要求目标类正确重写equals(及hashCode),对null安全但时间复杂度O(n),不支持数组和Stream,需先转为Collection。143 收藏 -
面向对象的new与面向过程的main本质不同:Java强制以类为单位组织代码,所有行为必须依附于类型或对象,而C等语言中main是独立入口,函数自由定义调用。243 收藏 -
抽象类和抽象方法必须用abstract修饰;含抽象方法的类须声明为abstract,abstract类可无抽象方法;abstract方法不能是private、static或final;抽象类不可实例化,但可用多态引用子类对象。137 收藏 -
Java字符串比较必须用.equals()而非==,因==判断引用地址而.equals()判断内容;推荐"str".equals(s)防null;忽略大小写用.equalsIgnoreCase()但需注意Locale问题。350 收藏 -
Java方法重载不考虑返回类型,仅依据方法名和参数列表(个数、类型、顺序)判断;voidfoo()与intfoo()在同个类中非法共存,编译直接报错。167 收藏