java笔试题.docx
- 文档编号:486906
- 上传时间:2022-10-10
- 格式:DOCX
- 页数:122
- 大小:116.43KB
java笔试题.docx
《java笔试题.docx》由会员分享,可在线阅读,更多相关《java笔试题.docx(122页珍藏版)》请在冰豆网上搜索。
java笔试题
1.J2EE是什么?
它包括哪些技术?
解答:
从整体上讲,J2EE是使用Java技术开发企业级应用的工业标准,它是Java技术不断适应和促进企业级应用过程中的产物.适用于企业级应用的J2EE,提供一个平台独立的、可移植的、多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和部署。
J2EE是一个标准,而不是一个现成的产品。
主要包括以下这些技术:
1)Servlet
Servlet是Java平台上的CGI技术。
Servlet在服务器端运行,动态地生成Web页面。
与传统的CGI和许多其它类似CGI的技术相比,JavaServlet具有更高的效率并更容易使用。
对于Servlet,重复的请求不会导致同一程序的多次转载,它是依靠线程的方式来支持并发访问的。
2)JSP
JSP(JavaServerPage)是一种实现普通静态HTML和动态页面输出混合编码的技术。
从这一点来看,非常类似MicrosoftASP、PHP等技术。
借助形式上的内容和外观表现的分离,Web页面制作的任务可以比较方便地划分给页面设计人员和程序员,并方便地通过JSP来合成。
在运行时态,JSP将会被首先转换成Servlet,并以Servlet的形态编译运行,因此它的效率和功能与Servlet相比没有差别,一样具有很高的效率。
3)EJB
EJB定义了一组可重用的组件:
EnterpriseBeans。
开发人员可以利用这些组件,像搭积木一样建立分布式应用。
4)JDBC
JDBC(JavaDatabaseConnectivity,Java数据库连接)API是一个标准SQL(StructuredQueryLanguage,结构化查询语言)数据库访问接口,它使数据库开发人员能够用标准JavaAPI编写数据库应用程序。
JDBCAPI主要用来连接数据库和直接调用SQL命令执行各种SQL语句。
利用JDBCAPI可以执行一般的SQL语句、动态SQL语句及带IN和OUT参数的存储过程。
Java中的JDBC相当于Microsoft平台中的ODBC(OpenDatabaseConnectivity)。
2.测试生命周期、测试过程分为几个阶段,以及各阶段的含义?
解答:
软件测试生命周期一般包括6个阶段:
1)计划2)分析,3)设计,4)构建,5)测试周期,6)最后测试和实施,1)计划:
产品定义阶段2).分析:
外部文档阶段3).设计:
文档架构阶段4).构建:
单元测试阶段5).测试周期:
错误修正,重复系统测试阶段6).最后的测试和实施:
代码冻结阶段
4.什么是Web容器?
解答:
容器就是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器,ASP的IIS或PWS都是这样的容器。
5.运行时异常与一般异常有何异同?
解答:
异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。
java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
9.试述数据库完整保护的主要任务和措施。
解答:
数据库的完整性保护也就是数据库中数据正确性的维护。
数据库完整性包括三个内容:
实体完整性规则,参照物完整性规则以及用户定义完整性规则。
前两个是有DBMS自动处理。
实体完整性规则是说针对于基表中的关键字中属性值不能为空值,是数据库完整性的基本要求,主关键字和元组的唯一性对应。
参照物完整性规则是不允许引用不存在的元组:
即基表中的外关键字要么为空,要么关联基表中必存在元组。
用户定义完整性规则针对具体的数据环境由用户具体设置的规则,它反应了具体应用中的语义要求。
一个完整性规则一般由下面三部分组成:
完整性约束条件设置,完整性约束条件的检查以及完整性约束条件的处理.后两部分在数据库中一般有相应的模块处理。
另外触发器也可以做完整性的保护,但触发器大量用于主动性领域。
12.类有哪三个基本特性?
各特性的优点?
解答:
类具有封装性、继承性和多态性。
封装性:
类的封装性为类的成员提供公有、缺省、保护和私有等多级访问权限,目的是隐藏类中的私有变量和类中方法的实现细节。
继承性:
类的继承性提供从已存在的类创建新类的机制,继承(inheritance)使一个新类自动拥有被继承类(父类)的全部可继承的成员。
多态性:
类的多态性提供类中方法执行的多样性,多态性有两种表现形式:
重载和覆盖。
13.谈谈对XML的理解?
说明Web应用中Web.xml文件的作用?
解答:
XML(ExtensibleMarkupLanguage)即可扩展标记语言,它与HTML一样,都是SGML(StandardGeneralizedMarkupLanguage,标准通用标记语言)。
Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。
扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。
web.xml的作用是配置欢迎页,servlet,filter,listener等的。
14.jsp有哪些内置对象?
作用分别是什么?
(至少三个)
解答:
1)request表示HttpServletRequest对象。
它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie,header和session数据的有用的方法。
2)response表示HttpServletResponse对象,并提供了几个用于设置送回浏览器的响应的方法(如cookies,头信息等)。
3)out对象是javax.jsp.JspWriter的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。
4)pageContext表示一个javax.servlet.jsp.PageContext对象。
它是用于方便存取各种范围的名字空间、servlet相关的对象的API,并且包装了通用的servlet相关功能的方法。
5)session表示一个请求的javax.servlet.http.HttpSession对象。
Session可以存贮用户的状态信息。
6)application表示一个javax.servle.ServletContext对象。
这有助于查找有关servlet引擎和servlet环境的信息。
7)config表示一个javax.servlet.ServletConfig对象。
该对象用于存取servlet实例的初始化参数。
8)page表示从该页面产生的一个servlet实例。
9)exception针对错误网页,未捕捉的例外
15.事务是什么?
有哪些属性,并简要说明这些属性的含义。
解答:
事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。
事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begintransaction和endtransaction语句(或函数调用)来界定。
事务由事务开始(begintransaction)和事务结束(endtransaction)之间执行的全体操作组成。
事务应该具有4个属性:
原子性、一致性、隔离性、持续性。
这四个属性通常称为ACID特性。
(atomicity)。
一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做。
一致性(consistency)。
事务必须是使数据库从一个一致性状态变到另一个一致性状态。
一致性与原子性是密切相关的。
隔离性(isolation)。
一个事务的执行不能被其他事务干扰。
即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
持久性(durability)。
持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。
接下来的其他操作或故障不应该对其有任何影响。
19、HashMap和Hashtable的区别?
解答:
HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都实现了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上高于Hashtable。
HashMap允许将null作为一个entry的key或者value,Hashtable不允许HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。
因为contains方法容易让人引起误解Hashtable继承自Dictionary类,而HashMap是Java1.2引进的Mapinterface的一个实现。
最大的不同是,Hastable的方法是synchronize的,而HashMap不是,在多个线程访问Hashtable时,不需要自己为s它的方法实现同步,而HashMap就必须为之提供同步。
20.请说出ArrayList,Vector,LinkedList的存储性能和特性
解答:
ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
21.描述J2EE框架的多层结构,并简要说明各层的作用。
解答:
1)Presentationlayer(表示层)a.表示逻辑(生成界面代码)b.接收请求c.处理业务层抛出的异常d.负责规则验证(数据格式,数据非空等)e.流程控制
2)Servicelayer(服务层/业务层)a.封装业务逻辑处理,并且对外暴露接口b.负责事务,安全等服务
3)Persistencelayer(持久层)a封装数据访问的逻辑,暴露接口b.提供方便的数据访问的方案(查询语言,API,映射机制等)
4)Domainlayer(域层)a.业务对象以及业务关系的表示b.处理简单的业务逻辑c.域层的对象可以穿越表示层,业务层,持久层软件分层结构使得代码维护非常方便,设计明确,各层独立,专注自己擅长的领域。
23.简要描述如何结合struts、hibernate、spring开发Web应用?
解答:
Struts可以将jsp页面的表单关联起来,就是把JSP页面的表单数据封装成javaBean,这样的话,在action中你再也不需要使用传统的request.getParameter("name");还有struts有一个控制器,你在struts编程中的控制器(XxxAction)都是继承总的ActionServlet,它能集中处理请求,然后转到相关的页面。
还有struts的表单验证组件,不用你
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 笔试