Java测试题
一、 填空题(每空2分)
1 servlet需要继承HttpServlet类。
2 实现了Servlet接口的类,我们称之为servlet。
3 在servlet中,我们可能要完成的方法有init()、doGet()、doPost()、destroy()。其中必须完成的方法是doGet()或doPost()。
4 Tomcat服务器的端口号在那个文件中修改(写出文件的完整路径)
Tomcat-5.5\conf\server.xml
5 在oracle中system的默认密码是manager
6 如果要将部门表(dept)中的location这一列删除掉,写出修改表结构的DDL语句
alter table dept drop column location
7 单从概念上讲,MVC代表了采用视图、模型、控制器来实现代码分离的一种模式。
8 jsp、servlet、javabean分别在MVC结构中扮演了视图、控制器、模型角色
9 HashMap是一个key(键)/value(值)对结构的类,向HashMap中添加数据的方法是put(Object key,Object value)。
10 ArrayList中可以存放重复值。Set接口中不能存放重复值。
11 struts是一个MVC结构的框架。
12 jsp的执行方式是编译执行。
13 Iterator是一个接口。
14 程序流程是由 顺序、分支、循环结构组成。
15 面向对象的概念中有封装、继承、多态特点。
16 对象与对象间的关系有包含、关联、继承。
二、 问答题(每题5分)
1 谈谈servlet生命周期.
加载 init()
处理请求 doGeT()或doPost()
销毁 destroy()
Servlet只会被加载一次,但加载并不等于实例化,而是当需要这个servlet来处理请求的时候。Web容器才会实例化该对象。
2 override(重写)和overload(重载)的区别是什么?
重载 当两个方法具有相同的名字,但参数类型或个数不同的时候,称之为重载。重载可以运用于同一个类中,也可以运用于父类和子类间。重载主要是为了能够使用一个方法名却拥有不同的多个实现。
重写 两个方法的方法签名完全相同,包括(返回值类型、方法名、参数个数、参数类型、抛出的异常) 的时候称为重写。只能运用在父类和子类之间。重写是为了能够在子类中使用新的方法实现来覆盖掉父类的实现。所以重写又叫做覆盖。
3 转发和重定向的区别是什么?
转发 请求只能在当前的web应用内部进行流转,而不能转向其他的web应用,所以转发能够将存放在请求中的数据从一个文件带到另一个文件。它是由服务器完成。
重定向 请求可以在任何web应用间进行流转。但它会将请求中的数据丢弃。它是由服务器将请求发送客户端,由客户端自己重新发出请求。
4 在java集合包中,Set和List有分别有哪些特点和区别?
Set 是一个无序且不能存放重复值的集合类型。具体实现有HashSet、TreeSet
List 是一个有序的可以存放重复值的集合类型,原因是因为List是由下标的。
5 final、finally、finalize()的区别。
final 适用于声明常量、不可覆盖的方法、或不可继承的类。
finally 是java异常处理的关键字。用于执行始终都要执行的代码。
finalize() 是Object类中的方法,在对象被垃圾回收时,会调用一次该对象的此方法。
6 在数据库设计中,1NF、2NF、3NF分别代表了怎样的规范?
1范式 是列不可再分和消除重复行
2范式 是消除部分依赖,当然这是针对具有复合主键的情况
3 范式 是消除传递依赖,进行实体再分
7 什么是数据库模式?
每一个数据库用户都会有一个模式,该模式与用户名同名,模式主要是表示该用户的数据库对象的集合。
8 什么是视图?视图和表有何区别?
视图 就是一段SELECT语句,存放在数据字典中,他不占用存储空间
而表需要存放数据,他是占用存储空间的。视图相当于是一个表或多个表对外的窗口。