-
Collections.min报错因集合为空抛NoSuchElementException、元素未实现Comparable或含null时抛ClassCastException;返回null仅出现在Stream替代写法的orElse(null)中,原生方法从不返回null。
-
indexOf和lastIndexOf是List接口方法,不支持原始数组;基本类型数组需转为包装类型再用Arrays.asList();返回-1表示未找到,非异常;依赖equals()比较,注意泛型与自动装箱陷阱。
-
使用连接池确保线程独占连接,事务绑定单线程执行,DAO设计无状态,配合合理隔离级别与超时控制,可保障多线程下数据库操作安全高效。
-
Java开发中配置编码格式的核心是统一UTF-8以避免乱码,需在编译(javac-encoding)、运行(-Dfile.encoding)、IDE文件编码、properties处理及IO/网络(InputStreamReader、JDBC等)各环节显式指定UTF-8。
-
当使用Stream处理Class<?>集合并调用asSubclass()时,因类型推断限制导致编译失败(如Eclipse编译器误判),可通过显式类型投影或安全转换解决,而非依赖运行时行为。
-
Collector.toList()不保证返回可变列表,JDK9+可能返回不可变视图,调用add/remove会抛UnsupportedOperationException;需可变时应显式使用newArrayList<>(...)或Collectors.toCollection(ArrayList::new)。
-
读取.xlsx文件必须用XSSFWorkbook而非HSSFWorkbook;getCell()返回null需先判空再取值;中文乱码、日期变数字、公式不计算分别需指定Locale、用DateUtil判断、主动求值;大文件应改用StreamingReader或SAX模式。
-
如何用Java解析netCDF气象数据?1.使用NetCDF-Java库读取文件,通过Maven添加依赖并打开文件查看变量;2.解析多维数组时注意维度顺序和切片读取方式;3.可导出为CSV等格式进行后续分析。代码示例展示了如何读取变量、获取维度信息及提取子集数据,同时需注意路径、内存管理和依赖冲突等问题。
-
Java7+multi-catch语法为catch(E1|E2e),要求异常类型互不兼容,变量e为最近公共父类类型且final;等价于多个相同逻辑的单catch,但禁止后续宽泛catch重复捕获。
-
推荐使用Java内置的HttpClient实现HTTP/2,其次可选Netty或Jetty。1.使用Java11及以上版本的java.net.http.HttpClient,它原生支持HTTP/2,默认尝试使用HTTP/2并优雅回退至HTTP/1.1,适合无需额外依赖的客户端场景;2.使用Netty适用于需要高性能、底层控制和自定义的客户端与服务器端开发,其提供了完整的HTTP/2协议栈实现;3.使用Jetty适合嵌入式Web服务器场景,它良好支持HTTP/2并与ServletAPI集成,便于现有应用平滑
-
答案:Java中布尔类型用boolean声明,值为true或false,变量名建议使用is、can、has等谓词形式提升可读性;布尔表达式应直接使用,避免与true/false显式比较;逻辑运算符&&、||、!用于组合条件,且&&和||具有短路特性;返回boolean的方法应命名清晰,如isValid、containsValue等,以增强代码可理解性。
-
高精度计时应选System.nanoTime();它提供纳秒级单调时间,不受系统时钟调整影响,适合性能压测和算法耗时对比,而System.currentTimeMillis()仅适用于表示当前时刻,精度低且易受NTP同步干扰。
-
synchronized通过monitorenter/monitorexit指令实现,锁信息存于对象头MarkWord;ReentrantLock依赖AQS和Unsafe的CAS/park等native方法,字节码仅体现为普通方法调用。
-
Java数据同步需分层设计,涵盖写后同步、读时补偿、定时增量三种模式;链路须包含变更捕获、传输通道、同步执行、状态监控四环节;通过唯一标识、SAGA事务、定期校验保障一致性。
-
Java采用块作用域,变量仅在声明它的{}内可见;同名变量在嵌套块中会遮蔽外层变量,此时需用this.或类名前缀访问被遮蔽的成员。