笔试题1.abstractclass和interface的区别?抽象类可以有私有方法和变量,接口中不能有私有方法和变量。抽象类可以有方法的实现,接口中不能有方法的实现并且所以的方法都需要实现。2.try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后?Finally代码块中的语句是必须执行的,必须在try代码块执行完之后执行,在return语句后执行。除非代码块中有System.exit();方法,因为终止了虚拟机进程,会不执行。3.int和Integer有什么区别?Java中提供了两种不同类型:引用类型和原始类型。Int是原始类型,Integer是int的封装类型。4.说出ArrayList,Vector,LinkedList的存储性能和特性?ArrayList和Vector是按数组的方式存储数据的,此数组的元素大于实际存储的数据,以便于增加和插入元素,它们允许数组按序号索引元素,由于插入数据时涉及到移动等内存操作,所以索引数据快而插入数据慢。Vector由于使用了synchroinzed(安全性),通常性能上较ArrayList差。LinkedList使用双向链表实现存储,按索引序号前向或后向遍历,插入数据时只需要记录本项的前后项即可,所以插入数据速度较快。5.描述一下JVM加载class文件的原理机制?Java中所有的类必须加装到jvm中才能运行,这个工作是由jvm中的类装载器完成的,类装载器所作工作实质是把类文件读取到内存当中。6.STRING与STRINGBUFFER的区别?String在追加内容的时候不会在原有的内存区域中追加内容,而是在内存中分配一块内存区域存放追加内容,StringBuffer不会。7.List、Map、Set三个接口,存取元素时,各有什么特点?List以特定顺序来持有元素,元素可重复。Set在内部排序,不允许有重复元素。Map保存key-value值,value可有多个值。8.谈谈final,finally,finalize的区别Final可以修饰变量、方法、类。被final修饰的变量必须初始化并且不能被修改。被final修饰的方法不能被重载。被final修饰的类不能被继承,final不能和abstract同时修饰。Finally是在异常处理是提供的,如果抛出异常,那么相匹配的catch子句就会执行,然后控制就会进入finally中。Java允许finalize()方法在垃圾收集器将对象从内存中清除出去之前做垃圾清理工作。这个方法是垃圾收集器在确定对象没有被引用时调用的。Finalize()方法是在删除这个对象之前对这个对象调用的。9.sleep()和wait()有什么区别?Sleep()是线程类Thread方法,导致该线程在指定的时间内暂停,指定时间之后会自动恢复,该方法不会释放对象锁。Wait()是Object类的方法,调用该方法是线程会进入等待状态,直到调用notify或notfyall方法通知恢复状态,该方法会释放对象锁。10.GC是什么?为什么要有GC?GC是java提供的垃圾回收器。有了GC就不需要程序员人工去释放内存空间,当虚拟机发现内存空间紧张时会自动的去清理一些无用变量所占用的内存空间。程序员也可以调用System.gc();强制执行一次清理。11.jsp:include,jsp:forward两种跳转方式分别是什么?有什么区别?12.简述JSP的内置对象及方法。Request,respone,session,application,out,exception,page,pageContext,config13.Servlet的基本架构?PublicclassservletNameextendsHttpServlet{PublicvoiddoPost(HttpServletRequest,HttpServletRespone)throwsServletException,IOException{}PublicvoiddoGet(HttpServletRequest,HttpServletRespone)throwsServletException,IOException{}}14.getServletContext()和getServletConfig()的意思getServletContext()是获取web中的servletContex对象getServletConfig()是获取初始化参数和servletContext对象15.filter的作用是什么?主要实现什么方法?request和response全称是什么?Request全称是HttpServletRequestResponse全称是HttpServletResponse16.JS中的三种弹出式消息提醒(警告窗口、确认窗口、信息输入窗口)的命令是什么?17.谈谈javascript数组排序方法sort()的使用,重点介绍sort()参数的使用及其内部机制18.结合text这段结构,谈谈innerHTMLouterHTMLinnerText之间的区别。19.如何获取表单select域的选择部分的文本?20.在JavaScript中定时调用函数foo()如何写?21.hibernate和jdbc有什么区别22.描述使用JDBC连接数据库的过程(1)加载驱动程序。(2)建立连接。(3)建立statement。(4)关闭连接。23.简述JDBC连接池的实现方法24.Jdo是什么?25.Class.forName的作用?为什么要用?作用是返回一个类对象。要求JVM查找并加载指定的类。26.请教一个面试中遇到的SQL语句的查询问题表中有ABC三列,用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。27.一个日期判断的sql语句?请取出tb_send表中日期(SendTime字段)为当天的所有记录?(SendTime字段为datetime型,包含日期与时间)28.用一条SQL语句查询出每门课都大于80分的学生姓名namekechengfenshu张三语文81张三数学75李四语文76李四数学90王五语文81王五数学100王五英语9029.复制表(只复制结构,源表名:a新表名:b)30.拷贝表(拷贝数据,源表名:a目标表名:b)31.原表:courseidcoursenamescore-------------------------------------1java702oracle903xml404jsp305servlet80-------------------------------------为了便于阅读,查询此表后的结果显式如下(及格分数为60):courseidcoursenamescoremark---------------------------------------------------1java70pass2oracle90pass3xml40fail4jsp30fail5servlet80pass---------------------------------------------------写出此查询语句