Java面试必备:理论题100问解析
需积分: 1 160 浏览量
更新于2024-08-04
收藏 323KB PDF 举报
"Java经典理论面试100题包含了Java编程基础、集合框架、多态、异常处理、排序算法、Servlet、JSP、内存管理等多个方面的面试知识点,适合准备Java面试的大学生和初学者学习。"
1. 常用的类包括:ArrayList、LinkedList、HashMap、HashSet、String等;包有:java.util、java.io、java.lang、java.net、java.awt等;接口如:Comparable、Iterable、List、Map、Set。
2. List接口存储有序的元素,允许重复,支持索引访问;Map接口存储键值对,不允许重复键,通过键来存取元素;Set接口存储不重复元素,无序,不支持索引访问。
3. 能跳出多重嵌套循环的关键字是`break`。
4. 不可以从一个static方法内部直接调用实例方法,因为static方法属于类,不依赖于类的实例。
5. 静态变量属于类,随着类的加载而存在,随着类的卸载而消失,所有实例共享;实例变量属于对象,每个对象有自己的副本。
6. List常用API:add(), remove(), get(), size(), set();Map:put(), get(), remove(), entrySet(), keySet(); Set:add(), remove(), isEmpty(), size(), contains()。
7. Java序列化是将对象转换为字节流的过程,实现方式是实现Serializable接口。
8. 实现多态的条件:继承或实现接口,方法的覆盖/重写,父类引用指向子类对象。
9. Final修饰类表示不可被继承,方法表示不可被覆盖,变量表示常量,一旦赋值不可更改。
10. 抽象类可以有抽象方法和非抽象方法,不能实例化;接口只有抽象方法,没有实现,可以多继承。
11. 字节流处理单字节数据,如FileInputStream;字符流处理Unicode字符,如FileReader,更适合文本操作。
12. 一个.java源文件可以包含多个类,但只能有一个公共类(public class),且文件名必须与公共类名相同。
13. 异常处理结构:try-catch-finally,throws用于声明可能会抛出的异常,throw用于抛出异常,try块中可以抛出异常。
14. 常见排序算法:冒泡排序、选择排序、插入排序、快速排序、归并排序。
15. Servlet生命周期包括加载、初始化、服务、销毁四个阶段。
16. 垃圾回收自动释放不再使用的内存,减少内存泄露,其原理包括可达性分析和标记清除等算法。
17. JSP中的<%=%>用于输出变量值,<%!%>定义脚本元素,<%%>包含JSP指令和脚本。
18. 404错误是资源未找到,检查URL是否正确;500错误是服务器内部错误,检查服务器日志并修复代码。
19. 转发(forward)在服务器端完成,客户端无感知,维持一次HTTP请求;重定向(redirect)是客户端重新发起请求,地址栏会显示新URL。
20. HashMap非线程安全,允许null键值对,遍历顺序不确定;Hashtable线程安全,不允许null键值对,遍历顺序与插入顺序无关。
21. int是基本数据类型,Integer是int的包装类,可以进行对象操作,如null值、自动装箱拆箱。
22. 基本数据类型包括:byte、short、int、long、float、double、char、boolean;引用类型包括类、接口、数组。
23. String类的常见API:length(), equals(), substring(), replace(), concat()。
24. 面向对象编程的特征:封装、继承、多态。
25. String不可变,线程安全;StringBuffer可变,适用于多线程环境。
26. final修饰的变量不可变,finally保证代码块总会执行,finalize是对象被垃圾回收前调用的方法。
27. char可以存储一个中文汉字,因为UTF-16编码中一个中文汉字占两个字节。
28. ArrayList线程不安全,基于动态数组,插入删除效率低;Vector线程安全,但性能较低。
29. 定义float f = 3.14是不正确的,因为3.14是double类型,需要强制转换为float,如(float)3.14或写成3.14F。
30. switch不能作用在byte上(Java 7之前不行,7及以后版本可以),不能作用在long和String上(Java 7及以后版本可以对String使用switch)。
31. 对于"switch(expression)",expression的结果必须是byte、char、short、int、枚举或String(Java 7及以上)。
2021-09-30 上传
2021-09-26 上传
2019-07-15 上传
2023-03-15 上传
2021-07-30 上传
2022-01-11 上传

Miracle_PHP|JAVA|安全
- 粉丝: 1w+
- 资源: 60
最新资源
- Material Design 示例:展示Android材料设计的应用
- 农产品供销服务系统设计与实现
- Java实现两个数字相加的基本代码示例
- Delphi代码生成器:模板引擎与数据库实体类
- 三菱PLC控制四台电机启动程序解析
- SSM+Vue智能停车场管理系统的实现与源码分析
- Java帮助系统代码实现与解析
- 开发台:自由职业者专用的MEAN堆栈客户端管理工具
- SSM+Vue房屋租赁系统开发实战(含源码与教程)
- Java实现最大公约数与最小公倍数算法
- 构建模块化AngularJS应用的四边形工具
- SSM+Vue抗疫医疗销售平台源码教程
- 掌握Spring Expression Language及其应用
- 20页可爱卡通手绘儿童旅游相册PPT模板
- JavaWebWidget框架:简化Web应用开发
- 深入探讨Spring Boot框架与其他组件的集成应用