Java笔试常见问题及答案概览

需积分: 10 3 下载量 149 浏览量 更新于2024-08-02 收藏 66KB DOC 举报
在应聘Java笔试过程中,面试者可能会遇到各种技术难题,这篇文档提供了关于Java基础问题的一些可能的面试题目及其简要答案。首先,它讨论了Java中作用域的关键概念,包括`public`、`private`、`protected`和默认的`friend`(通常理解为`default`或无访问修饰符)。作用域的访问权限范围如下: 1. `public`: 可被所有类和包中的对象访问。 2. `protected`: 在当前类及其子类和同一包中的类中可见。 3. `private`: 只在当前类内部可见,不允许外部访问。 4. 默认(未写明): 类内部的成员默认为`private`,除非明确指定其他访问修饰符。 接下来,文档提到了`ArrayList`和`Vector`之间的区别,重点在于线程安全性和数据增长策略: - `Vector`是线程安全的(synchronized),每次增长时容量会翻倍; - `ArrayList`是非线程安全的,容量增长通常是原来的一半。 对于`HashMap`和`Hashtable`,两者都是映射类型,但有以下差异: - 历史背景:`Hashtable`基于旧版`Dictionary`,而`HashMap`是Java 1.2后引入的。 - 线程安全性:`Hashtable`同步,`HashMap`非同步。 - 值的处理:`HashMap`允许空值作为键或值,而`Hashtable`不允许。 面试者还可能被问及`char`类型的存储能力,虽然单个`char`只占用16个字节,但Java使用Unicode编码,因此可以存储一个中文字符。 文档还提及了多线程的两种实现方式:继承`Thread`类或实现`Runnable`接口。至于同步的实现,除了使用内置的`synchronized`关键字,还有使用`java.util.concurrent`包下的并发工具类,如`Semaphore`、`Lock`等。 这份文档提供了一定的面试准备参考,但它强调了答案可能存在不完整或错误,鼓励读者共同参与问题的收集、整理和验证。对于想要在Java笔试中取得好成绩的人来说,这是一份有价值的参考资料,但实际面试中仍需不断学习和巩固知识。