Java面试精华:基础、并发与数据结构详解

需积分: 0 5 下载量 111 浏览量 更新于2024-12-02 收藏 163KB DOC 举报
在Java面试中,考察的基础知识和技术点广泛且深入。以下是一些关键知识点的详细解释: 1. **Java作用域**: - Java提供了四种访问修饰符:public、protected、default(即不写,相当于friendly)和private。它们决定了类成员的可见性和访问范围。 - `public`:可被任何类访问,包括其他包内的类。 - `protected`:在同一包内和继承该类的子类中可访问。 - `default`(friendly):仅限于同一包内的其他类访问。 - `private`:仅限于本类内部访问。 2. **ArrayList和Vector的区别**: - **线程安全性**:Vector是线程安全的,适合多线程环境,但效率较低;ArrayList是非线程安全的,但性能较好。 - **动态扩展**:当Vector增长时,默认增加容量的两倍;ArrayList则是增长到原来的50%。 3. **HashMap和Hashtable的区别**: - **历史背景**:Hashtable是早期版本中的Map实现,而HashMap是Java 1.2引入的新特性。 - **线程安全**:Hashtable同步,可能导致性能瓶颈;HashMap非同步,更适合并发场景。 - **null值处理**:HashMap允许key和value为null,而Hashtable不允许。 4. **char类型和中文字符**: - char类型可以存储中文汉字,因为Java使用Unicode编码,每个char占用16个字节,足以存储一个汉字。 5. **多线程实现**: - Java中多线程有两种常见实现方式:通过继承Thread类或实现Runnable接口创建线程。 6. **同步机制**: - 同步主要有两种方法:`synchronized`关键字用于控制代码块或方法的互斥访问,`wait()`和`notify()`方法用于线程间的协作。 7. **类的继承顺序**: - 继承时,子类会先执行父类的构造函数,然后再执行自己的构造函数。如果遇到选择题,通常会测试这两个阶段的执行顺序。 这些知识点是Java面试中常见的考察点,掌握它们对于理解Java编程语言的关键特性和实践应用至关重要。在准备面试时,不仅需要扎实的理论知识,还需要对这些概念有深入的理解和实践经验。