JavaWeb面试题1和2整理魔乐科技.doc_第1页
JavaWeb面试题1和2整理魔乐科技.doc_第2页
JavaWeb面试题1和2整理魔乐科技.doc_第3页
JavaWeb面试题1和2整理魔乐科技.doc_第4页
JavaWeb面试题1和2整理魔乐科技.doc_第5页
免费预览已结束,剩余6页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JadewellMLDN_JavaWeb面试题1具体内容1、Java中的异常处理机制的简单原理和应用。每当产生异常之后,如果没有程序进行相应的处理,则程序将出现中断的现象,此时实际上一旦产生一个异常之后,JVM会抛出一个异常的实例化对象,如果此时使用了try语句进行捕获的话,则可以进行异常处理,如果没有的话,则交给JVM进行处理,当try语句捕获到了异常之后,会与catch中的异常类型进行匹配,如果匹成功,则使用此catch语句进行处理。应用:简单的引用,就是在所有有throws 关键字的地方加入try.catch如果按照一个标准作法的话,try、catch、finally、throw、throws关键字应该一起使用。2、垃圾回收的优点和原理。并考虑两种回收机制。将无用的对象空间进行释放,两种回到:自动回收;工调用System.gc()方法,实际上调用System.gc()就相当于调用Runtime.getRuntime().gc()方法。3、Error于Exception有什么区别?Error表示由JVM进行处理的,是JVM出错。Exception是可以由程序进行处理的,使用trycatch进行处理。4、谈谈final,finally,finalize的区别。final:是定义常量、方法、类的,声明的方法不能被覆写、声明的类不能被继承。finally:是异常的统一出口。finalize:是垃圾回收前的收尾工作,是Object类中定义的5、Anonymous Inner Class (匿名内部类)是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)?允许继承或实现,因为匿名内部类就是在抽象类和接口的基础之上发展起来的。6、Static Nested Class 和Inner Class的不同。使用static声明的内部类就是外部类,可以通过外部类、内部类直接访问。普通的内部类是不能够直接被外部所访问的,需要通过外部类实例再找到内部类实例。7、HashMap和Hashtable的区别。HashMap|-JDK1.2之后推出,是新的类|-采用异步处理方式,性能比较高,但是属于非线程安全|-允许设置nullHashtable|-JDK1.0时推出,是旧的类|-采用同步处理方式,性能较低,但是属于线程安全|-不允许设置null,否则将出现NullPoinerException8、什么时候用assert?JDK1.4之后增加的新的关键字assert,表示断言,既程序执行到某个地方之后肯定是预计好的一般开发中很少使用assert要想使用断言,则必须使用-ea参数9、GC是什么?为什么要有GC?GC:垃圾收集使用GC可以对垃圾空间的释放操作10、String = new String(“xyz”);创建了几个String Object?产生了两个实例化对象,一个是匿名对象“xyz”,另外一个是通过关键字new实例化的。11、sleep()和wait()有什么区别?sleep()是Thread类中定义的方法,表示线程的休眠,会自动唤醒wait()是Object中定义的方法,需要手工调用natify()或notifyAll()方法12、Java中有没有goto?goto属于保留的关键字,java中存在goto,只是无法使用。13、数组有没有length()这个方法?String有没有length()这个方法?数组中存在length这一属性,String中存在length()方法。14、Overload和Override的区别。Overload的方法是否可以改变返回值的类型?重载:Overload|-在一个定义的若干方法|-所有的方法名称相同,但是参数的类型或个数不同覆写Override|-在继承的关系中|-子类定义了与父类同名的方法,参数类型或个数最好完全一样,注意访问权限不能更加严格重载的时候不是依靠返回值类型区分的,而是靠参数15、Set里的元素是不能重复的,那么用什么方法来区分重写与否呢?是用= =还是equals()?它们有何区别呢?依靠hashCode()和equals()两个方法完成,= =属于地址值比较,而equals()属于内容比较。使用的是equals()方法。16、列举出一些最常见的runtime exception。NumberFormatException、ArrayOutIndexOfBoundException、NullPointerException、ClassCastException17、abstract class 和interface有什么区别?抽象类|-由抽象方法和常量、变量、全局变量、构造方法、普通方法组成|-使用abstract声明|-子类要通过extends继承抽象类,子类如果不是抽象类,则必须覆写抽象类中的全部抽象方法|-存在单继承局限,一个子类只能继承一个抽象类|-抽象类可以实现若干接口接口|-全部由抽象方法和全局常量组成|-使用interface声明|-子类通过implements实现接口,子类如果不是抽象类,则必须覆写抽象类中的全部抽象方法。|-不存在单继承局限,一个子类可以同时实现多个接口|-接口不能继承一个抽象类,但是允许继承多个接口18、启动一个线程是用run()和start()?使用start()方法,因为要通知JVM进行CPU资源的分类。19、try里面有一个return语句,那么紧跟在这个try后的finally里的code会不会被执行,声明时候被执行,在return前还是后?会执行,在return之前执行,只要是finally的代码永远会被执行。20、编程题:写出一个Singleton出来。核心就是构造方法私有化在Java中有Runtime类、Class类都属于单例设计21、编一段代码,显示在控制台输入一组数字后,排序后在控制台输出。假设数字中间使用“”进行分隔,既然要排序,则可以使用集合保存,使用TreeSet保存以上的操作中,因为所有的数据都已经假设是正确的数字,但是实际中有可能是字符串。第一种方法:允许有字符串,但是将所有的字符串忽略。第二中方法:不允许有字符串,如果出现了字符串,则程序不再向下继续执行。为程序改善功能方法一:方法二(时间复杂度较高):22、列出某文件下的所有文件。23、char类型变量中能不能存储一个中文汉字?为什么?可以存放,因为使用的是Unicode编码24、多线程有几种实现方法,都是什么?同步有几种实现方法,都是什么?两种实现方法,继承Thread类,实现Runnable接口|-Thread类是Runnable接口的子类|-使用Runnable接口可以实现资源共享的目的|-所有的线程操作都必须通过Thread类的start()方法启动两种实现同步的方法:|-同步代码块:Synchronize(this)|-同步方法25、float型float f = 3.4是否正确?不正确,因为默认情况下3.4是double类型的数据26、String与StringBuffer的区别?String不可修改,StringBuffer允许修改27、ClassForName的作用?为什么要用?ClassForName属于向容器之中加载驱动程序28、int和Integer有什么区别?int是基本数据类型,Integer是包装类在JDK1.5之后,可以实现自动装箱及拆箱的操作29、用最有效的方法算出2乘以8等于几?就是使用移位操作:2可用this.getServletContext()替代configjavax.servlet.ServletConfigexceptionjava.lang.Throwablepagejava.lang.Objectoutjavax.servlet.jsp.JspWriterb) 作用:1、pageContext表示页容器-EL、标签、上传2、request服务器端取得客户端的信息:头信息、Cookie、请求参数、MVC设计模式3、response服务器端回应给客户端信息:Cookie、重定向4、session表示每一个用户,用于登录验证上5、application表示整个服务器,getRealPath()6、config去的初始化参数,初始化参数在web.xml中配置7、exception表示的是错误页的处理操作8、page如同this一样,表示整个JSP页面9、out输出,但是尽量使用表达式输出2、JSP有哪些动作?作用分别是什么?所谓的动作指标签指令:包含:跳转:使用JavaBean:设置属性,通过反射调用方法:取得属性插入Applet程序的代码3、JSP中动态include与静态include的区别?动态include:,如果包含的是动态页,则先编译之后再进行处理静态include:,直接将内容先包含后处理4、两种跳转方式?区别?服务器跳转:,跳转之后地址栏不改变,可以传递request属性实际上是对RequestDispathcer接口的封装。客户端跳转:response.sendRedirect(),跳转之后地址栏改变5、请总结一下WEB开发中的绘画跟踪实现1、session,也是最常用的一种2、Cookie3、地址重写4、隐藏域6、在Web开发中需要处理HTML标记是,应做什么样的处理,要筛选哪些字符(、&、”、)。因为以上的标记都属于HTML范畴的内容,所以必须进行转义操作:<、>、"、&apos、&;7、说明JSP中errorPage的作用,应用范围。表示错误页的操作,在一般的站点中,只要一个程序出现了错误,就是产生了一场,则可以统一跳转到一个页面上进行显示,那么这种操作就属于错误页的处理,但是简单的错误页基本上都是在JSP的开发中使用的。要想进行错误页的设置,需要满足以下两个条件:1、 在错误能够处理的页上的page指令中,增加:isErrorPage=”ture”,表示可以处理错误。2、 在每一个页面制定errorPage,进行isErrorPage为true的页面。如果现在希望配置一种全局的错误处理的话,则可以在web.xml中进行配置。404/errors.jspjava.lang.NullPinterException/errors.jsp一旦出现错误之后,会自动跳转到指定的页面中,但是这种跳转,永远是属于服务器端跳转。8、写一段JDBC连接Oracle的程序,并实现数据查询。a)步骤:定义一系列的全局常量:驱动路径、连接地址、用户名、密码加载驱动程序连接数据库操作数据库:更新或查询关闭数据库c) 代码:My JSP9、简述在JSP中是如何实现分页操作的。a)首先分页有两种:真分页:性能较高,是基于数据库的操作,只是从数据库中提取出部分的数据进行显示,所以性能高,但是可移植性低。假分页:性能较低,是将全部的结果查询出来,之后依靠算法分页,只是显示部分数据,因为使用的是通用的语法,所以可移植性高。b)分页实现原理:定义一系列的变量:currentPage、lineSize、并通过查询求出allRecorders和计算求出pageSize;|-pageSize = (allRecorders + lineSize - 1)/lineSize之后数据库查询语句中根据lineSize和currentPage进行数据的查询;|-Oracle中使用rownum、Mysql中使用limit()之后通过表单不断地修改currentPage、lineSize就可以实现分页显示。10、介绍在JSP中如何使用JavaBeansJavaBeans的格式要求:必须有包、public class 声明、属性封装、无参构造、setter、getterimport语句导入或者通过11、Servlet的生命周期?加载初始化,正常一次:对应init()方法,有两个init()其中一个是有ServletConfig对象,此方法存在则无参不调用,正常情况下在第一次使用Servlet的时候才进行初始化操作,当然,也可以通过配置在容器启动的时候自动进行初始化服务,服务多次:所有的服务都有services()方法分配,主要有doGet()和doPost(),分别处理get和post请求销毁,正常一次:调用destroy()方法,如果一个Servlet长时间不适用,也会自动销毁,而当再次使用的时候就必须重新进行初始化操作。卸载12、Servlet中forward()与redirect()的区别?forward()方法是RequestDispatcher接口定义的,而redirect()是response定义的,一个是服务器端跳转,另外一个是客户端跳转。13、MVC的各个部分都有哪些技术来实现?如何实现?MVC:Model、View、Controller|-Model:JavaBean:业务处理,数据处理|-View:显示的JSP,最好不存在任何的Scriptlet,可以使用标签消除|-Controller:控制,接受View传递的内容和调用JavaBean,并根据javaBean的处

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论