JAVA 面试题集 本文档是一个 JAVA 面试题集,涵盖了 JAVA 相关基础知识点,包括面向对象的特征、String 和 StringBuffer 的区别、运行时异常与一般异常的异同、Servlet 的生命周期、ArrayList, Vector, LinkedList 的存储性能和特性、EJB 的实现技术等。 一、面向对象的特征 面向对象的特征包括抽象、继承、封装和多态性四个方面。抽象是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。继承是一种联结类的层次模型,并且允许和鼓励类的重用。封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。多态性是指允许不同类的对象对同一消息作出响应。 二、String 和 StringBuffer 的区别 String 和 StringBuffer 都可以储存和操作字符串,但是它们有着不同的特征。String 类提供了数值不可改变的字符串,而 StringBuffer 类提供的字符串可以进行修改。当你知道字符数据要改变的时候你就可以使用 StringBuffer。 三、运行时异常与一般异常的异同 异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。java 编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。 四、Servlet 的生命周期 Servlet 被服务器实例化后,容器运行其 init 方法,请求到达时运行其 service 方法,service 方法自动派遣运行与请求对应的 doXXX 方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其 destroy 方法。 五、ArrayList, Vector, LinkedList 的存储性能和特性 ArrayList 和 Vector 都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector 由于使用了 synchronized 方法(线程安全),通常性能上较 ArrayList 差,而 LinkedList 使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。 六、EJB 的实现技术 EJB 是基于 Java 企业版技术实现的,它包括 SessionBean 和 EntityBean 两种类型。SessionBean 是一种无状态的组件,它提供了一个业务逻辑接口,可以对外提供服务,EntityBean 是一种有状态的组件,它提供了对数据的访问和操作。StatefulBean 和 StatelessBean 是两种不同的 SessionBean,它们的主要区别在于 StatefulBean 可以保存状态,而 StatelessBean 不可以保存状态。
剩余24页未读,继续阅读
- 粉丝: 203
- 资源: 3416
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助