活动介绍

java高级面试题汇总

preview
需积分: 0 2 下载量 98 浏览量 更新于2023-07-19 收藏 13KB DOCX 举报
Java高级面试题汇总 本资源摘要信息中,我们将对 Java 高级面试题进行总结和分析,涵盖了 Java 面试题的方方面面,从数据类型转换到框架选择,从线程池状态到 Java 8 的元空间替换,从跳出多重循环到 JSON 对象解析,从 Comparable 和 Comparator 的区别到 SynchronizedMap。 1. 数据类型转换: Java 中有多种数据类型转换方式,例如将字符串转换为基本数据类型,可以使用基本数据类型对应的包装类中的方法 parseXXX(String) 或 valueOf(String);将基本数据类型转换为字符串,可以使用 String 类中的 valueOf() 方法或将基本数据类型与空字符串(”“)连接(+)。 2. 框架选择: 框架的好处在于组件化、天然分层、生态和开发效率。组件化使得工程易于维护和组合拓展,天然分层使得代码解耦更易于读写,生态带来了成熟的解决方案,开发效率提高了开发者的工作效率。 3. 线程池状态: 线程池有五种状态:RUNNING、SHUTDOWN、STOP、TIDYING 和 TERMINATED。RUNNING 状态接受新的任务提交,SHUTDOWN 状态不接受新的任务提交,但是会继续处理等待队列中的任务,STOP 状态不接受新的任务提交,不再处理等待队列中的任务,TIDYING 状态所有任务都销毁了,workCount 为 0,TERMINATED 状态 terminated() 方法结束后。 4. 元空间替换: Java 8 将永久代(PermGen)替换为元空间(MetaSpace),因为永久代有 JVM 本身设置固定大小上限,无法进行调整,而元空间使用的是直接内存,受本机可用内存的限制,并且永远不会出现 java.lang.OutOfMemoryError。 5. 跳出多重循环: 在 Java 中,可以使用带标签的 break 语句跳出多重循环,例如在最外层循环前加一个标记 A,然后用 break A;。 6. JSON 对象解析: 可以使用 json-lib、gson、jackson 等库解析 JSON 对象,需要将 JSON 对象转换成一个 Java 对象,然后使用 Java 对象访问属性。 7. Comparable 和 Comparator 的区别: Comparable 接口有一个 compareTo(Object obj) 方法用来排序,Comparator 接口有一个 compare(Object obj1, Object obj2) 方法用来排序。一般来说,我们需要对一个集合使用自定义排序时,我们就要重写 compareTo 方法或 compare 方法。 8. SynchronizedMap: SynchronizedMap 是一个线程安全的 Map 实现,它可以在多线程环境中使用,提供了同步访问 Map 的机制。 本资源摘要信息涵盖了 Java 高级面试题的多个方面,为 Java 开发者提供了全面和详细的知识点总结。
身份认证 购VIP最低享 7 折!
30元优惠券