JAVA Struts2 框架面试题解析 本文将详细解析 JAVA Struts2 框架相关知识点,涵盖异常处理、Servlet 生命周期、集合框架、HashMap 和 Hashtable 的区别、final、finally 和 finalize 的区别、sleep 和 wait 的区别、Overload 和 Override 的区别、error 和 exception 的区别、同步和异步的区别等多个方面的知识点。 1. 运行时异常与一般异常的异同: 异常表示程序运行过程中可能出现的非正常状态。运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见的运行错误。Java 编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。 2. Servlet 生命周期: Servlet 生命周期定义了 Servlet 的生存期,包括加载和实例化、初始化、处理请求以及服务结束。Servlet 被服务器实例化后,容器运行其 init 方法,请求到达时运行其 service 方法,service 方法自动派遣运行与请求对应的 doXXX 方法(doGet、doPost)等,当服务器决定将实例销毁的时候调用其 destroy 方法。 3. ArrayList、Vector、LinkedList 的存储性能和特性: ArrayList 和 Vector 都是使用数组方式存储数据,当数组大小不够时,需要建立新的数组,然后将元素拷贝到新数组。ArrayList 默认增长为原来的一半,Vector 默认增长为原来的一倍,它们都允许直接按序号索引元素,但是插入或删除元素要涉及数组元素移动等内存操作,所以查找或遍历数据快,而插入或删除数据慢。Vector 是同步的,也就是线程安全的,ArrayList 不是同步的,它是非线程安全的,所以,通常 Vector 性能上较 ArrayList 差。LinkedList 使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以查找慢插入速度较快。 4. Collection 和 Collections 的区别: Collection 是集合类的上级接口,继承与他的接口主要有 Set 和 List。Collections 是针对集合类的一个帮助类,他提供一系列静态方法实现对各种集合的搜索、排序、线程安全化等操作。 5. HashMap 和 Hashtable 的区别: 一、历史原因,Hashtable 是基于陈旧的 Dictionary 类,HashMap 是 Java 1.2 引进的 Map 接口的一个实现。二、同步性:Hashtable 是线程安全的,也就是说是同步的,而 HashMap 是线程序不安全的,不是同步的。三、值:只有 HashMap 可以让你将空值作为一个表的条目的 key 或 value。 6. final、finally、finalize 的区别: final 用于声明属性、方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。finally 是异常处理语句结构的一部分,表示总是执行。finalize 是 Object 类的一个方法,当一个对象在 JVM 中是无法到达时,GC 就会来回收该对象。在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。 7. sleep() 和 wait() 的区别: sleep 是线程类(Thread)的方法,它按设定好的毫秒数让线程休眠指定的一段时间,但该线程不丢失任何监视器的所属权,也就是说调用 sleep 不会释放对象锁。wait 是 Object 类的方法,对此对象调用 wait 方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出 notify 方法(或 notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。 8. Overload 和 Override 的区别: Overload 是一个类中的多态性表现,Override 是父类与子类之间多态性的一种表现。 9. error 和 exception 的区别: error 表示恢复不是不可能但很困难的情况下的一种严重问题。比如说内存溢出。不可能指望程序能处理这样的情况。exception 表示一种设计或实现问题,也就是说,它表示如果程序运行正常,从不会发生的情况。 10. 同步和异步的区别: 同步指的是在多个线程或进程之间,某个资源或对象的访问是排他的,也就是说,某个线程或进程正在访问该资源或对象时,其他线程或进程无法访问该资源或对象。异步指的是在多个线程或进程之间,某个资源或对象的访问是共享的,也就是说,某个线程或进程正在访问该资源或对象时,其他线程或进程也可以访问该资源或对象。
剩余14页未读,继续阅读
- 小-人-物2013-11-11资源一般,网上很容易找到
- 粉丝: 5
- 资源: 23
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Django和OpenCV的智能车视频处理系统.zip
- (源码)基于ESP8266的WebDAV服务器与3D打印机管理系统.zip
- (源码)基于Nio实现的Mycat 2.0数据库代理系统.zip
- (源码)基于Java的高校学生就业管理系统.zip
- (源码)基于Spring Boot框架的博客系统.zip
- (源码)基于Spring Boot框架的博客管理系统.zip
- (源码)基于ESP8266和Blynk的IR设备控制系统.zip
- (源码)基于Java和JSP的校园论坛系统.zip
- (源码)基于ROS Kinetic框架的AGV激光雷达导航与SLAM系统.zip
- (源码)基于PythonDjango框架的资产管理系统.zip