Java一阶段面试重点:集合、线程池与字符串解析

需积分: 24 4 下载量 37 浏览量 更新于2024-07-18 收藏 41KB DOCX 举报
"Java基础面试题,涵盖集合、基本类型、位运算、线程池以及字符串相关知识。" 在Java编程中,掌握基础知识是至关重要的,尤其是对于面试来说。以下是一些关键点的详细说明: 1. **集合框架**: - **Collection**:这是所有单值容器的根接口,分为List和Set两个子类。 - **List**:有序,允许重复元素,有索引。常见的实现有ArrayList(快速随机访问)和LinkedList(插入删除高效)。 - **Set**:无序,不允许重复元素,无索引。例如HashSet和SortedSet(如TreeSet,保持元素排序)。 2. **数据类型**: - Java有八种基本数据类型,包括:byte、boolean、short、char、int、float、long、double。它们的内存占用分别为1、1、2、4、4、8、8、8字节。 3. **逻辑运算符**: - **&**:按位与,无论两侧表达式结果如何,都会计算两边。 - **&&**:短路与,如果左侧表达式为false,右侧不会被执行,节省计算资源。 4. **位移运算**: - 左移操作符`<<`可用于快速扩大数字。例如,一个数左移3位相当于乘以2的3次方,即扩大8倍。 5. **Collection子接口**: - List和Set是Collection的子接口。List接口的实现类包括ArrayList和LinkedList,Set接口的实现类有HashSet和SortedSet。 6. **线程池原理**: - 线程池通过控制线程数量和任务调度来优化系统资源。当有新任务提交时,它会检查核心线程、工作队列和活动线程,根据策略决定是否创建新线程或使用饱和策略处理任务。 7. **String对象的创建**: - 当使用`Strings = new String("abc");`创建字符串时,会创建两个对象:一个在常量池,一个在堆内存。 8. **StringBuilder和StringBuffer**: - 这两者用于字符串拼接,主要区别在于线程安全性和效率。StringBuffer是线程安全的,适合多线程环境;StringBuilder则没有线程安全机制,但在单线程环境下性能优于StringBuffer。 这些知识点是Java初学者必须掌握的基础内容,对于面试和日常编程都非常实用。深入理解并能灵活运用这些概念,将有助于提升你的编程能力和解决问题的能力。