【Java面试】知识点详解 1. **运行时异常与一般异常**:运行时异常是程序在执行过程中可能出现的错误,如空指针异常(NullPointerException)、数组下标越界异常(ArrayIndexOutOfBoundsException)和被除数为0异常(ArithmeticException)。它们属于非检查异常,不需要在方法签名中声明。一般异常则是所有非运行时异常的统称,包括IOException、SQLException等,需要在方法签名中声明,否则编译器会报错。 2. **Servlet生命周期**:Servlet的生命周期包括实例化、初始化、服务和销毁四个阶段。实例化时,服务器或容器调用构造方法创建Servlet实例;初始化阶段,调用init()方法进行初始化;服务阶段,当接收到请求时,容器调用service()方法处理请求;销毁阶段,当不再需要Servlet时,调用destroy()方法释放资源。 3. **ArrayList、Vector、LinkedList比较**:ArrayList基于动态数组,适合随机访问,不适合频繁插入删除;Vector也是数组实现,但线程安全,性能较差;LinkedList使用链表结构,适合插入删除,不适合随机访问。 4. **HashMap与Hashtable的区别**:Hashtable是线程安全的,执行效率较低,不接受null键值对;HashMap非线程安全,效率较高,允许null键值对。 5. **final、finally、finalize的区别**:final修饰的类不能被继承,变量值不可变;finally用于保证异常处理中的代码始终被执行;finalize()是对象被垃圾回收前进行清理的钩子方法。 6. **override与overload的区别**:Override重写,要求参数列表完全一致,返回值类型相同(原则要求);Overload重载,允许不同参数列表的方法名相同,返回值类型不受限制。 7. **Forward与Redirect的区别**:Forward是服务器端行为,地址栏不改变,一次HTTP请求;Redirect是客户端行为,地址栏改变,两次HTTP请求。转发适合内部跳转,重定向适用于外部跳转或完成一件事后转向另一件事。 8. **String对象创建**:`String s = new String("xyz");`创建了两个String对象,一个在常量池,一个在堆内存。 9. **数据库连接池工作原理**:连接池预先创建一定数量的连接,当应用需要时,从池中获取连接,用完后归还。这样减少了创建和销毁连接的开销,提高系统性能。例如,C3P0、Apache DBCP、HikariCP等。 10. **Hibernate工作原理**:Hibernate通过配置文件与数据库建立映射关系,创建SessionFactory,然后通过SessionFactory创建Session对象,进行CRUD操作。事务管理和对象关系映射(ORM)使得开发者能以面向对象的方式操作数据库,简化数据库操作。 11. **抽象类与接口**: - 抽象类:包含抽象方法的类,不能实例化,可包含非抽象方法。子类继承抽象类需实现所有抽象方法。 - 接口:全部方法默认为public抽象方法,变量默认为public static final。接口用于多继承,定义一组行为规范,实现接口的类必须实现接口的所有方法。 以上是Java面试中常见的知识点,涵盖了异常处理、集合框架、Servlet、数据库连接池、ORM框架以及面向对象设计的基本概念。理解并掌握这些知识,对于Java程序员的面试和实际工作都是非常重要的。
剩余16页未读,继续阅读
- 粉丝: 0
- 资源: 13
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助