




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东方国信JAVA开发人员笔试试题卷一、 名词解释:、 web容器:、 EJB容器:、 JNDI:、 JMS:二、 简答题:、 面向对象的特征有哪些方面?、 abstract class和interface有什么区别?、 Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?、 try 里有一个return语句,那么紧跟在这个try后的finally 里的code会不会被执行,什么时候被执行,在return前还是后? 、 Web.xml的作用?、 列出并简单说明JSP的内置对象及方法、 jsp有哪些动作?作用分别是什么?、 JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?、 列出Request对象的主要方法。三、编程题:1、 写一个Singleton出来。2、 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。四、论述题:1、 说说数据连接池的工作机制是什么?2、 谈谈final, finally, finalize的区别?3、 MVC的各个部分都有那些技术来实现?如何实现?4、 什么是java序列化,如何实现java序列化?答案一、 名词解释:、 web容器:答:给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,使JSP,SERVLET直接更容器中的环境变量接口交互,不必关注其它系统问题,主要由WEB服务器来实现。例如:TOMCAT,WEBLOGIC,WEBSPHERE等。该容器提供的接口严格遵守J2EE规范中的WEB APPLICATION 标准。我们把遵守以上标准的WEB服务器就叫做J2EE中的WEB容器。、 EJB容器:答:Enterprise java bean 容器。它提供给运行在其中的组件EJB各种管理功能。只要满足J2EE规范的EJB放入该容器,马上就会被容器进行高效率的管理。并且可以通过现成的接口来获得系统级别的服务。例如邮件服务、事务管理。、 JNDI:答:(Java Naming & Directory Interface)JAVA命名目录服务。主要提供的功能是:提供一个目录系统,让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布式应用程序的功能。、 JMS:答:(Java Message Service)JAVA消息服务。主要实现各个应用程序之间的通讯。包括点对点和广播。二、 简答题:、 面向对象的特征有哪些方面?答:面向对象的特征主要有:抽象、继承、封装、多态。、 abstract class和interface有什么区别?答:声明方法的存在而不去实现它的类被叫做抽象类(abstract class),它用于要创建一个体现某些基本行为的类,并为该类声明方法,但不能在该类中实现该类的情况。不能创建abstract 类的实例。然而可以创建一个变量,其类型是一个抽象类,并让它指向具体子类的一个实例。不能有抽象构造函数或抽象静态方法。Abstract 类的子类为它们父类中的所有抽象方法提供实现,否则它们也是抽象类为。取而代之,在子类中实现该方法。知道其行为的其它类可以在类中实现这些方法。 接口(interface)是抽象类的变体。在接口中,所有方法都是抽象的。多继承性可通过实现这样的接口而获得。接口中的所有方法都是抽象的,没有一个有程序体。接口只可以定义static final成员变量。接口的实现与子类相似,除了该实现类不能从接口定义中继承行为。当类实现特殊接口时,它定义(即将程序体给予)所有这种接口的方法。然后,它可以在实现了该接口的类的任何对象上调用接口的方法。由于有抽象类,它允许使用接口名作为引用变量的类型。通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,instanceof 运算符可以用来决定某对象的类是否实现了接口。、 Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?答:方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。Overloaded的方法是可以改变返回值的类型。、 try 里有一个return语句,那么紧跟在这个try后的finally 里的code会不会被执行,什么时候被执行,在return前还是后? 答:会执行,在return前执行。、 Web.xml的作用?、 列出并简单说明JSP的内置对象及方法答:request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。response表示HttpServletResponse对象,并提供了几个用于设置送回 浏览器的响应的方法(如cookies,头信息等)out对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。pageContext表示一个javax.servlet.jsp.PageContext对象。它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。session表示一个请求的javax.servlet.http.HttpSession对象。Session可以存贮用户的状态信息applicaton 表示一个javax.servle.ServletContext对象。这有助于查找有关servlet引擎和servlet环境的信息config表示一个javax.servlet.ServletConfig对象。该对象用于存取servlet实例的初始化参数。page表示从该页面产生的一个servlet实例、 jsp有哪些动作?作用分别是什么?答:JSP动作利用XML语法格式的标记来控制Servlet引擎的行为。利用JSP动作可以动态地插入文件、重用JavaBean组件、把用户重定向到另外的页面、为Java插件生成HTML代码。JSP动作包括:jsp:include:在页面被请求的时候引入一个文件。jsp:useBean:寻找或者实例化一个JavaBean。jsp:setProperty:设置JavaBean的属性。jsp:getProperty:输出某个JavaBean的属性。jsp:forward:把请求转到一个新的页面。jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记。、 JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?答:JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是类servlet。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。、 列出Request对象的主要方法。答:setAttribute(String name,Object):设置名字为name的request的参数值getAttribute(String name):返回由name指定的属性值getAttributeNames():返回request对象所有属性的名字集合,结果是一个枚举的实例getCookies():返回客户端的所有Cookie对象,结果是一个Cookie数组getCharacterEncoding():返回请求中的字符编码方式getContentLength():返回请求的Body的长度getHeader(String name):获得HTTP协议定义的文件头信息getHeaders(String name):返回指定名字的request Header的所有值,结果是一个枚举的实例getHeaderNames():返回所以request Header的名字,结果是一个枚举的实例getInputStream():返回请求的输入流,用于获得请求中的数据getMethod():获得客户端向服务器端传送数据的方法getParameter(String name):获得客户端传送给服务器端的有name指定的参数值getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实例getParameterValues(String name):获得有name指定的参数的所有值getProtocol():获取客户端向服务器端传送数据所依据的协议名称getQueryString():获得查询字符串getRequestURI():获取发出请求字符串的客户端地址getRemoteAddr():获取客户端的IP地址getRemoteHost():获取客户端的名字getSession(Boolean create):返回和请求相关SessiongetServerName():获取服务器的名字getServletPath():获取客户端所请求的脚本文件的路径getServerPort():获取服务器的端口号removeAttribute(String name):删除请求中的一个属性三、编程题:、 写一个Singleton出来。答:Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 一般Singleton模式通常有几种种形式: 第一种形式: 定义一个类,它的构造函数为private的,它有一个static的private的该类变量,在类初始化时实例话,通过一个public的getInstance方法获取对它的引用,继而调用其中的方法。 public class Singleton private Singleton() /在自己内部定义自己一个实例,是不是很奇怪? /注意这是private 只供内部调用 private static Singleton instance = new Singleton(); /这里提供了一个供外部访问本class的静态方法,可以直接访问 public static Singleton getInstance() return instance; 第二种形式: public class Singleton private static Singleton instance = null; public static synchronized Singleton getInstance() /这个方法比上面有所改进,不用每次都进行生成对象,只是第一次 /使用时生成实例,提高了效率! if (instance=null) instancenew Singleton(); return instance; 其他形式: 定义一个类,它的构造函数为private的,所有方法为static的。 一般认为第一种形式要更加安全些、 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。答:package test;class? SplitStringString SplitStr;int SplitByte;public SplitString(String str,int bytes)SplitStr=str;SplitByte=bytes;System.out.println(The String is:+SplitStr+;SplitBytes=+SplitByte);public void SplitIt()int loopCount;loopCount=(SplitStr.length()%SplitByte=0)?(SplitStr.length()/SplitByte):(SplitStr.length()/SplitByte+1);System.out.println(Will Split into +loopCount);for (int i=1;i=loopCount ;i+ )if (i=loopCount)System.out.println(SplitStr.substring(i-1)*SplitByte,SplitStr.length(); else System.out.println(SplitStr.substring(i-1)*SplitByte,(i*SplitByte);public static void main(String args) SplitString ss = new SplitString(test中dd文dsaf中男大3443n中国43中国人0ewldfls=103,4);ss.SplitIt();四、论述题:1、 说说数据连接池的工作机制是什么?答:J2EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。2、 谈谈final, finally, finalize的区别?答:final修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改。被声明为final的方法也同样只能使用,不能重载finally再异常处理时提供 finally 块来执行任何清除操作。如果抛出一个异常,那么相匹配的 catch 子句就会执行,然后控制就会进入 finally 块(如果有的话)。 finalize方法名。Java 技术允许使用 finalize() 方法在垃圾收集器将对象从内存中清除出去之前做必要的清理工作
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 阳泉市中石化2025秋招面试半结构化模拟题及答案市场营销与国际贸易岗
- 2025年胸痛中心考试题及答案
- 山东地区中石化2025秋招笔试模拟题含答案安全环保与HSE岗
- 漳州市中储粮2025秋招笔试粮食政策与企业文化50题速记
- 你的价值观测试题及答案
- 国家能源岳阳市2025秋招能源与动力工程类面试追问及参考回答
- 阳江市中储粮2025秋招面试半结构化模拟题30问及答案
- 2025年咨询决策考试题及答案
- 金融货币学考试题及答案
- 庆阳市中储粮2025秋招写作案例分析万能模板直接套用
- 垃圾消纳费合同协议
- 节前保密教育培训
- 中国人寿理赔申请书
- 2024年人教版四年级语文上册《第3单元9.古诗三首》教学课件
- 讲好中国故事英语演讲2-3分钟
- 介绍莫兰迪的课件
- DB32/T+4860-2024+电镀园区环境管理技术规范
- 室内安装标识标牌施工方案
- GB/T 17775-2024旅游景区质量等级划分
- 小学数学情境教学设计案例分析
- 《福建省整体装配式卫浴间标准设计图集》
评论
0/150
提交评论