Java面试必备:基础笔试题与SSH重点

5星 · 超过95%的资源 需积分: 34 12 下载量 157 浏览量 更新于2024-09-20 收藏 819KB DOC 举报
"Java技术支持面试题,主要涵盖了Java基础、SSH框架及常见面试知识点,适合应届毕业生准备面试使用。" 本文将详细解析这些面试题目,帮助求职者更好地理解和准备Java技术面试。 一、Java基础 1. 面向对象的特征包括封装、继承和多态。封装使得数据和操作数据的方法紧密结合,隐藏内部实现细节;继承允许子类继承父类的属性和方法,减少代码重复;多态则提供了多种形态的能力,使程序更具灵活性。 2. String不是Java的基本数据类型,而是类。Java中的基本数据类型包括int、char、boolean等。 3. int是基本数据类型,而Integer是int的包装类,两者之间有自动装箱和拆箱的过程。Integer对象支持更多的方法,如compareTo(),但占用内存空间更大。 4. String是不可变对象,每次修改都会生成新的对象;StringBuffer是可变对象,修改时不会创建新对象,适合大量字符串拼接操作。 5. 运行时异常是程序运行时可能抛出的异常,而一般异常在编译阶段就会检查。两者都需捕获处理,但运行时异常可以不声明,一般异常必须声明。 6. ArrayList、Vector和LinkedList都是List接口的实现。ArrayList基于数组,效率高但插入删除慢;Vector线程安全,但性能较低;LinkedList使用链表结构,插入删除快,但查找慢。 7. Collection是所有集合接口的父接口,Collections是工具类,提供各种集合操作的静态方法。 8. "&"是位运算符,"&"两边的操作数都会被执行;"&&"是逻辑与,只有当左边表达式为真时才会执行右边的表达式。 9. HashMap非线程安全,允许null键和值;Hashtable线程安全,不允许null键和值。 10. final用于声明常量,final方法不可重写,finally确保代码块内的语句一定会被执行,finalize是垃圾回收前调用的对象清理方法。 11. Overload是重载,方法名相同但参数列表不同;Override是重写,子类方法覆盖父类方法。重载方法不能改变返回类型。 12. error表示严重错误,无法恢复;exception是可处理的异常,可以通过try-catch处理。 13. 同步和异步主要指多线程环境下的并发控制。同步确保同一时间只有一个线程执行,如synchronized;异步允许多个线程并发执行。根据任务性质选择,如数据交互通常使用异步,资源竞争则使用同步。 14. abstract class可以包含方法实现,而interface只能声明方法,不能有实现。接口更强调契约,抽象类更注重部分实现。 15. 栈用于存储局部变量和方法调用,堆用于存储对象实例。栈内存小速度快,堆内存大但速度相对较慢。 16. GC(Garbage Collection)是Java的自动内存管理机制,回收不再使用的对象,防止内存泄漏。 17. shorts1 = 1; s1 = s1 + 1; 错误在于短整型溢出,需要类型提升;s1 += 1; 是正确的,因为会自动转换为int进行计算。 18. Math.round(11.5)等于12,Math.round(-11.5)等于-11。round()方法四舍五入到最接近的整数。 19. Strings = new String("xyz"); 创建了两个String对象,一个在常量池,一个在堆。直接赋值字符串字面量则只创建一个。 20. Java没有goto语句,它不符合面向对象编程的原则。 21. 接口可以继承接口;抽象类可以实现接口,但不能继承实体类。 22. List、Set和Map都是集合框架的一部分,但它们不直接继承Collection接口。List继承自Iterable,Set继承自Collection,Map则独立于这两者。 23. abstract method不能同时是static,因为静态方法属于类而不属于实例;也不能是native,因为native方法与本地方法库相关联;不能是synchronized,因为抽象方法没有具体实现。 24. 数组有length字段,但无length()方法;String有length()方法,返回字符串长度。 25. 判断Set中元素是否重复通常使用equals()方法,而非==,因为equals考虑对象内容是否相等,而==比较引用是否相同。 26. 构造器不能被override,但可以重载。String类是final的,不能被继承。 27. switch可以作用在byte、char、short、int以及枚举类型和String(Java 7及以上版本)上。 28. ... (这部分内容未给出,省略) 以上是Java基础部分的一些常见面试题,理解并掌握这些知识点对于通过Java技术面试至关重要。对于SSH框架部分,通常会涉及Spring、Struts和Hibernate的相关概念、配置和使用场景,例如依赖注入、事务管理、模型-视图-控制器(MVC)设计模式等,需要进一步学习和准备。