Java面试必备:final,finally,finalize解析与笔试题集锦
下载需积分: 9 | DOC格式 | 298KB |
更新于2024-07-20
| 21 浏览量 | 举报
"Java面试和笔试题集合,涵盖了final、finally、finalize的使用区别,匿名内部类的继承和实现,静态嵌套类与内部类的差异,逻辑运算符&和&&的区别,HashMap与Hashtable的区别,Collection与Collections的区别,assert的使用场景,垃圾回收(GC)的概念及其与finalize的关系,以及Math.round()方法的使用示例。"
1. **final, finally, finalize的区别**:
- `final` 是一个修饰符,用于声明不可变的类、变量或方法。当一个类被声明为final,它不能有子类。变量声明为final后,其值无法改变。
- `finally` 在异常处理中扮演关键角色,无论是否发生异常,finally块中的代码总会被执行,确保清理操作得以完成。
- `finalize` 是一个在Object类中定义的方法,用于在对象被垃圾收集器清除前执行特定清理工作。但不应依赖此方法进行资源释放,因为垃圾收集时机不确定。
2. **匿名内部类**:
- 匿名内部类可以直接继承一个类或实现一个或多个接口,但它们没有名称,通常用在需要简洁实现且仅使用一次的场合。
3. **StaticNestedClass与Inner Class**:
- 内部类(Inner Class)是嵌套在另一个类内部的类,它可以访问外部类的所有成员,包括私有成员。而静态嵌套类(Static Nested Class)像普通静态成员一样,不持有对外部类的引用,除非显式引用。
4. **& 和 && 的区别**:
- `&` 是按位与运算符,而在布尔表达式中,它也用于逻辑与,无论两边表达式如何,都会计算两边。
- `&&` 是短路与运算符,如果左侧表达式为假,右侧表达式不会被计算,这可以避免不必要的计算和潜在的异常。
5. **HashMap与Hashtable的区别**:
- HashMap是非同步的,而Hashtable是线程安全的。
- HashMap允许null键和值,而Hashtable不允许。
- HashMap使用了迭代器(Iterator),而Hashtable使用了Enumeration。
6. **Collection与Collections的区别**:
- Collection 是所有集合框架接口的根接口,代表一组元素集合。
- Collections 是一个工具类,提供了一系列静态方法,用于对各种集合进行操作,如排序、搜索、填充等。
7. **assert的使用**:
- assert 用于在开发阶段进行断言,检查程序的某些假设是否正确。在生产环境中默认关闭,可以通过 `-ea` 参数开启。
8. **GC(垃圾回收)**:
- 垃圾回收是Java自动管理内存的过程,负责回收不再使用的对象,以避免内存泄漏。`System.gc()` 可以手动触发垃圾回收,但不推荐,因为其性能影响和回收时机的不确定性。
- 在垃圾回收前,Java会尝试调用对象的 `finalize()` 方法。
9. **Strings=new String("xyz"); 创建了多少个String Object?**
- 创建了两个String对象,一个在常量池,一个在堆中,因为字符串字面量 "xyz" 存在于常量池,而 `new String("xyz")` 会在堆上创建一个新的对象。
10. **Math.round(11.5) 和 Math.round(-11.5)的结果**:
- `Math.round(11.5)` 返回 12,因为round方法会四舍五入到最接近的整数。
- `Math.round(-11.5)` 返回 -11,同样遵循四舍五入规则,但负数会朝向更小的整数方向四舍五入。
相关推荐
whanhj
- 粉丝: 1
最新资源
- IMS:IP多媒体子系统详解与应用
- Hibernate: O/R Mapping框架详解与实践
- 程序员视角:深度剖析计算机系统工作机制
- Linux下GCC中文手册:详解C/C++编译器与选项
- Java Web框架Wicket深度解析
- 侯捷解读:系统重构的艺术与风险
- Directshow流媒体客户端FilterGraph动态重构技术研究
- 精通C# 2008中的LINQ:语言集成查询
- 编程规范与最佳实践指南
- Panorama系统程序开发规范详解
- 软件编程规范:排版与代码整洁
- 预测PI控制系统根轨迹分析及其稳定性
- 阎石《数字电子技术》第四版习题详解:二进制与十六进制转换及逻辑函数简化
- VC6.0计算器程序源代码示例
- Linux嵌入式系统移植:从u-boot到 BusyBox
- 链接与加载器详解:Linux论坛译作