-
不能。抽象类不能被实例化,故其方法无法直接调用;但子类继承后可通过子类实例调用父类非抽象方法,抽象方法则需子类实现且在多态上下文中调用。461 收藏 -
在PactJVM中,当API响应中某个字段可能为null或一个非空数组(如contents:null或contents:[...])时,无法通过单个PactDslJsonBody表达“或”逻辑;正确做法是为两种值态分别定义独立的交互契约测试用例。392 收藏 -
应避免在循环中抛异常,因其创建开销大、易引发GC;禁用无意义的try-catch和空catch;优先用uncheckedexception并定义语义化子类;高频场景可禁用堆栈以提升性能,但需权衡调试与监控需求。167 收藏 -
第一步安装JDK并验证版本,第二步配置JAVA_HOME和Path环境变量,第三步选择IDE并测试HelloWorld程序,确保编译运行正常。115 收藏 -
ClassNotFoundException发生在类路径缺失、类名错误或依赖未引入时,需通过try-catch捕获并结合日志、默认实现或SPI机制提升动态加载稳定性。384 收藏 -
接口多态通过抽象行为提升代码扩展性,1.定义清晰契约如Payment接口;2.用多态替代条件判断;3.结合工厂模式解耦创建过程;4.优先使用接口类型引用,实现灵活替换与维护。465 收藏 -
Lambda表达式是Java中用于简化函数式接口实现的语法优化,其核心是通过“(参数)->表达式”形式实现匿名函数;它只能用于含单个抽象方法的函数式接口,如Runnable、Comparator等,可配合@FunctionalInterface注解使用;支持变量捕获,但要求外部变量为有效final;方法引用(如System.out::println)可进一步简化Lambda写法,提升可读性;广泛应用于集合操作与并行编程。152 收藏 -
答案: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 收藏