-
使用Maven或Gradle自动管理依赖可提升Java开发效率,如在pom.xml添加ApacheCommonsLang3依赖,IDE自动下载配置;手动添加JAR包适用于小型项目,在IntelliJIDEA中通过ModuleSettings导入,在Eclipse中通过BuildPath添加;建议统一版本管理、定期查看依赖树、避免混合引入方式以减少冲突;常见问题包括类找不到、版本冲突等,可通过检查类路径、依赖分析和清理缓存解决;合理使用构建工具并规范依赖管理是关键。
-
安装OpenJDK并配置环境变量即可完成MacOSJava环境搭建。首先从Adoptium官网下载适合Mac的.pkg安装包,如temurin-17-jdk,双击按提示安装至默认路径/Library/Java/JavaVirtualMachines/。随后在终端执行java-version和javac-version验证JDK与编译器是否可用。接着通过/usr/libexec/java_home-V确认安装路径,并编辑~/.zshrc文件添加exportJAVA_HOME=$(/usr/libexec/j
-
Collectors是Stream的终端收集器,用于将流结果规整装入指定容器;必须配合collect()使用,提供toList、groupingBy、joining、toMap等模板,需注意key冲突处理、下游收集器嵌套规则及返回集合的可变性与线程安全性。
-
Java注解本身不执行逻辑,其“生效”依赖@Retention策略及配套处理机制:SOURCE级由编译器检查,CLASS级供字节码工具织入,RUNTIME级通过反射读取;Spring等框架需扫描与代理等显式支撑。
-
EclipseJava开发需确保JDK路径正确、工作空间权限充足、项目构建路径未被篡改;须手动配置JDK17.0.1+为默认JRE,新建项目时指定该JRE,检查BuildPath中Modulepath和Classpath完整性,并验证编译级别与JDK版本一致。
-
Java线程池有4种内置拒绝策略:1.AbortPolicy抛异常,适用于支付等关键业务;2.CallerRunsPolicy由调用线程执行,实现降速,适合非实时任务;3.DiscardPolicy静默丢弃,用于可丢失任务;4.DiscardOldestPolicy丢弃最老任务,适用于新数据价值更高的场景。
-
当图标与JAR包一同分发时,应使用类路径资源加载方式(如getClass().getResource()),而非硬编码文件系统路径,以确保程序可移植、可打包部署。
-
Java项目中文乱码源于源文件读取、编译、JVM运行、IDE显示、构建工具五环节编码不统一;需统一设为UTF-8:源码保存为UTF-8无BOM,IDE全局/项目编码设UTF-8,javac加-encodingUTF-8,JVM启动加-Dfile.encoding=UTF-8,构建部署环境同步配置。
-
不该。Java中用异常控制业务流程会模糊错误语义、降低性能、增加理解成本;仅当发生真正意外(如连接断开)或违反契约(如传null)时才用异常,其余应使用Result等明确返回类型封装状态。
-
判断字符串是否为空或仅含空白字符:Java11+用isBlank(),Java8及以前需null检查后trim().isEmpty();substring()在Java7u6后改为复制数组防内存泄漏,Java9起优化为O(1);split()默认丢弃末尾空串,可用负limit保留;拼接优先用String.join()或StringBuilder,避免循环中用+。
-
URL类不能直接解析域名和端口,仅做语法校验与结构封装;getHost()和getPort()提取显式指定的主机与端口,不补默认值、不验证可达性;需用URI处理相对路径、标准化及安全哈希。
-
优先用Integer.valueOf()(返回缓存Integer对象)而非parseInt(返回基本int);parseDouble有宽松解析隐患;BigDecimal必须用字符串构造避免精度丢失。
-
首先检查java.io.tmpdir系统属性指向的临时目录是否存在且可写,通过System.getProperty("java.io.tmpdir")确认路径有效性;若路径无效或权限不足,需在启动时用-Djava.io.tmpdir指定有效目录,并确保该目录具备读写权限;其次验证操作系统默认临时目录(Windows为C:\Windows\Temp或用户Temp,Linux/macOS为/tmp)是否存在且权限正确,Linux下应为1777权限,可通过sudochmod1777/tmp修复;同时检查Wind
-
Path和Files比File更适合现代Java文件操作,因Path专注路径语义(标准化、解析、跨平台),Files提供原子、可中断、异常明确的I/O操作,共同解决File路径耦合、异常模糊、跨平台缺陷等问题。
-
选择ConcurrentHashMap因它采用分段锁或CAS+synchronized机制,支持高并发读写,避免全局锁性能瓶颈,适用于频繁增删改查的统计场景。