(JAVA) - 3级 - 理论知识复习题

更新时间:2024-03-27 02:05:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第3部分

(一)基本概念部分复习题

基础知识

一、判断题(将判断结果填入括号中。正确的填“√”,错误的填“×”):

1. 在java中一个类不能同时继承一个类和实现一个接口。(F)--可已实现多个接口

2. 关于集合 List 接口继承了 Collection 接口以定义一个不允许重复项的有序集合。F 3. jsp不采用多线程。(F)--采用多线程方式

4. 关于垃圾回收机制,当JVM处于空闲时,垃圾收集器线程会自动检查每一块分配出去的

内存空间。(F)

5. NULL是java关键字。(F)--应该为null,但其是保留字

6. 关于JAVA序列化与反序列化,任何类的对象都能被序列化。(F )--例如socket不可被

序列化

7. 内部类只能被它的外部类,不能再被其他的类使用。(F)--参看判断题7 8. 面向对象的技术已经在现在的软件开发中占据了主流的位置。(T)

9. 软件开发过程中的任何一个活动都是为了能够产出优秀的代码。所以,代码才是核心。

(F)

10. 软件开发方法可归纳为三种模式:基于瀑布模型的结构化生命周期法、基于动态需求定

义的原型化方法和面向对象的方法。(Y)

11. 所有的文件输入/输出流都继承于InputStream类/OutputStream类。(N)--还有Writer

类和Reader类,这两个类是负责字符输入输出的

12. 程序中抛出异常时(throw ?),只能抛出自己定义的异常对象。(N)

13. 由于URL对象对应的Internet地址可以划分为“协议名”、“端口号”和“文件名”3

部分,所以创建一个URL对象后,可以通过修改这3部分内容来修改这个URL对象的Internet地址。(N)

14. 在因特网中不同计算机的相同端口号是没有联系的。(N)

15. 不管网络层使用的是什么协议,在实际网络的链路上传送数据帧时,最终还是必须使用

IP地址。(N)

16. 广域网和局域网都是互联网的重要组成构件。尽管它们的价格和作用距离相差很远,所

以从互联网的角度来看,广域网和局域网却也是不平等的。(N)

二、单项选择题(选择一个正确的答案,将相应的字母填入题内的括号中)

1. java语言在语言的类型上应属于那种类型的语言( B)

(A) 编译型的语言 (B) 解释型的语言 (C) 脚本型的解释语言 (D) 编译链接型的语言

2. 关于java的面向对象的编程特性中的封装机制,以下说法正确的是(A )

(A) 将问题的特征属性与问题的功能方法相组合在一起形成一个类。 (B) 将问题的特征属性与问题的功能方法相分离,形成各自的程序。 (C) 将问题的特征属性内嵌到问题的功能方法的定义体中。

(D) 对具体问题只需给出其功能实现方法,而不必给出其特征属性的定义。 3. Hashtable实现以下哪个接口(A )可以参看java结构图也可以看API文档

(A) java.util.Map (B) java.util.List (C) java.util.Hashable (D) java.util.Collection 4. 下面关于集合的说法正确的是(B)

(A) List 接口继承了 Collection 接口以定义一个不允许重复项的有序集合。 (B) ArrayList 和 LinkedList是List接口的实现类。

(C) 要支持随机访问,选择LinkedList类较好,而顺序的访问列表元素使用 ArrayList类更好。

(D) Set 接口继承 Collection 接口,而且它允许集合中存在重复项。 5. 哪种方式能将新的内容追加到一个文本文件 “file.txt”? (C)

(A) OutputStream out=new FileOutputStream(“file.txt”);

(B) OutputStream out=new FileOutputStream(“file.txt”, “append”); (C) FileOutputStream out = new FileOutputStream(“file.txt”,true); (D) FileOutputStrea out=new FileOutputStream(new file(“file.txt”)); 6. 在读字符文件Employee.dat时,使用该文件作为参数的类是(D )

(A) BufferReader--BufferedReader(Reader in, int sz)或BufferedReader(Reader in)

(B) DataInputStream-- DataInputStream(InputStream in) (C) DataOutoutStream-- DataOutputStream(OutputStream out)

(D) FileInputStream--FileInputStream(File file)或FileInputStream(FileDescriptor fdObj)或FileInputStream(String name)

7. 要使用Java语言开发socket程序,需要使用(A)包。

(A) java.net (B) java.io (C) java.awt (D) java.util

8. JAVA语言中的套接字(Socket)是一种基于网络进程通信的接口,是网络通信协议的

一种应用。它有两个主要类,下列哪个在Application应用程序中实现客户端的通信功能。(C)

(A) ServerSocket类--此类实现服务器套接字。服务器套接字等待请求通过网络传入 (B) URL类 --类 URL 代表一个统一资源定位符,它是指向互联网“资源”的指针 (C) Socket类--此类实现客户端套接字(也可以就叫“套接字”)。套接字是两台机器间通信的端点。 (D) Client

9. Thread类用来创建和控制线程,一个线程从下面(B)方法开始执行。首先调用start()

函数,系统自动调用run()方法 (A) init() (B) start() (C) run() (D) notifyAll()

10. 下列有关线程的叙述哪个是正确的?(B)

(A) 一旦一个线程被创建,它就立即开始运行--堵塞状态就不可立时运行

(B) 调用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行 (C) 主线程不具有默认优先级--默认优先级为5

(D) Java中线程的优先级从低到高以整数0~9表示--1~10 11. 关于JAVA中垃圾回收机制的说法正确的是?(C)

(A) Java技术提供了一个轻量级的线程,即垃圾收集器线程,来跟踪每一块分配出去的内存空间。--属于系统级的线程,只是优先级很低

(B) 当JVM处于空闲时,垃圾收集器线程会自动检查每一块分配出去的内存空间。--空闲循环时

(C) 当程序运行结束后,所有创建的对象都会被自动清除出内存空间。

(D) 垃圾收集线程在一个Java程序中的执行是自动的,也可以强制执行--不可强制执行,只能建议执行

12. 关于JAVA中垃圾回收的说法正确的是?(B)

(A) 当没有对象引用指向原先分配给某个对象的内存时,该内存便成为垃圾。--垃圾的定义:如果该对象不能再被程序中任何一个\活动的部分\所引用,此时我们就说,该对象

的内存空间已经无用。所谓\活动的部分\,是指程序中某部分参与程序的调用,正在执行过程中,尚未执行完毕。

(B) 垃圾收集意味着程序不再需要的对象是\无用信息\,这些信息将被回收。 (C) JAVA中垃圾收集是自动完成的。

(D) JAVA中垃圾收集的所有算法都能100%清除废弃内存。--不能保证一个无用的对象一定会被垃圾收集器收集,也不能保证垃圾收集器在一段Java语言代码中一定会执行 13. 下面哪些是java语言中的关键字?(B)

(A) sizeof --其属于函数名,不属于关键字 (B) abstract

(C) NULL --应该为null,但其是保留字 (D) Native--应该为native 14. 下面语句哪个是正确的?( )

(A) char='abc'; --abc是字符串 (B) byte b=128; --128超出范围

(C) float f=0.23; --应该为f=0.23f,否则系统会认为是double而出错 (D) double d=0.7E-3;--后面可以带字母d或是不带都可以 15. 关于JAVA序列化与反序列化的说法正确的是?(A)

(A) 对象序列化是指将对象转换为字节序列的过程,而反序列化则是根据字节序列恢复对象的过程。

(B) 任何类的对象都能被序列化--不是所有的类

(C) 对实现了Serializable接口的类,采用默认的反序列化方式--实现

Serializable接口的类对象可以转换成字节流或从字节流恢复,不需要在类中增加任何代码

(D) 实现了Externalizable接口的类,采用默认的序列化方式--如 果一个类要完

全负责自己的序列化,则实现Externalizable接口

16. 对于JAVA序列化作用的解释,不正确是?(D)-- 序列化:当你想把的内存中的对象状

态保存到一个文件中或者数据库中时候;当你想用套接字在网络上传送对象的时候;当你想通过RMI(远程方法调用)传输对象的时候

(A) 永久性保存对象,保存对象的字节序列到本地文件中 (B) 通过序列化对象在网络中传递对象 (C) 通过序列化在进程间传递对象 (D) 通过序列化能使JAVA程序顺序进行

17. 关于内部类的叙述不正确的是?(A)—参看单选题7的知识讲解

(A) 一个内部类的对象能够访问创建它的外部类对象的所有属性及方法

(B) 对于同一个包中的其它类来说,内部类可以用private修饰,将自己隐藏起来。 (C) 内部类可定义在方法中,称为局部内部类,但它只能使用方法中的final常量。 (D) 内部类不能被abstract修饰。

18. 关于内部类的说法正确的是?(D) —参看单选题7的知识讲解

(A) 定义在一个类内部的类叫内部类 (B) 不包含内部类的类称为外部类 (C) 内部类只能声明public访问限制 (D) 内部类不能访问外部类的所有方法与属性

19. 以下那种类型的对象哪个被throw抛出?(D) —参看单选题19的知识讲解

(A) collection (B) Event (C) Object (D) Exception

20. 哪个关键字可以抛出异常?(C) —参看单选题19的知识讲解

(A) transient (B) finally (C) throw (D) static

21. 下列选项中不属于软件生命周期开发阶段任务的是。(C) —参看单选题21的知识讲解

(A) 软件测试 (B) 概要设计 (C) 软件维护 (D) 详细设计

22. 软件开发的结构化生命周期方法将软件生命周期划分成(A) —参看单选题21的知识讲

(A) 定义、开发、运行维护 (B) 设计阶段、编程阶段、测试阶段 (C) 总体设计、详细设计、编程调试 (D) 需求分析、功能定义、系统设计 23. 下列叙述不正确的是(B)

(A) 面向对象的技术已经在现在的软件开发中占据了主流的位置

(B) 软件开发过程中的任何一个活动都是为了能够产出优秀的代码。所以,代码才是核心。

(C) 软件的开发过程中如果有一个环节发生变化,不一定会对其它的环节产生影响。

(D) 目前软件开发慢慢向工程化发展。

24. 对于面对对象的软件开发描述不正确的是(C)-- 非面对对象软件开发是以软件模块为

单位来分配任务的,而面向对象软件开发则不同,它是以类作为基本单位的。 (A) 对于面向对象来说,它最重要的改进就是把世间万物都描述为对象,符合人的正常思维。

(B) 从程序员的角度看来,面向对象代码更侧重于对象之间的交互,多个对象各司其职,相互协作以完成目标。

(C) 面对对象软件开发是以软件模块为单位来分配任务。

(D) 面对对象的优势之一是能够提高代码的重用性,减少程序员的开发工作量。 25. 软件需求分析是保证软件质量的重要步骤,它的实施应该是在(A) —参看单选题21的

知识讲解和PPT (A) 开始阶段

(B) 编码软件开发全过程 (C) 软件定义阶段 (D) 软件设计阶段

26. 在瀑布模型中,将软件划分为若干个时期,软件项目的可行性研究一般归属于(B)-- 参

看单选题26的知识讲解和PPT (A) 维护时期 (B) 计划时期 (C) 运行时期 (D) 开发时期

27. 对于网络拓扑结构中的星型结构描述不正确的是(D) --参看单选题27的知识讲解

(A) 星形拓扑控制简单。

(B) 星形拓扑故障诊断和隔离容易。 (C) 星形拓扑方便服务。

(D) 星形拓扑各站点的分布处理能力较强。

28. 在计算机网络的IsO/OSI七层模型中,负责选择合适的路由,使发送的分组能够正确无

误地按照地址找到目的站并交付给目的站的是? (A)。--参看单选题28的知识讲解 (A) 网络层 (B) 数据链路层 (C) 运输层 (D) 物理层

29. 网络协议精确地规定了交换数据的(B)。--一个网络协议至少包括三要素:

语法 用来规定信息格式;数据及控制信息的格式、编码及信号电平等。

语义 用来说明通信双方应当怎么做;用于协调与差错处理的控制信息。

定时 (时序)定义了何时进行通信,先讲什么,后讲什么,讲话的速度等。比如是采用同步传输还是异步传输! (A) 格式和结果 (B) 格式和时序 (C) 结果和时序 (D) 格式、结果和时序

30. ISO安全体系结构中的对象认证安全服务,使用什么技术完成?(C)参看单选题30的

知识讲解

(A) IP头部的协议字段 (B) 防火墙 (C) 数字签名 (D) 以上都不是

31. 计算机网络中信息传递的调度控制技术可分为三类,以下不属于此控制技术的(D)

(A) 流量控制 (B) 拥塞控制

(C) 防止死锁 (D) 时延控制

32. 下面哪个不是常见的网络拓扑结构(D)

(A) 星形 (B) 总线形 (C) 环形 (D) 链形

三、多项选择题(选择一个或多个正确的答案,将相应的字母填入题内的括号中)

1. Java面向对象的特征是(ABC)

(A) 继承 (B) 封装 (C) 多态 (D) 调用

2. 下面哪些接口直接继承于Collection接口。(AC)

(A) List (B) Map (C) Set

(D) HashTable

3. 下列哪些类可以作为FileInputStream类的构造方法的参数?( BD)—java API上面查

看 FileInputStream的构造函数有三个,参数分别为File、FileDescriptor、String (A) InputStream (B) File

(C) FileOutputStream (D) String

4. 建立TCP服务器端需要哪两个步骤?(AC )

(A) 建立一个ServerSocket对象 (B) 建立一个Socket对象 (C) 开始监听 (D) 建立Socket连接

5. 哪些情况会造成当前线程阻塞:(AB)

(A) 调用Thread类的wait方法 (B) 调用Thread类的sleep方法 (C) 创建了一个新的线程 (D) 当前线程运行的时间太长了

6. Java垃圾回收机制的两种方法:(D)-- 引用计数和对象引用队列

(A) 标记法 (B) 整体搬移法 (C) 垃圾模块处理法 (D) 以上都不对

7. 下列变量命名中,哪些符合Java编码规范?(BC)

(A) public short Count; 单个字母全部小写 (B) private Icon iconLogo; (C) protect int[] scores;

(D) float Result; 单个字母全部小写 8. 对象流中可以写入哪些类型的数据?(AC)

(A) 原始数据类型 (B) 对象

(C) 实现了序列化接口的对象 (D) 数组

9. 下面哪些说法是正确的?(AB)

(A) 匿名内部类可以在方法内部声明

(B) 匿名内部类的构造函数可以有参数

(C) 匿名内部类如果是除Object类外的某个类的子类,还可以实现多个接口 (D) 匿名内部类如果是除Object类外的某个类的子类,至多只能再实现一个接口 10. 在Java中,关于捕获异常的语法try-catch-finally的下列描述正确的是哪个项目?

(ABDE)—参看多选-10 (A) java异常处理

(B) try-catch必须配对使用 (C) try可以单独使用 (D) try-finally可以配对使用

(E) 在try-catch后如果定义了finally,则finally肯定会执行 11. 面向对象软件开发的特点:(ABCD)

(A) 模型从需求开始被开发

(B) 模型逐步演化为详细的类模型、类连接和关系、系统设计和分配、以及对象设计 (C) 测试的目标是在错误传播到下一次递进前发现错误 (D) 以功能进行模块划分

12. 下列哪些活动属于软件过程的基本活动?(ABCD)

(A) 软件需求分析 (B) 软件设计 (C) 软件实现 (D) 软件维护

13. 网络拓扑结构分为( ABCD)—还有树型和混合型拓扑结构

(A) 星型网络结构 (B) 环型网络结构 (C) 总线型网络结构 (D) 网状结构

14. 下列哪些阶段不属于软件开发周期?(ABD)

(A) 软件定义 (B) 软件开发 (C) 软件维护 (D) 软件推销

15. 一般认为决定局域网特性的主要技术有三个,它们是(ABC)。

(A) 传输媒体 (B) 拓朴结构 (C) 媒体访问控制方法 (D) 数据交换技术

16. 不能完成VLAN之间数据传递的设备是(AC)。 --参看多选-16

(A) 中继器 (B) 以太网交换器 (C) 网桥 (D) 路由器

JAVA EE标准技术

一、判断题(将判断结果填入括号中。正确的填“√”,错误的填“×”):

1. 事务隔离级别是由数据库系统实现的。(Y)--参看判断题1 2. 系统自身的数据库能够作为系统的角色。(N)

3. 关于XML基本语法元素可以嵌套,可以重叠。(Y)--参看判断题3

4. 关于DOM 的缺点,由于 DOM 可以使用任何语音编写实现,所以方法等命名习惯(Naming

Convention)没有遵守标准的 Java 命名习惯。(N)-- DOM: Document Object Model,知识点参看判断题4

5. 为定义一个XML文档的结构,开发者可以使用的XML技术有DTD, XML Schema, UML。(N)

--uml为另外一种语言,知识点参看判断题5

6. DOM能很容易更改文档内容。(Y)--知识点参看判断题4

7. SAX事件驱动型,非常节省内存。(Y)--知识点参看判断题7和判断题5的介绍 8. 在Servlet的生命周期中,仅执行一次init方法,是在服务器装入Servlet时执行的。

(N)--知识点参看判断题8 9. jsp不采用多线程。(N)

10. JNDI是接口,由J2EE服务器实现,应用程序使用。 (Y)--知识点参看判断题10 11. Statement对象代表一个静态SQL语句,只能执行一次。(Y)--知识点参看判断题11 12. 连接池就是在内存中缓存一定数量的数据库连接,用以提高数据库访问性能。(Y)--知识点参看判断题12

13. hibernate是ORM框架,即把面向关系的数据库操作都封装成了面向对象的操作。(Y)

--知识点参看判断题13

14. 实体间的联系用实体模型来描述。(N)--是使用对象来展现

15. 完整约束条件的检查总是在事务的每个维护操作执行后立即进行。(N)

16. 约束是防止对数据库进行非法访问的主要方法 。(N)--访问控制是防止对数据库进行

比hibernate要好,因为hibernate是基于jdbc的技术.

(A) JDBC 是一个面向Java环境的对象/关系数据库映射工具。 (B) hibernate对JDBC进行了非常轻量级的对象封装 (C) JDBC是一种用于执行SQL语句的Java API

(D) JDBC提供了一种基准,据此可以构建更高级的工具和接口 29. 哪项不是JDBC与Hibernate的共同点: (D)--参看选择题29

(A) 两者都是JAVA的数据库操作中间件。

(B) 两者对于数据库进行直接操作的对象都不是线程安全的,都需要及时关闭。 (C) 两者都可以对数据库的更新操作进行显式的事务处理 (D) 两者都是用标准的SQL语言

30. 数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(A)。

(A) DBS包括DB和DBMS (B) DBMS包括DB和DBS (C) DB包括DBS和DBMS (D) DBS就是DB,也就是DBMS

31. 下列4项中,不属于数据库系统特点的是(C)。--参看选择题31

(A) 数据共享 (B) 数据完整性 (C) 数据冗余度高 (D) 数据独立性高

32. 区分不同实体的依据是(B)。--实体在数据库中就是表,不同表之间的区分是通过属性

来区分的 (A) 名称 (B) 属性 (C) 对象 (D) 概念

//这儿开始是和复习资料对应的

33. 关系数据模型是目前最重要的一种数据模型,它的3个要素分别是(B)。--参看选择题

33

(A) 实体完整性、参照完整性、用户自定义完整性 (B) 数据结构、关系操作、完整性约束 (C) 数据增加、数据修改、数据查询 (D) 数据结构、数据修改、用户自定义完整性

34. 从一个数据库文件中取出满足某个条件的所有记录形成一个新的数据库文件的操作是

(C)操作。--参看选择题34 (A) 投影 (B) 连接 (C) 选择 (D) 复制

35. 关系代数中的连接操作是由(B)操作组合而成。--参看选择题34

(A) 选择和投影 (B) 选择和笛卡尔积 (C) 投影、选择、笛卡尔积 (D) 投影和笛卡尔积

36. 下列的SQL语句中,(D)不是数据定义语句。--参看选择题36

(A) CREATE TABLE (B) DROP VIEW (C) CREATE VIEW (D) GRANT

37. SQL语言的GRANT和REVOKE语句主要是用来维护数据库的(C)--参看选择题36

(A) 完整性 (B) 可靠性 (C) 安全性 (D) 一致性

38. DBMS中实现事务持久性的子系统是(D)

(A) 安全管理子系统 (B) 完整性管理子系统 (C) 发控制子系统 (D) 恢复管理子系统

三、多项选择题(选择一个或多个正确的答案,将相应的字母填入题内的括号中)

1. 以下关于JDBC的叙述中,正确的是( )

(A) JDBC是一套API集合

(B) JDBC设置了许多允许Java程序连接数据库的框架 (C) ODBC不能在Java程序中直接实现,而JDBC可以 (D) JDBC提供了JDBC/ODBC之间的桥梁 2. 下面哪一项不是JDBC的用途?( )

(A) 与数据库建立连接

(B) 操作数据库,处理数据库返回的结果 (C) 在网页中生成表格 (D) 向数据库管理系统发送 SQL 语句 3. 关于CallableStatement对象说法正确?( )

(A) CallableStatement 对象用于执行对数据库已存储过程的调用。

(B) CallableStatement对象中,有一个通用的成员方法call,这个方法用于以名称的方式调用数据库中的存储过程。

(C) 在数据库调用过程中,可以通过设置IN参数向调用的存储过程提供执行所需的参数。

(D) 在存储过程的调用中,通过OUT参数获取存储过程的执行结果。 (E) CallableStatement 对象用于执行对数据库所有的调用。 4. JDBC有哪两种方式可以连接数据库?(BD)

(A) 数据库的管理工具 (B) 数据库的JDBC驱动 (C) 数据库查询语言SQL (D) JDBC-ODBC桥接器

5. Java JDBC异常类中包含的成员有(ABC)--查看Java API

(A) Java.Sql.DataTruncation (B) Java.Sql.SQLException (C) Java.Sql.SQLWarning (D) Java.Sql.SQLErrorCode

6. 一个数据库是包含?(ABCD)--查看多选题6

(A) 表 (B) 视图 (C) 存储过程 (D) 触发器

7. 关于主键下列说法正确的是:(ACD)--参看多选题7

(A) 一个表的主键由一个或多个字段组成。 (B) 一个表的主键由只能由一个字段组成。 (C) 其值具有惟一性,而且不允许取空值(NULL) 。 (D) 主键的作用是惟一地标识表中的每一条记录。

8. 插入语句不正确的是? (CD)--INSERT INTO 语句INSERT INTO 语句用于向表格中插

入新的行。语法:INSERT INTO 表名称 VALUES (值1, 值2,....),也可以指定所要插

入数据的列:INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....),还可以参看选择题36 (A) INSERT INTO table_dame

[(column_list)] VALUES (value_list)

(B) insert INTO table_dame

[(column_list)] VALUES (value_list)

(C) INSERT into table_dame

[(column_list)] (value_list)

(D) insert INTO table_dame VALUES

[(column_list)] (value_list)

9. 一般情况下,关系数据模型与对象模型之间有哪些匹配关系(ABC)

(A) 表对应类 (B) 记录对应对象 (C) 表的字段对应类的属性

(D) 表之间的参考关系对应类之间的依赖关系 10. 以下哪一项属性表示在语法上是正确的?( )

(A) John (B) John (C)

(D) John 11. 关于命名空间下列说法正确的是?(ABC)--参看多选题11

(A) 命名空间标识最重要的一个特性就是唯一性。 (B) XML 使用现有的网络地址来作为命名空间的唯一标识。

(C) 该网络地址的作用是用来唯一标识命名空间,所以该地址存不存在不重要。 (D) 解决文档转换问题。

12. 关于命名空间下列说法正确的是?( )

(A) 命名空间标识最重要的一个特性就是唯一性。 (B) XML 使用现有的网络地址来作为命名空间的唯一标识。

(C) 该网络地址的作用是用来唯一标识命名空间,所以该地址存不存在不重要。 (D) 解决文档转换问题。

13. 在XML中,下列关于DOM的叙述()是正确的。

(A) DOM是独立于开发语言和平台的,因此使用Visnal Basic、Java、Visual C++等开发工具使用的DOM编程API是一致的

(B) XML文档通过load方法被装载进内存后,在内存中形成一个DOM文档对象模型树 (C) 通达DOM API,软件开发人员可以控制XML文档的结构和内容 (D) 通过DOM在XML文档中只能按照顺序方式导航 14. 关于SAX 和DOM下列说法正确的是?( )

(A) SAX 对大文档非常适合,但是只能读取文档,不能修改。 (B) DOM对小文档非常适合。 (C) DOM能很容易更改文档内容。 (D) SAX事件驱动型,非常节省内存。

15. 在Servlet类中,有一个方法init()用来做初始化,下面哪个说法是正确的?(AD)

--参看多选题15

(A) 它在servlet类被实例化的时候调用

(B) 它在servlet类被classloader加载的时候被调用--当运行Java程序时,首先运行JVM(Java虚拟机),然后再把Java class加载到JVM里头运行,负责加载Java class的这部分就叫做Class Loader

(C) 每个servlet实例的该方法都会被多次调用

(D) 缺省的init()方法设置了Servlet的初始化参数,并用它的ServletConfig对象参数来启动配置

16. JSP页面包括以下哪些元素?(ABC)--参看多选题16

(A) JSP指令 (B) JSP Action (C) JSP脚本 (D) JSP控件

17. JDBC与Hibernate的不同点有以下几项 ()

(A) JDBC使用的是基于关系型数据库的标准SQL语言,Hibernate使用的是HQL语言 (B) 操作的对象不同:JDBC操作的是数据,Hibernate操作的是持久化对象,由底层持久化对象的数据更新到数据库中。

(C) 两者的安全级别不同:JDBC不是线程安全的,而Hibernate的线程安全的

(D) 数据状态不同:JDBC操作的数据是“瞬时”的,变量的值无法与数据库中的值保持一致,而Hibernate操作的数据是可持久的,即持久化对象的数据属性的值是可以跟数据库中的值保持一致的。

18. 以下那些不是xml注释(ACD)--注释以 结尾,例如 (A) <@- --> (B) (C) /** */ (D) //

19. 以下关于STAX解析XML说法正确的是(CD)--参看多选题19

(A) 作为一种面向流的方法,性能上不如其他方法,如 DOM 和 SAX (B) 作为一种面向流的方法,可用性不如其他方法,如 DOM 和 SAX (C) StAX 实际上包括两套处理 XML 的 API,分别提供了不同程度的抽象 (D) 为了使用这两类 API,应用程序首先必须获得一个具体的 XMLInputFactory

Java EE外围框架

一、判断题(将判断结果填入括号中。正确的填“√”,错误的填“×”):

1. 关于struts标签如果常数小于等于被定义的实体,返回true。

(N)--参看判断题1

2. Struts 是MVC的一种实现,它将 Servlet和 JSP 标记(属于 J2EE 规范)用作实现

的一部分。(Y )-- struts是开源软件。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。

3. Struts使用(ActionForm)捕获表单数据。(Y)--参看判断题3 4. javaBean+jsp+servlet不是基于mvc模式。(N)--参看判断题4

5. 在Struts2 framework中, Controller主要是ActionServlet。(N)--参看判断题

5(Struts1是,Struts2不是)

6. Spring是一个开源框架,它是为了解决企业应用开发的复杂性而创建的。(Y)--参看

判断题6

7. 关于在hibernaet中实体关系映射多对多包括单向多对多和双向多对多。(Y)--参看判

断题7

8. session的save()方法把一个临时对象转变为持久化对象。(Y)--参看判断题8

9. HttpServletRequest对象封装客户的请求信息,这些信息包括客户的环境信息和从客

户端送到服务器端的数据。(Y)--参看判断题9

10. strust2为了实现国际化,必须先提供程序所需的资源文件(key-value对)(Y)--参

看判断题10

11. strust2的Action是线程安全的(Y)--参看判断题11

12. Aop的基本概念是:不创建对象,但是描述创建它们的方式。(N)--参看判断题12 13. IoC(控制反转)将自己模块交给容器去控制,而不是由模块本身去处理。(Y)--参看

判断题13

14. 在Ajax中,XMLHttpRequest对象共有3个状态值(N)--参看判断题14,为5个

AJAX为“Asynchronous JavaScript and XML”(异步的JavaScript与XML技术),是一种广泛应用在浏览器的网页开发技术

15. XMLHttpRequest对象的open方法的参数中,url参数可以是相对URL或绝对URL。(Y)

----参看判断题14

16. 服务端技术的确定性是使用ajax的理由之一(N)

二、单项选择题(选择一个正确的答案,将相应的字母填入题内的括号中)

1. 有关Struts Action Mapping的配置描述错误的是(B)--参考选择题1

(A) form-bean

(B) action-forwards -- global-forwards (C) action-mappings (D) data-sources

2. 关于ActionError的描述错误的是(D)--参看选择题2

(A) ActionError类定义了一组重载的构造器来创建错误信息

(B) ActionError类从不独立进行错误处理,它们总是被存储在ActionErrors对象中。 (C) ActionErrors的size()返回错误的数目 (D) ActionErrors的empty ()清除所有的错误 3. 关于mvc模式的说法错误的是(D)--参看选择题3

(A) Struts 是MVC的一种实现,它将 Servlet和 JSP 标记(属于 J2EE 规范)用作实现的一部分

(B) MVC即Model-View-controller的缩写,是一种常用的设计模式 (C) Controller——控制整个framework中各个组件的协调工作 (D) view——用于处理业务逻辑

4. 关于struts2标签的用法说法错误的是(B)--参看判断题1

(A) 标记能够将响应转发给重定向到特定的全局ActionForward上 (B) 如果常数小于等于被定义的实体,返回true

(C) 用于将源bean在页作用域中被拷贝到请求作用域中的另一个bean (D) struts-html taglib:包含用来生成动态HTML用户界面和窗体的tag。 5. 关于struts2的描述错误的是(D)--参看选择题5

(A) Struts-config.xml集中了所有页面的导航定义

(B) ActionServlet 是struts框架 MVC 实现的 controller 部分,它是这一框架的核心。

(C) Action 类是业务逻辑的一个包装。Action 类的用途是将 HttpServletRequest 转换为业务逻辑。

(D) 每个子应用对应一个单独的web.xml文件

6. 关于struts2体系结构的描述错误的是(C)--参看选择题5

(A) 从视图角度(View),struts自身包含了一组可扩展的自定义标签库(TagLib),可以简化创建用户界面的过程。

(B) ActoinServlet必须在Web Application配置文件(web.xml)中描述 (C) 在Struts2 framework中, Controller主要是ActionServlet (D) ActionServlet继承是来自javax.servlet.http.HttpServlet类 7. 关于Spring IoC容器的使用错误的是(D)

(A) 一个bean至少需要一个id(或者是name)属性和一个class属性(attribute) (B) 指定依赖关系时, bean:从同一个XML中或另一个已经导入到ApplicationContext中的XML文件查找所依赖的

(C) 一个bean的依赖关系是指这个进行操作时所依赖的一种属性。 (D) 依赖指向了一个简单的数值

8. 关于spring的描述错误的是(D)--参看判断题6

(A) Spring是一个开源框架,它是为了解决企业应用开发的复杂性而创建的 (B) Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。 (C) Spring将使用接口的复杂度降低到零

(D) Spring应用中的对象依赖于Spring的特定类。

9. Spring框架由以下哪些模块组成 ,错误的是(C)--参看判断题6

(A) 核心容器

(B) 应用上下文(Context)模块 (C) Spring的IOC模块—属于核心容器 (D) JDBC抽象和DAO模块

10. 对Session中的方法描述错误的是?(D) --参看选择题10

(A) 在同一Session中更新 --- save() 方法 (B) 更新从session脱离的对象--- update()方法

(C) saveOrUpdate()方法同时包含了save() 和 update() 两个功能。 (D) saveOrUpdate()方法中如果传入的对象是游离对象,就调用save()方法 11. 下面关于ajax的工作原理描述是错误的是?(D)--参看选择题11

(A) 相当于在用户和服务器之间加了一个中间层,使用户操作与服务器响应异步化 (B) 把一些服务器负担的工作转嫁到客户端,利用客户端闲置的处理能力来处理 (C) 不是所有的用户请求都提交给服务器 (D) 所有数据由Ajax引擎代为向服务器提交请求

12. 下面关于ajax中http就绪状态描述错误的是(D) --参看选择题12

(A) 0:请求没有发出(在调用 open() 之前)。

(B) 1:请求已经建立但还没有发出(调用 send() 之前)。

(C) 2:请求已经发出正在处理之中(这里通常可以从响应得到内容头部)。 (D) 3:响应已完成,可以访问服务器响应并使用它。

13. 下面关于XmlHttpRequest对象的方法描述错误的是:(D)--参看选择题13

(A) open():建立到服务器的新请求 (B) send():向服务器发送请求。

(C) readyState:提供当前 HTML 的就绪状态。 (D) abort():服务器返回的请求响应文本。

14. 从HTTP请求中,获得请求参数,应该调用哪个方法? (C)--参看选择题14

(A)调用HttpServletRequest对象的getAttribute()方法 (B)调用ServletContext对象的getAttribute()方法 (C)用HttpServletRequest对象的getParameter()方法 (D)调用HttpServletRequest对象的setAttribute()方法 15. 关于常见的Java框架技术,下列选项中的说法错误的是(A)

(A) struts是一个MVC实现,限制了系统的“模型”,“视图”和“控制器”的实现方式

(B) Hibernate是一个持久化框架,可以替代繁琐的JDBC编程 (C) Spring 提供了依赖注入和Aop的实现

(D) DWR可以帮助我们更快捷的完成Ajax编程—参看选择题15关于DWR的介绍 16. 下面的哪个方法用来从Servlet Context中取出初始参数(D)—参看选择题16

(A) Object getInitParameter(int index) (B) Object getParameter(int index) (C) Object getInitParameter(String name ) (D) String getInitParameter(String name)

17. 关于Spring和Struts集成,下面说法错误的是(A)--参看选择题17

(A) 集成后,Action类都改为从Spring提供的DelegationActionProxy继承 (B) 集成后,Action中使用的Biz实例,将由Spring管理

(C) 通过Spring提供的ContextLoaderPlugIn插件,可以做到Spring和Struts的集成

(D) 在Struts配置文件中配置ContextLoaderPlugIn插件时,需要把Spring的配置文件位置告诉插件

18. 在Spring框架中,面向方面编程(AOP)的目标在于(B)--参看选择题18

(A) 编写程序时不用关心七依赖组件的实现 (B) 将程序中涉及的公共问题集中解决

(C) 封装jdbc访问数据库的代码,简化数据访问层的重复性代码 (D) 实现页面的\无刷新\

19. 在Spring中,配置Hibernate事务管理器(HibernateTransactionManager)时,需要

注入的属性名称是(B)--参看选择题19 (A) dataSource

(B) sessionFactory + 配置事务管理器(transactionManager) +配置事务的传播特性(txAdvice) (C) baseHibernateDao

(D) transactionProxyFactoryBean

20. 数据库表users中有一个birthday字段,对应实体类User中的birthday属性,那么

以下代码错误的是(C)--参看选择题20

20.A.A.1 Session session = super.getSession();

//第1行

20.A.A.2 String hql = \//第2行 –

语句有问题

20.A.A.3 Query query = session.createQuery(hql); 20.A.A.4 List list = query.list();

(B) 第1行 (C) 第2行 (D) 第3行 (E) 第4行

21. 在Java语言中,类Student是类Person的子类,Student的构造方法中有一句

\,该语句表达了什么概念?(C)--参看选择题21 (A) 调用类Worker中定义的super()方法 (B) 调用类Person中定义的super()方法 (C) 调用类Person的构造方法

//第3行

//第4行

(D) 语法错误

22. 下列有关线程的叙述哪个是正确的?(B)

(A) 一旦一个线程被创建,它就立即开始运行—一般是要在就绪队列里面等待 (B)调用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行 (C)主线程不具有默认优先级—有默认优先级是5

(D)Java中线程的优先级从低到高以整数0~9表示:--1~10

23. 在J2EE中,对于我们自己设计的Bean,应该(D)--bean是描述java的软件组件模型

(A) 一定要继承java.beans.Beans (B) 一定要实现Runnalbe接口 (C) 一定要继承java.lang.Thread类 (D) 可以不继承java.beans.Beans

24. 关于java的面向对象的编程特性中的封装机制,以下说法正确的是?(A)

(A) 将问题的特征属性与问题的功能方法相组合在一起形成一个类。 (B) 将问题的特征属性与问题的功能方法相分离,形成各自的程序。 (C) 将问题的特征属性内嵌到问题的功能方法的定义体中。

(D) 对具体问题只需给出其功能实现方法,而不必给出其特征属性的定义。

三、多项选择题(选择一个或多个正确的答案,将相应的字母填入题内的括号中)

1. 下面哪些任务是RequestProcessor完成的?(ABC)--多选题1。Struts框架只允许应

用中存在一个ActionServlet类,但是可以存在多个客户化的RequestProcessor类,每个子应用模块都可以有单独的RequestProcessor类,

(A) 如果需要的话,创建ActionForm实例,组装数据,并进行表单验证 (B) 找到匹配的Action实例,调用其execute()方法

(C) 把请求转发到Action的execute()方法返回的ActionForward代表的组件 (D) 把Struts配置文件信息加载到内存中 2. J2EE组件和MVC架构的对应理解正确的是:(ACD)

(A) J2EE在Web容器中的Servlet提供了业务流程控制,实现了MVC中的Controller。 (B) Bean实现了业务逻辑,也就是Model。--实现业务逻辑应该是Controller (C) J2EE在客户层中的Applet 以及Web层中的JSP实现了面向浏览器的数据表现,是View部分。

(D) Application Client实现了面向桌面应用的数据逻辑。这是MVC架构中的Model部分。

3. 关于Spring IoC容器的使用正确的是(ACD)--参看判断题13

(A) 一个bean的依赖关系是指这个进行操作时所依赖的一种属性。

(B) 依赖注入分为接口注入,设置方法注入两种实现形式--构造子注入(Constructor Injection),设值注入(Setter Injection)和接口注入(Interface Injection) (C) 由容器控制程序之间的(依赖)关系,而非传统实现中,由程序代码直接操控 (D) 一个bean至少需要一个id(或者是name)属性和一个class属性(attribute) 4. spring的两种核心思想(AB)--多选题4

(A) Spring IOC编程 (B) Spring AOP编程 (C) Spring ORM的使用 (D) Spring 事务管理

5. AOP中切入点描述正确的有(ABCD)--多选题5

(A) 切入点是Spring的入口 (B) 同一个切入点会触发不同的通知

(C) org.springframework.aop.Pointcut接口是中心 (D) Spring支持三种切入点的运作:显著,联合和交集。 6. 以下哪些属于Session的方法?(ABCD)--参看选择题10

(A) load() (B) save() (C) delete() (D) update()

7. 在Hibernate 中关于缓存正确的说法有(BD)--多选题7

(A) Hibernate只有一级缓存

(B) Hibernate有一级缓存也有二级缓存 (C) 一级缓存不是必须的

(D) 二级缓存可以使用Ehcache、Oscache等

8. 找出两个方法可以从请求的form中取得name参数的值(AC)

(A) getParameter(\(B) getParameterValue(\(C) getParameterValues(\(D) getParameters(\9. J2EE架构中包含哪些容器?(ABC)

(A) Applet容器和Application Client容器 (B) Web 组件容器—存放JSP等

(C) EJB容器-- EJB技术定义了一组可重用的组件:Enterprise Beans (D) JVM容器

10. J2EE的标准服务和API包含以下哪些?(ABC)

(A) HTTP:超文本传输协议;RMI-IIOP:允许 J2EE应用中的组件通过IIOP协议调用外部 CORBA 对象;

(B) Java IDL:Java接口定义语言;JNDI:Java 命名和目录接口;

(C) JMS: Java消息服务,Java Mail:在应用程序中加入邮件和通讯支持的支持。 并使用JAF来处理Email中数据。 (D) JTA: 用于连接各种企业信息系统 11. J2EE的优势体现在哪?( )

(A) 首先,J2EE是一系列标准,它提供了标准的服务、组件、客户端和工具,这使应用程序开发和移植非常方便,比如,我们在WebShpere平台开发的J2EE项目可以很容易的移植到WebLogic平台上。 (B) J2EE是W3C的标准;

(C) J2EE提供的组件模型很好的实现了MVC设计模式。从而实现了逻辑和显示的分离,以及代码重用。

(D) J2EE还提供了对现有的企业信息系统很好的兼容性,我们可以通过标准的协议集成已有的ERP等遗留系统。

UML分析与设计

一、判断题(将判断结果填入括号中。正确的填“√”,错误的填“×”):

1. 面向对象的技术已经在现在的软件开发中占据了主流的位置。(Y)

2. 在各种不同的软件需求中,下列哪个选项描述了用户使用产品必须要完成的任务,可以

在用例模型中予以说明功能需求。( )题目有问题

3. 为定义一个XML文档的结构,开发者可以使用的XML技术有DTD, XML Schema, UML。(N)

--UML不是

4. 在各种不同的软件需求中,下列哪个选项描述了用户使用产品必须要完成的任务,可以

在用例模型中予以说明功能需求。( )题目有问题

5. 面向对象的程序设计五个过程是:分析,设计,实现,测试,发布。(N)--需求、分析、

设计(分为结构设计和详细设计)、实现、测试和配置 6. UML模型分为三类:功能、行为和实现。(Y)--判断题6

7. UML的本意是要成为一种标准的统一语言,使得IT专业人员能够进行计算机应用程序

的建模。(Y)--判断题7

8. UML 是一种通用建模语言,包括语义和表示法,适用于不同的工具和实现语言。(Y)--判断题8

9. 需求管理是一种用于查找、记录、组织和跟踪系统需求变更的系统化方法。(Y )--判

断题9

10. 子系统外部的元素都不应依赖于子系统内部特定元素的存在。(Y)--判断题10 11. 泛化是用于对继承进行建模的UML元素. (Y)--判断题11

12. 在B/S结构中,客户端在浏览器中只负责表示层逻辑的实现,业务逻辑和数据库都在服

务器端运行。也就是说,应用程序部署在服务器端,客户端通过浏览器访问应用程序。(Y)--判断题12

13. 通常B/S结构中,客户端发送HTTP请求消息传给服务器,服务器将请求传递给Web应

用程序,Web应用程序处理请求,并把相应的HTML页面传给客户端。(Y)--判断题12 14. Web应用是基于C/S结构的,也就是客户端/服务器结构。(N)--应用程序有两种模式

C/S、B/S。C/S是客户端/服务器端程序,也就是说这类程序一般独立运行。而B/S就是浏览器端/服务器端应用程序,这类应用程序一般借助IE等浏览器来运行。WEB应用程序一般是B/S模式。Web应用程序首先是“应用程序”,和用标准的程序语言,如C、C++等编写出来的程序没有什么本质上的不同。然而Web应用程序又有自己独特的地方,就是它是基于Web的,而不是采用传统方法运行的。换句话说,它是典型的浏览器/服务器架构的产物。

15. MVC模式使应用程序的结构更加清晰,通过将代码按照层次划分为业务逻辑/数据层、

用户界面和应用流程控制这三个层次,能够增强代码的稳定性。(Y)--判断题15、MVC的好处

16. 对于项目开发而言,MVC三层的分离有利于在项目小组内按照小组成员各自的擅长进行

分工,有利于三个部分并行开发、加快项目进度。(Y)--MVC的好处

17. HttpServletRequest对象封装客户的请求信息,这些信息包括客户的环境信息和从客

户端送到服务器端的数据。(Y)

18. getHeaderNames方法返回当前请求的所有头的名称的字符串对象(Y)--判断题18 19. getMethod方法返回请求方法,通常是GET或者POST(Y)--判断题18

20. getProtocol返回HTTP版本号(Y)--返回请求行中的协议名和版本,即HTTP/1.0 或

HTTP/1.1

21. getPath和setPath方法获取或设置cookie应用的路径。如果不指定路径,浏览器将

只把cookie返回给包含发送此cookie的页面的路径(N)--判断题21

二、单项选择题(选择一个正确的答案,将相应的字母填入题内的括号中)

1. 关于java的面向对象的编程特性中的封装机制,以下说法正确的是?(A)

(A) 将问题的特征属性与问题的功能方法相组合在一起形成一个类。 (B) 将问题的特征属性与问题的功能方法相分离,形成各自的程序。 (C) 将问题的特征属性内嵌到问题的功能方法的定义体中。

(D) 对具体问题只需给出其功能实现方法,而不必给出其特征属性的定义

2. 对于面对对象的软件开发描述不正确的是(C)

(A) 对于面向对象来说,它最重要的改进就是把世间万物都描述为对象,符合人的正常思维。

(B) 从程序员的角度看来,面向对象代码更侧重于对象之间的交互,多个对象各司其职,相互协作以完成目标。

(C) 面对对象软件开发是以软件模块为单位来分配任务。--其使用类为单位 (D) 面对对象的优势之一是能够提高代码的重用性,减少程序员的开发工作量。 3. 组成UML有三种基本的建筑块是:( A),事物和图 -–选择题3

(A) 关系 (B) 类

(C) 用例 (D) 实体

4. 下面哪个不是UML中的静态视图(A)--选择题4

(A) 状态图 (B) 用例图

(C) 对象图 (D) 类图

5. 下列关于状态图的说法中,正确的是(C)

(A) 状态图是UML中对系统的静态方面进行建模的五种图之一。 (B) 状态图是活动图的一个特例,状态图中的多数状态是活动状态

(C) 活动图和状态图是对一个对象的生命周期进行建模,描述对象随时间变化的行为。 (D) 状态图强调对有几个对象参与的活动过程建模,而活动图更强调对单个反应型对象建模

6. 领域模型是一组表示(A),在设计工作中广泛用来启发设计软件对象.--选择题6

(A) 真实世界的概念类 (B) 虚拟世界的概念类 (C) 软件部件的模型 (D) 硬件部件的模型

7. 下列描述中,哪个不是建模的基本原则(D)--选择题7,一般遵行四个原则

(A) 要仔细的选择模型

(B) 每一种模型可以在不同的精度级别上表示所要开发的系统 (C) 模型要与现实相联系

(D) 对一个重要的系统用一个模型就可以充分描述

8. UML体系包括三个部分:UML基本构造块,(A)和UML公共机制—要求记住

(A) UML规则 (B) UML命名 (C) UML模型 (D) UML约束

9. 若将活动状态比作方法,那么动作状态即(C)--活动是包含多个动作的,动作组成最

后的活动

(A) 方法名 (B) 方法返回值

(C) 方法体中的每一条语句 (D) 方法的可见性

10. 下列(D)不在软件过程工程的初始阶段中完成的

(A) 编制简要的愿景文档 (B) 粗略评估成本 (C) 定义大多数的需求 (D) 业务案例

11. 统一软件开发过程RUP的需求工作流的目标是(B)—— 还有1.逐步开发强壮的系统构

架2.是设计适合于实施环境,为提高性能而进行设计。选择题11 (A) 描述系统应该做什么 (B) 将需求转化成未来系统的设计 (C) 验证对象间的交互作用

(D) 以层次化的子系统形式定义代码的组织结构 12. 下面关于需求错误的是(A)--选择题12

(A) 需求是显而易见的

(B) 不同种类的需求详细程度各不相同。

(C) 需求之间相互关联关系,而且需求也和软件工程流程中的其他可交付工件有关。 (D) 需求有唯一的特征或特征值。

13. 原型化方法中,下面哪个不属于原型的主要类型有(D)-- 选择题13

(A) 探索型 (B) 实验型 (C) 进化型. (D) 分析型

14. 下面需求分析法则中,错误的是哪个?(C)--选择题14

(A) 分析人员要使用符合客户语言习惯的表达 (B) 分析人员要了解客户的业务及目标

(C) 分析人员有时可以不编写软件需求报告 (D) 要求得到需求工作结果的解释说明

15. 子系统是一种模型元素,它具有(A)的语义 --选择题15

(A) 包和类 (B) 类和组件 (C) 类和节点 (D) 组件和节点

16. UML 中的构件是遵从一组接口并提供一组接口的实现,下列说法错误的是(B) –UML中

的构件是遵从一组接口并提供一组接口的实现,它是组成系统的一部分,是可替换的。它表示的是物理模块而不是逻辑模块。构件与类处于不同的抽象层次 (A) 构件应是可替换的 (B) 构件表示的是逻辑模块而不是物理模块 (C) 构件应是组成系统的一部分 (D) 构件与类处于不同的抽象层次

17. 子系统的外部行为是通过它所实现的(C)定义的。--选择题17

(A) 包 (B) 节点

(C) 接口 (D) 组件

18. 下面那项不是子系统设计步骤(D)

(A) 将子系统行为分配给子系统元素 (B) 记录子系统元素 (C) 说明子系统依赖关系 (D) 记录子系统结构

19. 类通常可以分为实体类,(C)和边界类--选择题19

(A) 父类 (B) 子类

(C) 控制类 (D) 祖先类

20. 类图应该画在Rose的哪种(B)视图中

(A) Use Case View (B) Logic View

(C) Component View (D) Deployment View

21. 下列关于状态图的说法中,正确的是(C)--选择题21

(A) 状态图是UML中对系统的静态方面进行建模的五种图之一。 (B) 状态图是活动图的一个特例,状态图中的多数状态是活动状态

(C) 活动图和状态图是对一个对象的生命周期进行建模,描述对象随时间变化的行为。 (D) 状态图强调对有几个对象参与的活动过程建模,而活动图更强调对单个反应型对象建模

22. UML中关联的多重度是指(B)。--相当于一对多的关系

(A) 一个类有多少个方法被另一个类调用

(B) 一个类的实例能够与另一个类的多少个实例相关联 (C) 一个类的某个方法被另一个类调用的次数 (D) 两个类所具有的相同的方法和属性

23. 类间关系有很多种,在大的类别上可以分为(C)-- 选择题23

(A) 泛化关系、关联关系 (B) 横向关系、依赖关系 (C) 纵向关系、横向关系 (D) 关联关系、纵向关系

24. 类之间关系的强弱顺序是(B) -- 选择题23

(A) 关联 < 聚合 < 组合 < 依赖 (B) 依赖 < 关联 < 聚合 < 组合 (C) 聚合 < 依赖 < 关联 <组合 (D) 组合 < 依赖 < 关联 < 聚合

25. 下列叙述中正确的是(D)-- 本题考核软件测试、软件调试和软件维护的概念。软件测试

具有挑剔性,测试不是为了证明程序是正确的,而是在设想程序有错误的前提下进行的,其目的是设法暴露程序中的错误和缺陷,就是说,测试是程序执行的过程,目的在于发现错误;一个好的测试在于能发现至今未发现的错误;一个成功的测试是发现了至今未发现的错误。由于测试的这一特征,一般应当避免由开发者测试自己的程序。 调试也称排错,目的是发现错误的位置,并改正错误,经测试发现错误后,可以立即进行调试并改正错误;经过调试后的程序还需进行回归测试,以检查调试的效果,同时也可防止在调试过程中引进新的错误。软件维护通常有四类:为纠正使用中出现的错误而进行的改正性维护;为适应环境变化而进行的适应性维护;为改进原有软件而进行的完善性维护;为将来的可维护和可靠而进行的预防性维护。软件维护不仅包括程序代码的维护,还包括文档的维护。文档可以分为用户文档和系统文档两类。但无论是哪类文档,都必须与程序代码同时维护。只有与程序代码完全一致的文档才有意义和价值。 (A) 软件测试应该由程序开发者来完成

(B) 程序经调试后一般不需要再测试 (C) 软件维护只包括对程序代码的维护 (D) 以上三种说法都不对

26. 为MyClass类的一个无参数无返回值的方法method书写方法头,使得使用类名MyClass

作为前缀就可以调用它,该方法头的形式为什么?(A) (A) static void method() (B) public void method() (C) final void method() (D) abstract void method()

27. 为了使模块尽可能独立,要求(B )—选择题27

(A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强 (B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 (C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱 (D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强

28. 现在我们打算在java中进行强制垃圾收集以达到立刻减少资源占用的目的,我们应该

怎么办?(A)

(A) java中做不到强制垃圾收集 (B) 调用System.gc()方法 (C) 调用Runtime.gc()方法 (D) 将针对对象的引用设为null

29. 在Java语言中,下面关于构造函数的描述正确的是(D)。(构造函数)

(A) 类必须有显式构造函数

(B) 它的返回类型是void --构造函数没有返回类型 (C) 它和类有相同的名称,但它不能带任何参数 (D) 以上皆非

30. 在Java语言中,类Worker是类Person的子类,Worker的构造方法中有一句\super()

\,该语句(C)--选择题30

(A) 调用类Worker中定义的super()方法 (B) 调用类Person中定义的super()方法 (C) 调用类Person的构造函数 (D) 语法错误

31. 在多线程的同步通讯应用编程中,常常使用wait()来控制某一线程,但wait()方法应

在如下何种方法中才可被调用(A) (A) synchronized 方法中。

(B) public 成员方法中。 (C) abstract 成员方法中。 (D) static 成员方法中。

32. 在Java语言中,小明在他的类SquareRoot中定义了方法method_A, 其中包含语句:

double my_result = Math.sqrt(1000); 他需要导入(A)--查看Java API 的Math类 (A) Java.lang.* (B) Java.Math.* (C) Java.util.Math.*; (D) 以上皆非

33. 在Java语言中,小明在他的包mypackage中定义了类My_Class, 在mypackage的子

包mysubpackage中也有个类My_Class。小明用 import mypackage.*; 引入包, 执行其中的语句: My_Class NewClass = new My_Class(); 时,将发生(A) (A) 创建一个类mypackage.My_Class的对象

(B) 创建一个类mypackage.mysubpackage.My_Class的对象 (C) 该语句是错误的 (D) 创

mypackage.My_Class

mypackage.mysubpackage.My_Class的对象

34. 使用(C)修饰符时,一个类能被同一包或不同包中的其他类访问。(JAVA修饰符)

(A) private (B) pretected (C) public (D) friendly

三、多项选择题(选择一个或多个正确的答案,将相应的字母填入题内的括号中)

1. 下面关于继承的哪些叙述是正确的。(AD)

(A) 在java中只允许单一继承。 (B) 在java中一个类只能实现一个接口。

(C) 在java中一个类不能同时继承一个类和实现一个接口。 (D) java的单一继承使代码更可靠。

2. 多重继承在概念上是比较直接,也是真实世界的体现;然而在实际使用时却要非常谨慎,

这主要是因为多重继承存在很多潜在问题,具体表现为(AC) (A) 由于继承多个父类,子类经常存在命名冲突 (B) 多重继承增加了系统的复杂程度 (C) 有些编程语言不支持多重继承的实现

(D) UML语言不支持多重继承的建模

3. UML 2.0在UML 1的基础上新增了三种图,请指出它们的名称和作用。(ABD)--多选题

3

(A) 复合结构图--描述类的运行时刻的分解 (B) 定时图--描述对象之间的交互,重点在于定时 (C) 活动图

(D) 交互概观图--是一种顺序图与活动土的组合 4. 建模时应遵循的原则有(ABCD)--多选题4

(A) 选择要创建什么模型

(B) 每一种模型可以在不同的精度级别上表示

(C) 最好的模型是与现实相联系的;单个模型是不充分的 (D) 对每个重要的系统最好用一组几乎独立的模型去处理 5. 下面关于软件需求的说法正确的是(ABCD)

(A) 从图形上说,软件需求提供了我们金字塔的塔基。

(B) 软件的需求是用户要求该软件解决某个问题或达到某个目标的能力 (C) 每个需求都是某种特性

(D) 需求分析首先要获取需求,得到描述系统所需功能的用例、业务流程或清晰的正文。 6. RUP中的软件生命周期在时间上被分解为哪几个顺序阶段(ABCD )--多选题6

(A) 初始阶段 (B) 细化阶段 (C) 构造阶段 (D) 交付阶段

7. 下列哪些是一个用例最基本的描述(BD)--多选题7

(A) 用户描述 (B) 用例名称 (C) 用例概述 (D) 基本事件流

8. 下面关于需求管理正确的是(ABC)

(A) 需求管理是一种系统化方法--是一种用于查找、记录、组织和跟踪系统需求变更的系统化方法

(B) 可用于获取、组织和记录系统需求并使客户和项目团队在系统变更需求上达成并保持一致。

(C) 有效需求管理的关键在于维护需求的明确阐述、每种需求类型所适用的属性,以及与其他需求和其他项目工件之间的可追踪性。

(D) 需求管理不是一种系统化方法

9. 需求分析阶段的工作,可以分为以下哪几个方面(ABCD)--多选题9

(A) 问题识别 (B) 分析与综合 (C) 制订规格说明 (D) 评审.

10. 下面关于子系统正确是(ABCD )--选择题15

(A) 子系统是一种模型元素

(B) 具有包(其中可包含其他模型元素)和类(其具有行为)的语义 (C) 子系统的行为由它所包含的类或其他子系统提供 (D) 子系统实现一个或多个接口

11. 子系统设计步骤(ABC)--和单选题18匹配

(A) 将子系统行为分配给子系统元素 (B) 记录子系统元素 (C) 说明子系统依赖关系 (D) 记录子系统结构

12. 一旦创建了子系统,下列那些是正确的(BC)--选择题15

(A) 必须为每个子系统提供一个名称和一段简短说明。 (B) 如果工具支持包但不支持子系统,可以用包来记录子系统

(C) 应将原始分析类的职责转移给新建的子系统,并使用该子系统的说明来记录职责。 (D) 以上都正确

13. 关于子系统依赖关系,下面说法正确的有( )

(A) 当子系统包含的某个元素使用了另一个子系统中的某个元素行为时,实际上就在所属子系统间创建了依赖关系。

(B) 为改进复用和降低维护依赖关系,我们需要用子系统特定接口的依赖关系来进行说明,而不利用子系统本身或者子系统包含的元素来说明。

(C) 创建依赖关系时,确保子系统包含的模型元素和其他子系统包含的模型元素之间没有直接的依赖关系或者关联关系。

(D) 要确保子系统和接口之间没有循环的依赖关系;子系统不能既实现一个接口而又依赖于该接口。

14. 类与类之间存在哪些关系(ABCD)--多选题14

(A) 泛化(Generalization) (B) 关联(Association) (C) 依赖(Dependency)

(D) 聚合(Aggregation)

15. 下面关于泛化关系正确的是(ABC)

(A) 表示类与类之间的继承关系 (B) 接口与接口之间的继承关系 (C) 类对接口的实现关系 (D) 接口对类的实现关系

项目管理

一、判断题(将判断结果填入括号中。正确的填“√”,错误的填“×”):

1.项目没有特殊性(N)--判断题1

2.项目管理主要关注项目范围、时间、成本和质量等方面。(Y)--判断题2

二、单项选择题(选择一个正确的答案,将相应的字母填入题内的括号中)

1. 以下各项都是项目的特点,除了(B)--判断题1

(A) 独特性 (B) 重复性 (C) 时限性 (D) 目的性

2. 项目管理的对象是(A)--管理的对象是一个具体的项目过程,是一次性的即管理过程

随项目的准备工作开始,随项目交付使用、投资目标完成而结束 (A) 项目 (B) 项目团队 (C) 项目生命周期 (D) 项目干系人

3. 项目的实现过程是由(A)构成的。--选择题3,项目的实现过程是由一系列的项目阶

段或项目工作过程构成的,任何项目都可以划分为多个不同的项目阶段或项目工作过程 (A) 项目阶段 (B) 项目设计 (C) 项目分析 (D) 项目实施

4. 下面那项不是一个项目管理过程组所包括的具体管理过程(A)--选择题3,启动、计

划、执行、控制和收尾 (A) 启动

(B) 计划 (C) 控制 (D) 设计

三、多项选择题(选择一个或多个正确的答案,将相应的字母填入题内的括号中)

1. 软件项目的特点主要表现在以下哪几个方面(ABCD)

(A) 目标的渐进性 (B) 项目的阶段性 (C) 不确定性 (D) 智力密集型

2. 项目经理的一个重要任务是(C)

(A) 发现问题 (B) 解决问题 (C) 整理问题 (D) 寻找问题

(二)“应用操作”复习题

程序设计

一、填空题(将正确答案填入括号中。):

1. JDBC驱动程序的种类有( )--填空题1,1.厂商提供专属JDBC驱动程序2. 三层式架

构的JDBC驱动程序3. 客户端函数库类型的数据库驱动程序4. 桥接型的JDBC驱动程序。或是1. JDBC-ODBC桥加ODBC驱动程序2. JDBC本地API驱动3. JDBC网络纯Java驱动程序4. 本地协议纯Java驱动程序

2. 执行同构的SQL,用( ) --填空题2,用pstm(PreparedStatement)的执行效率比较的

3. 执行异构的SQL, 用( ) --填空题2,Statement的执行效率要高

4. 如果要限制某个查询语句返回的最多的记录数,可以通过调用Statement的方法 ( )

来实现。--setMaxRows

5. DataSource是( )类型,可以调用(getConnection)获得数据库连接。--Factory 6. 在Java Web开发中,跟踪客户状态的手段可通过session 和( ) -- Cookie 7. 有一个JavaBean com.pojo.Student, 在JSP中用action在session作用域里创建一

个对象hellen的语句是 ( )

8. 在EL中能够访问的函数(function)必须是( ) --public static

9. 在servlet的生命周期中,servlet的( )方法每当servlet调用时都执行一次--init

()

10. resume()方法负责恢复被( )方法挂起的线程。-- suspend()

11. Struts提供MVC的一个实现,是Java Web应用的一个框架(Framework). 它主要采用

了( )模式--基于Java EE Web应用的MVC设计

12. 在directive page中,( )属性可反复出现。--import,

13. 线程同步的处理过程中( )方法,使一个线程处于等待状态,并且释放所持有的对象

的lock。 --wait()

14. 在java中一个类被声明为final类型,表示的意思是( )--使用final说明定义的类

是一个终极类,不能在用这个类来定义子类了

二、单项选择题(选择一个正确的答案,将相应的字母填入题内的括号中)

1. 给出下列的代码,哪行在编译时可能会有错误(C) --K没有初始化

① public void modify(){

② int i, j, k; ③ i = 100;

④ while ( i > 0 ){ ⑤ j = i * 2;

⑥ System.out.println (\); ⑦ k = k + 1; ⑧ } ⑨ } (A)line 4 (B)line 6 (C)line 7 (D)line 8

2. int [] my_Array;

my_Array = new int[5];

for(int count = 0; count <= 5; count++) System.out.println(my_Array[count]);

以上Java代码运行的结果是(D)--不能等于5,数组越界 (A) 将1,2,3,4,5输出到屏幕 (B) 将0,1,2,3,4输出到屏幕 (C) 将0,1,2,3,4,5输出到屏幕 (D) 将出现运行时异常

3. 在Java中,类Animal中的方法 printA() 定义如下:

public void printA() {

int a = 10; int result = 10 % 3; System.out.println(result); }

在类Dog中方法printA()定义如下: public void printA() {

int a = 10;

System.out.println( a / 3 ); }

Dog类的定义如下:

class Dog extends Animal{…}. Animal animal = new Dog(); animal.printA();

以上语句输出为(D)。--调用Dog类的方法,可以参看代码training104 (A) 0 (B) 1 (C) 2 (D) 3

4. 假如编译Servlet要具备的环境都已经建立好。现在用完全正确的命令编译该文件,对于以下陈述正确的是(C)。

(A) 编译该文件时会提示缺少doGet()或者doPost()方法,编译不能够成功通过 (B) 编译后,把Servlet1.class放在正确位置,在浏览器中查看该Servlet1,会看到输出文字: “hello!”

(C) 编译后,把Servlet1.class放在正确位置,在浏览器中查看该Servlet1,却看不到任何输出的文字

(D) 编译后,把Servlet1.class放在正确位置,在浏览器中查看该Servlet1,却看到产生运行时错误的出错信息

5. 在J2EE中,对于ServletRequest接口的获取请求参数的方法的描述,正确的是(C)。

(A) getParameter方法只用于接收POST请求参数,接收GET请求参数需要使用getQueryString方法

(B) 如果一个参数key有多个值,那么getParameter(key)方法会返回空字符串 (C) 如果一个参数key有多个值,那么getParameterValues(key)方法会返回一个包含所有值的字符串数组

(D) getParameter方法返回Object对象,使用前要强制类型转换:如String str=(String)request.getParameter(key) 6. 在J2EE中,Servlet1的代码如下:

import javax.servlet.*; import javax.servlet.http.*; import java.io.*;

public class Servlet1 extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

response.setContentType(\

PrintWriter out = response.getWriter(); String aa=request.getQueryString(); String bb=request.getMethod(); out.println(aa); out.println(bb); } }

把Servlet1.class文件放在Web服务器适合的目录下,在浏览B器地址栏内输入:http://localhost:8080/servlet/Servlet1?name=jb-aptech&phone=12345678,看到的结果是(B)

(A) name=jb-aptech&phone=12345678 GET (B) name=jb-aptech,phone=12345678 GET (C) jb-aptech,12345678 POST (D) name,phone GET

7. 在J2EE中,某一java程序中有如下代码:

DataInputStream din = new DataInputStream(new BufferedInputStream (new FileInputStream(\System.out.print(din.readByte());

假设在employee.dat文件中只有如下一段字符:abcdefg。则:System.out在屏幕上打印(C)--打印的是a的ascii码 (A) a (B) b (C) 97 (D) 98

8. 在J2EE中,如果去编译并运行下面的代码,在这里假定在当前目录下没有Hello.txt文件:

import java.io.*; public class Mine {

public static void main(String argv[]){ Mine m=new Mine();

System.out.println(m.amethod()); }

public int amethod() { try {

FileInputStream dis=new FileInputStream(\ }

catch (FileNotFoundException fne) {

System.out.println(\ return -1; }

catch(IOException ioe) { } finally {

System.out.println(\ } return 0; } }

结果会输出(C)。 (A) No such file found (B) No such file found -1 (C) No such file found

doing finally -1 (D) 0

9. 在J2EE中,对于我们自己设计的Bean,应该(D)。

(A) 一定要继承java.beans.Beans (B) 一定要实现Runnalbe接口 (C) 一定要继承java.lang.Thread类 (D) 可以不继承java.beans.Beans 10. 考虑下列Java代码:

class A {

public static void main(String[] args) { try {

System.out.println(\} } }

其中的错误是(B)。

(A) 没有catch或finally块

(B) 没有抛出异常的代码不能出现在try代码块内 (C) 如果没有catch块而使用try,main()会总是抛出异常. (D) class A 没有throws IOException 11. 分析下列Java代码:

class A {

public static void main(String[] args) { method(); }

static void method() { try {

System.out.println(\ System.exit(0); } finally {

System.out.println(\} } }

编译运行后,输出结果是(A)。--可以试运行 (A) \(B) \

(C) \后面是\(D) 代码不能编译

12. 程序读入用户输入的一个值,要求创建一个自定义的异常,如果输入值大于10,使用

throw语句显式地引发异常,异常输出信息为“something’s wrong!”, 语句为(C)。 (A) if ( i > 10 )

throw Exception(“something’s wrong!”); (B) if ( i > 10 )

throw Exception e (“something’s wrong!”);

(C) if ( i > 10 )

throw new Exception(“something’s wrong!”); (D) if ( i > 10 )

throw new Exception e (\

13. String s1=new String(\

String s2=new String(\ String s3=new String();

上面是Java程序中的一些声明,选项中能通过编译的是( A)。 (A) s3=s1+s2 (B) s3=s1 & s2 (C) s3=s1 || s2 (D) s3=s1 && s2

14. public class Holt extends Thread{

private String sThreadName;

public static void main(String argv[]){ Holt h = new Holt(); h.go(); } Holt(){} Holt(String s){ sThreadName = s; }

public String getThreadName(){ return sThreadName; }

public void go(){

Holt first = new Holt(\ first.start();

Holt second = new Holt(\ second.start(); }

public void start(){

for(int i = 0; i < 2; i ++){ System.out.println(getThreadName() +i);

try{

Thread.sleep(100); }

catch(InterruptedException e){

System.out.println(e.getMessage()); }

} } }

当编译运行上面的Java代码时,将会出现(B)。--运行此程序验证:Holt.java (A) 编译时错误

(B) 输出 first0, second0, first0, second1 (C) 输出first0, first1, second0, second1 (D) 运行时错误

15. 在Java中,下列选项表示字符“a”值的是(A)。

(A) 'a' (B) \--字符串

(C) new Character(a)-- 应该为:new Character(a) (D) \\000a

16. 在Java中,调用一个对象的wait()方法后,(B)。

(A) 如果该对象的notify()方法已经被调用,则不会产生任何效果

(B) 在另外一个对象调用它的notify()或 notifyAll()方法之前该对象一直被挂起 (C) 将抛出一个异常

(D) 该对象的wait()方法与其他对象自动同步 17. 研究下面的Java代码:

case 1:

System.out.println(1); case 2: case 3:

System.out.println(3); case 4:

System.out.println(4); }

当x=2时,运行结果是(C)。--缺少break语句,所以匹配以后,会执行匹配项后

所有的代码

(A) 没有输出任何结果 (B) 输出结果为3 (C) 输出结果是3和4 (D) 输出结果是1、3和4

18. Thread类的(B)方法能够一个接一个地显示applet帧并在每一帧之间暂停一下。--通过API文档查看相应函数的功能 (A) pause( ) (B) sleep( ) (C) stop( ) (D) start( )

19. 在J2EE中,在自己定义的JavaBean中,有方法getComment(),返回字符串“hello!”,

但是没有comment属性,当调用getComment()方法时会(B)。 (A) 抛出异常

(B) 返回字符串“hello!” (C) 什么也没有 (D) 编译不能通过

20. 在J2EE中,以下的page指令设置了使用的脚本语言是Java,且导入了java.rmi.*和

java.util.*包,正确的是(D)。

(A) <%@ page Language=\(B) <%@ page language=\(C) <%@ page language=\(D) <%@ page language=\

21. 在J2EE中,在Servlet1中的doGet和doPost方法中只有如下代码:

request.setAttribute(\

response.sendRedirect(\那么在Servlet2中使用(D)可以把属性jb的值取出来。 (A) String str=request.getAttribute(\(B) String str=(String)request.getAttribute(\(C) Object str=request.getAttribute(\(D) 取不出来

22. 在J2EE中,aa.jsp文件如下:

<%! int I=0; %>

<%=I++ %>

有5个客户依次浏览aa.jsp,且每个客户只浏览aa.jsp一次,第五个客户会看到浏览器显示(C)。--分别显示0、1、2、3、4 (A) 0 (B) 3 (C) 4 (D) 5

23. 在J2EE中,在一个JSP文件中,有表达式<%=2+3 %>,它将输出(B)。

(A) 2+3 (B) 5 (C) 23

(D) 不会输出,因为表达式是错误的 24. 在J2EE中,aa.jsp文件如下:

<% mybean.setIi(\mybean.setJj(\ out.println(mybean.getIi); //6 out.println(mybean.getJj); //7

%>

aa.java的代码如下:

package mypackage; //1 import java.util.*; //2 public class aa { //3 String ii; //4

String jj; //5

public void setIi(String ii) //6 { this.ii=ii; //7 } //8

public void setJj(String jj) //9 { this.jj=jj; //10 } //11

public String getIi() //12 { return this.ii; //13 } //14

public String getJj() //15 { return this.jj; //16 } //17 }

对于以下的陈述,正确的是(C)。

(A) 在浏览器中浏览aa.jsp,会看到浏览器显示“jb aptech”

(B) 在浏览器中浏览aa.jsp,会看到浏览器显示错误页面,要修改aa.jsp的第6行和第7行代码

(C) 在浏览器中浏览aa.jsp,会看到浏览器显示错误页面,要修改aa.jsp的第6行和第7行代码,以及aa.java的第3行代码 (D) 以上都不正确

27. 在J2EE中,标记的作用是(C)。

(A) 必须在一个JSP文件中搭配出现 (B) 就如同session.setAttribute()一样,来设置属性/值对 (C) 和动作一起使用,来设置bean的属性值 (D) 就如同request.setAttribute()一样,来设置属性/值对 28. 在J2EE中,如果使用标记:

本文来源:https://www.bwwdw.com/article/eh9r.html

Top