Java面试必备:基础题集
需积分: 1 182 浏览量
更新于2024-09-11
收藏 62KB DOC 举报
"大公司的Java面试题集,包含了基础的Java知识,如final、finally、finalize的区别,匿名内部类的特性,静态嵌套类与内部类的差异,以及HashMap与Hashtable、Collection与Collections的区别等。"
在Java编程中,这些知识点是面试时常见的考察点,对于理解Java的核心机制至关重要:
1. **final, finally, finalize的区别**:
- `final` 是一个关键字,用于声明变量、方法或类为不可变。一旦声明为final,就不能改变其值或重写。
- `finally` 用于异常处理,确保代码块在任何情况下都会被执行,无论是否抛出异常。
- `finalize` 是一个方法,属于Object类,用于在对象被垃圾收集器回收之前进行清理工作,但这不是保证执行的。
2. **AnonymousInnerClass(匿名内部类)**:
- 匿名内部类可以直接继承一个类或实现一个或多个接口。它没有类名,通常用于简洁地定义回调函数或实现简单接口。
3. **StaticNestedClass和Inner Class**:
- 静态嵌套类(Static Nested Class)是静态成员类,可以独立于外部类实例存在,可以访问外部类的静态成员,但不能直接访问非静态成员。
- 内部类(Inner Class)是与外部类实例紧密关联的类,需要外部类实例才能创建,可以访问外部类的所有成员。
4. **& 和 && 的区别**:
- `&` 是位运算符,用于按位与操作,而在逻辑表达式中,它也会进行短路操作,但始终会计算两边的表达式。
- `&&` 是逻辑与运算符,它也进行短路操作,如果第一个表达式为假,就不会计算第二个表达式。
5. **HashMap和Hashtable的区别**:
- HashMap是非同步的,性能更好,允许null键和null值。
- Hashtable是同步的,线程安全,不允许null键和null值。
6. **Collection和Collections的区别**:
- Collection是一个接口,它是所有集合类的父接口,代表单个元素的集合。
- Collections是工具类,提供了对集合的各种操作方法,如排序、查找、填充等。
7. **assert的使用**:
- `assert` 用于在开发阶段进行断言,检查程序状态,当条件为假时抛出AssertionError,便于调试。
8. **GC(Garbage Collector)**:
- GC是Java的自动内存管理机制,负责回收不再使用的对象,防止内存泄漏。
9. **Strings=newString("xyz");创建了几个StringObject?**:
- 这将创建两个对象,一个在常量池,一个在堆中。
10. **Math.round(11.5)和Math.round(-11.5)的结果**:
- Math.round(11.5) 返回 12,Math.round(-11.5) 返回 -11。
11. **short s1=1; s1=s1+1; 和 s1+=1; 的区别**:
- 第一行会导致编译错误,因为s1+1的结果是int类型,无法直接赋值给short类型的s1。
- 第二行是合法的,因为s1+=1是复合赋值操作,会自动转换类型并赋值。
12. **sleep()和wait()的区别**:
- `sleep()` 是Thread类的方法,使当前线程暂停执行指定时间,不会释放锁。
- `wait()` 是Object类的方法,使线程等待,释放当前持有的锁,直到被notify()或notifyAll()唤醒。
13. **Java中的"..."(省略号)**:
- 在Java中,省略号用于多种场景,如数组初始化、varargs参数、for-each循环等,具体含义取决于上下文。
以上只是部分Java面试中常见的知识点,实际上,面试可能还会涉及多线程、IO流、设计模式、JVM内存模型、异常处理、网络编程等多个领域。掌握这些基础并深入理解,将有助于在面试中脱颖而出。
2011-04-27 上传
2021-09-14 上传
2023-02-13 上传
2023-12-06 上传
2023-09-02 上传
2023-09-02 上传
2024-06-17 上传
2023-09-05 上传
2023-11-03 上传
weixin_41428206
- 粉丝: 0
- 资源: 3
最新资源
- 前端面试必问:真实项目经验大揭秘
- 永磁同步电机二阶自抗扰神经网络控制技术与实践
- 基于HAL库的LoRa通讯与SHT30温湿度测量项目
- avaWeb-mast推荐系统开发实战指南
- 慧鱼SolidWorks零件模型库:设计与创新的强大工具
- MATLAB实现稀疏傅里叶变换(SFFT)代码及测试
- ChatGPT联网模式亮相,体验智能压缩技术.zip
- 掌握进程保护的HOOK API技术
- 基于.Net的日用品网站开发:设计、实现与分析
- MyBatis-Spring 1.3.2版本下载指南
- 开源全能媒体播放器:小戴媒体播放器2 5.1-3
- 华为eNSP参考文档:DHCP与VRP操作指南
- SpringMyBatis实现疫苗接种预约系统
- VHDL实现倒车雷达系统源码免费提供
- 掌握软件测评师考试要点:历年真题解析
- 轻松下载微信视频号内容的新工具介绍