必看的java编程面试题

上传人:101****457 文档编号:89359214 上传时间:2019-05-24 格式:DOC 页数:5 大小:34KB
返回 下载 相关 举报
必看的java编程面试题_第1页
第1页 / 共5页
必看的java编程面试题_第2页
第2页 / 共5页
必看的java编程面试题_第3页
第3页 / 共5页
必看的java编程面试题_第4页
第4页 / 共5页
必看的java编程面试题_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《必看的java编程面试题》由会员分享,可在线阅读,更多相关《必看的java编程面试题(5页珍藏版)》请在金锄头文库上搜索。

1、必看的java编程面试题概述MVC体系结构?答:MVC包括三类对象,model是应用对象,view是视图,controller是控制器,它定义用户界面对用户输入的响应方式。在MVC体系中,模型通常被称为”业务逻辑”,是真正完成任务的代码,视图就是使用界面,反映数据的变化。控制器控制着模型和视图之间的交互过程,它决定着向用户返回怎样的视图、检查通过界面输入的信息以及选择处理输入信息的模型。在MVC中,表示层和逻辑层分离,各部分可相互独立进行开发,便于开发和维护,提高了开发效率。概述struts,以及struts如何实现MVC架构的?答:struts framework是一种基于JAVA编程的技术

2、,Web应用程序开发人员通过struts framework即可充分利用面向对象设计、代码重用以及”编写一次、到处运行”的优点。Struts提供了一种创建Web应用程序的框架,其中对应用程序的显示、表示和数据的后端代码进行了抽象。Struts采用jsp作为MVC的视图,由ActionServlet具体指定的action动作类作为控制器即MVC中的C,负责视图与模型之间的交互。控制器的每个入口点都由名为struts-config.xml的配置文件设置。该文件把来自视图的请求映射为特定的JAVA类以进行相应的处理,控制器还指定下一个视图的位置。Struts中的模型主要指的就是javabean,它是

3、模型的代表,主要封装数据和业务逻辑。Struts的处理流程:l、控制器进行初始化工作,读取配置文件,为不同的Struts模块初始化相应的ModulConfig对象。2、控制器接收Http请求,并从ActionConfig中找出对应于该请求的Action子类,如果没有对应的Action,控制器直接将请求转发给JSP或者静态页面,否则控制器将请求分发至具体的Action类进行处理。3、在控制器调用具体的Action的Execute方法之前,ActionForm对象将利用Http请求中的参数来填充自已。还可以在 ActionForm类中调用Validate方法来检查请求参数的合法性,并且可以返回一个

4、包含所有错误信息的ActionErrors对象。4、执行具体的的Execute的方法,它负责执行相应的业务逻辑。执行完后,返回一个ActionForward对象,控制器通过该 ActionForward对象来进行转发工作。也可以把Action要处理的业务逻辑封装在JavaBean中,如果系统中还有EJB,那么通过 JavaBean调用EJB以完成业务处理;如果没有EJB,那么就直接在JavaBean中连接数据库,进行数据库相关的操作。1.int和integer的区别integer是一个类,对它的操作要通过类的方法,int是8种基本数据类型之一(八种数据类型:字符类型:char,布尔类型bool

5、ean以及数值类型byte、short、int、long、float、double)。integer是对int的封装。声明int的变量不需要实例化。声明integer变量需要实例化。int不需要实例化。2.String和StringBuffer的区别String声明的数组长度是确定的,不能随意增加其容量。线程安全的可变字符序列。StringBuffer可随意增加容量,线程安全的字符序列3.运行时异常和一般异常的区别运行时异常时程序运行时可能报出的异常。可以用try catch获得,也可以不做处理。比如:IndexOutOfException、ClassCasetexception、nullpo

6、tionterexception、classnotfoundexception一般异常,这些异常时在定义方法是声明抛出的,这些异常必需用try catch抛出,或throws处理,如果不处理,如果不处理,程序将编译失败。比如:Ioexcption、filenotfoundexception、sqlexption4.例举5个常用的包、类、接口包名:java.util,java.io,java.awt,java.lang,java.swing类名:String,StringBuffer,Date,Calendar,HashMap,HashSet接口: Collection,Action,serzi

7、ale,ActionSupport,Map5.Vector和LinkLisVector:由于使用了synchronized方法(线程安全),通常性能上较ArrayList差LinkedList:使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,插入速度较快。6.连接池的工作机制连接池控制着和数据库的链接,它来控制开启几个链接,关闭几个链接,什么时候关闭,调用什么方法,在hibernate中的,connectionProvider相当于一个连接池,它来维持session和数据库的链接状态。7.应用服务器有哪些tomcat,jboss,WebLo

8、gic8.集合有哪些,集合的方法有哪些集合:Collection,Map方法:Add,clear,remove,contains,equals,Hashcode,Clear,clone,size,isempty,put,get9.MVC各部分有哪些技术实现,是如何实现View:产生http响应,请求模型更新,提供form表单用于用户请求Model:封装应用状态响应状态查询,暴露应用接口Controller:验证请求数据,将请求数据与模型更新相映射,返回响应的视图。10.Struts的配置文件有哪些,解释globalForwards、ActionMapping、MessageResourceSt

9、ruts-config.xml返回公共页面的配置,比如:返回到错误页面,登录页面配置action的相关信息,包括path,type,name,validate,scope,input描述该模块的一起配合使用的消息资源,message resource对象11.简述ActionForm和Action在Struts中扮演的角色actionform封装请求的数据action处理用户请求产生响应12.方法里有一个return语句,那么紧跟在这个try后的finally里的code会不会执行?会,而且先执行finally,在执行try13.在Web应用中,你都使用那些技术或方法来改善系统的性能?Ajax

10、,action(线程安全,运行慢),jbpm,写一些公共的类,方法,进行调用对服务器访问人数控制。编程用java实现将C盘的一个文本文件复制到D盘import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;/* 需求:将c盘的一个文本文件复制到d盘。* 思路:* 1,需要读取源,* 2,将读到的源数据写入到目的地。* 3,既然是操作文本数据,使用字符流。*/public class CopyTextTest /* param args* throws IOException*/public sta

11、tic void main(String args) throws IOException /1,读取一个已有的文本文件,使用字符读取流和文件相关联。FileReader fr = new FileReader(“IO流_2.txt”);/2,创建一个目的,用于存储读到数据。FileWriter fw = new FileWriter(“copytext_1.txt”);/3,频繁的读写操作。int ch = 0;while(ch=fr.read()!=-1)fw.write(ch);/4,关闭流资源。fw.close();fr.close();2.以下是借助了数组,即缓冲区,并进行了异常处理

12、import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;public class CopyTextTest_2 private static final int BUFFER_SIZE = 1024;/* param args*/public static void main(String args) FileReader fr = null;FileWriter fw = null;try fr = new FileReader(“IO流_2.txt”);fw = new FileWrite

13、r(“copytest_2.txt”);/创建一个临时容器,用于缓存读取到的字符。char buf = new charBUFFER_SIZE;/这就是缓冲区。/定义一个变量记录读取到的字符数,(其实就是往数组里装的字符个数 )int len = 0;while(len=fr.read(buf)!=-1)fw.write(buf, 0, len); catch (Exception e) / System.out.println(“读写失败”);throw new RuntimeException(“读写失败”);finallyif(fw!=null)try fw.close(); catch

14、 (IOException e) e.printStackTrace();if(fr!=null)try fr.close(); catch (IOException e) e.printStackTrace();在Java中,构造方法必须满足什么样的规则,构造方法能够被static, final, synchronized, abstract和native修饰吗?请说明你的理解。答:构造方法一般需要满足以下几条规则:(1)方法名必须与类名保持一致。(2)不要声明返回类型。(3)不能被static, final, synchronized, abstract和native修饰。构造方法不能被子

15、类继承,所以用final和abstract修饰没有任何意义。构造方法用于初始化一个新建对象,所以用static修饰没有意义。多个线程不会同时创建内存地址相同的对象,因此使用synchronized修饰也是没有必要的。此外,Java语言目前还不支持native类型的构造方法。知识扩展:用this语句来调用其他构造方法时,必须遵守以下规则:(1)假如在一个构造方法中使用了this语句,那么它必须作为构造方法的第一条语句(不考虑注释语句)。(2)只能在一个构造方法中使用this语句来调用类的其他构造方法,而不能在实例方法中用this语句来调用类的其他构造方法。(3)只能用this语句来调用其他构造方法,而不能通过方法名来直接调用构造方法。同样,使用super语句调用父类的构造方法时,也必须遵守以下语法规则:(1)在子类的构造方法中,不能直接通过父类方法名来调用父类的构造方法,而是使用super语句。(2)假如子类的构造方法中有super语句,它必须作为构造方法的第一条语句。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号