Java一阶段面试重点:集合、线程池与字符串解析
需积分: 24 39 浏览量
更新于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初学者必须掌握的基础内容,对于面试和日常编程都非常实用。深入理解并能灵活运用这些概念,将有助于提升你的编程能力和解决问题的能力。
2020-12-05 上传
2018-10-30 上传
2024-04-22 上传
2022-06-11 上传
2018-11-05 上传
2021-09-13 上传
2010-11-26 上传