"Java面试题整理,包含了最新的面试知识点,涉及JAVA基础、JVM、HashMap、多线程等核心领域。" 1. **Java基础** - `float f = 3.4` 是正确的,Java允许浮点数的直接赋值。 - 面向对象思想是程序设计的一种方式,它将现实世界中的事物抽象为对象,通过对象之间的交互完成任务。 - `short s1 = 1; s1 = s1 + 1;` 是错误的,因为这会导致类型提升,需要显式转换。而 `s1 += 1` 是正确的,编译器会自动处理类型转换。 - `==` 比较的是对象的引用,而 `equals()` 比较的是对象的内容。 - 对于两个Integer引用对象的swap,仅交换引用不会改变原始对象的值,需要使用临时变量或者使用`Collections.swap()`方法。 - Java没有 `goto` 关键字。 - `int` 是基本数据类型,直接存储值;`Integer` 是 `int` 的包装类,存储对象引用,可以为null。 - `&` 是按位与,无论条件真假都会执行后续操作;`&&` 是逻辑与,只有当第一个条件为真时才会执行后续条件。 2. **内存管理** - 栈:存储局部变量、函数参数、方法返回地址,线程私有,内存小,速度快。 - 堆:存储所有对象实例,内存大,速度慢,多线程共享。 - 静态存储区:存放静态变量、常量、静态类成员,全局初始化变量,程序启动时分配,程序结束时释放。 3. **数学运算** - `Math.round(11.5)` 等于 12,`Math.round(-11.5)` 等于 -11。 4. **语言特性** - `switch` 可以作用在 `byte`、`char`、`short`、`int` 和枚举类型上,Java 7 开始支持 `String`。 5. **方法和类** - 数组的 `length` 是属性而不是方法,`String` 有 `length()` 方法。 - 使用 `break`、`return` 或者标签(`label:`)可以跳出多重嵌套循环。 - 构造器不能被重写,但可以重载。 - 如果两个对象的值相等,但它们的 `hashCode()` 不同,这是允许的,因为 `hashCode()` 只是一种优化查找的手段。 - Java中是值传递,但对象的引用是值传递的,所以可以改变对象的属性。 - `StringBuilder` 和 `StringBuffer` 都用于字符串拼接,前者非线程安全,后者线程安全。 - 重载发生在同一类中,方法名相同但参数列表不同;重写发生在子类中,方法名、返回类型和参数列表必须与父类方法一致。 - `char` 类型可以存储单个Unicode字符,包括中文汉字。 6. **抽象类与接口** - 抽象类可以包含抽象方法和非抽象方法,可以有构造器;接口只包含抽象方法,不能有方法实现。 - 接口可以继承接口,抽象类可以实现接口,但抽象类不能继承具体类。 7. **静态与非静态** - 静态变量属于类,非静态变量属于对象。 - 不能从静态方法内部直接调用非静态方法,因为静态方法在类加载时就存在,而非静态方法依赖于对象。 8. **克隆** - 实现 `Cloneable` 接口并覆盖 `clone()` 方法可以实现对象克隆。 9. **源文件与类** - 一个 `.java` 文件只能有一个公共类(`public class`),但可以有多个非公共类(内部类除外)。 这些知识点涵盖了Java面试中的常见问题,对于准备面试和提高编程技能非常有帮助。
剩余11页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++多态实现机制详解:虚函数与早期绑定
- Java多线程与异常处理详解
- 校园导游系统:无向图实现最短路径探索
- SQL2005彻底删除指南:避免重装失败
- GTD时间管理法:提升效率与组织生活的关键
- Python进制转换全攻略:从10进制到16进制
- 商丘物流业区位优势探究:发展战略与机遇
- C语言实训:简单计算器程序设计
- Oracle SQL命令大全:用户管理、权限操作与查询
- Struts2配置详解与示例
- C#编程规范与最佳实践
- C语言面试常见问题解析
- 超声波测距技术详解:电路与程序设计
- 反激开关电源设计:UC3844与TL431优化稳压
- Cisco路由器配置全攻略
- SQLServer 2005 CTE递归教程:创建员工层级结构