武汉理工大学中间件及软件组件2015-2016复习资料
2021武汉理工软件设计与体系结构复习(仅供参考)
2021武汉理工软件设计与体系结构复习(仅供参考) 2021武汉理工软件设计与体系结构复习(仅供参考) 软件1 简答题什么是防止变异模式?是如何设计对象,子系统和系统,使这些元素内部的变化或不稳定性不会对其他元素产生不良影响。
解决方案:识别预测的变化或不稳定之处,分配职责用以创建稳定接口。
2.什么是依赖反转原理?把你的类从具体的实现中隔离开,使它们依赖于抽象类或接口。
它促进了代码面向接口而不是实现,这通过保证对实现的低耦合来增加系统的灵活性。
3.仓库风格的组件和连接器是什么?组件:(1)一个能表示出系统的正确状态的数据结构(2)操作主要数据结构的独立组件的集合。
连接器:典型的过程调用或是直接内存访问。
什么是响应时间?measure of the latency an application exhibits in processing a request对一个应用程序在处理请求显示出的潜在因素的测量标准。
常用的中间件有那几种类型?CORBA (Common Object Request Broker Architecture)Message-oriented middlewareJ2EEMessage brokersBusiness process orchestrators(1)常见的对象请求代理架构(2)面向消息的中间件(3) Java2 Enterprise Edition(Java2的企业版)(4)消息代理(5)业务过程代理管道过滤器风格?在管道/过滤器风格的软件体系结构中,每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。
这个过程通常通过对输入流的变换及增量计算来完成,所以在输入被完全消费之前,输出便产生了。
因此,这里的构件被称为过滤器,这种风格的连接件就象是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入架构师需要的核心技能是什么?Many responsibilities:Liaison with stakeholdersTechnology knowledgeSoftware engineeringRisk managements(1)涉众之间的交流(2)技术知识。
武汉理工大学计算机网络期末复习资料
1.现代网络管理系统是由以下4种要素组成:网络管理者、管理代理、网络管理协议、管理信息库;2.目前最有影响的网络管理协议是简单网络管理协议(SNMP)、公共管理信息服务和公共管理信息协议(CMIS/CMIP)3.SNMP和CMIS/CMIP分别基于TCP/IP和OSI。
4.集成式网络管理模式的局限性有不可扩展性、功能固定,不灵活、不可靠性、传输中的瓶颈。
5.分布式网络管理模式的特点:自适应基于策略的管理、分布式的设备查找与监视、智能过滤、分布式阀值监视、轮询引擎、分布式管理任务引擎。
6.网络管理软件包括用户接口软件、管理专用软件、管理支持软件。
7.管理支持软件包括MIB访问模块和通信协议栈。
8.网络管理的功能有故障管理、配置管理、安全管理、性能管理和计费管理。
9.标签的类型分为通用标签、应用标签、上下文专用标签、私有标签。
10.通用标签类是ASN.1标准定义的,除了CHOICE和ANY类型之外,所有的简单类型和结构类型都具有统一分配的唯一标签。
11.SYNTAX:表示对象类型的抽象语法,可以是ASN.1的类型之一。
ObjectSyntax::=CHOICE{simple ,SimpleSyntax;application-wide,ApplicationSyntax}SimpleSyntax是指5种通用类型,而ApplicationSyntax是指6种应用类型。
11.TYPE NOTATION包含7个子句,其中ACCESS、SYNTAX、和STATUS是必选的;12. ACCESS:定义SNMP访问对象的方式。
可选择的访问方式有只读(read-only)、读写(read-write)、只写(write-only)和不可访问(not-accessible)4种。
任何实现必须支持宏定义实例中定义的访问方式,还可以增加其他访问方式,但不能减少。
13.STATUS:说明实现是否支持这种对象。
状态子句中定义了必要的(mandatory)和任选的(optional)两种支持程度。
软件集成与中间件技术考核试卷
B. UDDI
C. SOAP
D. REST
9.企业服务总线(ESB)能够提供哪些功能?()
A.消息路由
B.服务中介
C.数据转换
D.业务流程管理
10.以下哪些是集成测试的类型?()
A.单元测试
B.集成测试
C.系统测试
D.接口测试
11.中间件技术对于软件开发的重要性体现在哪些方面?()
A.提高开发效率
6.集成测试是在单元测试之后进行的。(√)
7.适配器模式主要用于解决接口不兼容的问题。(√)
8.数据集成不需要考虑数据的一致性和质量。(×)
9.服务编排可以在开发阶段完全确定,不需要考虑运行时的变化。(×)
10.分布式系统中的所有组件都必须使用相同的编程语言。(×)
五、主观题(本题共4小题,每题5分,共20分)
D.中间件对应用开发者通常是透明的
6.在软件集成中,以下哪种方式通常被认为是低耦合度的方式?()
A.紧耦合
B.松耦合
C.中耦合
D.非耦合
7.以下哪个不是企业服务总线(ESB)的主要功能?()
A.集成异构系统
B.提供消息路由
C.数据格式转换
D.直接参与业务逻辑处理
8.关于SOA(面向服务的架构),以下哪个描述是正确的?()
6.在软件集成中,________测试是验证不同组件或系统之间接口正确性的测试。
7.适配器模式是一种设计模式,它允许________的接口与其他接口进行交互。
8.数据集成是指将________的数据合并到一个统一的视图中。
9.服务编排是指设计服务之间的________流程,以便它们能够协同工作。
10.在分布式系统中,________是确保不同系统之间能够相互理解和通信的协议。
2015-2016学年一学期软件设计与体系结构期中考试试卷
安徽师范大学 2015-2016 学年 第一学期数学计算机科学学院软件工程专业2013级《软件设计与体系结构》课程期中考试试卷(180分钟 闭卷)注意:请保持字迹工整 一、单选题(10小题,每小题2分,共20分)1、下面哪种开发方法是非传统方法( ) A 、功能分解法 B 、结构化方法 C 、面向对象方法 D 、信息建模方法2、下面那一项不属于用况图中的参与者( ) A 、人员 B 、内部系统 C 、外部系统 D 、设备3、对象间的is-a 关系可以用以下哪一个来表示( ) A 、组合 B 、聚合 C 、关联 D 、继承4、只与你的直接朋友通信描述的哪一个设计原则( ) A 、单一职责原则 B 、开闭原则 C 、接口隔离原则 D 、迪米特法则5、一个软件实体应该对扩展开放,对修改关闭。
这描述的是哪个原则( ) A 、单一职责原则 B 、开闭原则 C 、依赖倒置原则 D 、里氏代换原则6、常用的基本设计模式可分为( ) A 、创建型、结构型和行为型 B 、对象型、结构型和行为型 C 、过程型、结构型和行为型 D 、抽象型、接口型和实现型7、对于类图,下列叙述正确的是( )A 、创建类图是为了对系统的动态结构进行建模B 、在系统分析和实施阶段可以创建和使用类图C 、每个类图都应该具有泛化关系D 、以上说法都不对8、类与类之间存在相互关系,下面哪一种关系与其他三种不同( ) A 、双向关联 B 、聚合关系 C 、组合关系 D 、依赖关系9、Open-Close原则的含义是一个软件实体( ) A 、应当对扩展开放,对修改关闭. B 、应当对修改开放,对扩展关闭 C 、应当对继承开放,对修改关闭 D 、应当对继承关闭,对修改开放10、当需要对系统功能以及与系统进行交互的外部事物进行建模时,我们一般采用( ) A 、用况图 B 、类图 C 、活动图 D 、顺序图 二、简答题(4小题,每小题5分,共50分)1、OOA 中问题域和系统责任的含义分别是什么意思?2、OOD 模型中总共包含几个部分,分别是哪几个部分,哪个部分是核心部分?第 3 页共8 页第4 页共8 页3、面向对象方法有哪些优点?4、人机交互部分的设计准则有哪些?5、在采用面向对象的方法进行分析设计时,如何识别对象和类?6、请分别画出组合和聚合的符号,并说明两者的关系与区别。
武汉理工大学计算机系统结构考试材料
一条线性静态多功能流水线由6个功能段组成,加法操作使用其中的1、2、3、6功能段,乘法操作使用其中的1、4、5、6功能段,每个功能段的执行时间均为t ∆,流水线的输出端与输入端之间有直接数据通路,且设置有足够的缓冲寄存器。
试用尽可能短的时间计算∑=⨯=61)(i i i b a F ,画出流水线时空图,并计算流水线的实际吞吐率、加速比和效率。
解 为了减少流水线中发生先写后读相关的次数,使流水线完成计算的时间尽可能短,采用下述算法计算F :)))665544332211(((b a b a b a b a b a b a F ⨯+⨯+⨯+⨯+⨯+⨯=按先乘后加、先括号内后括号外的优先次序,上述计算F 的过程需要先做6次乘法,用1~6表示;再做3个括号内的3次加法,用7~9表示;最后做括号外的2次加法,用10~11表示。
流水线时空图如图所示。
S S S S S S t (Δt )由时空图可得实际吞吐率、加速比和效率分别为t t TP ∆=∆=/5.0221122245460=∆∆⨯+∆⨯==t t t T T S k33.0226114≈∆⨯∆⨯=tt E假设每种向量指令都有自己的一条流水线完成该向量指令的流水处理,下面一组向量指令能分成几个编队?LV V1,RX;取向量XMULTSV V2,F0,V1 ;向量和标量相乘 LV V3,RY ;取向量Y ADDV V4,V2,V3 ;向量加 SVRY ,V4;存结果向量解 第一条指令LV 为第一编队,MULTSV 指令因与第一条LV 指令相关,所以它们不能在同一个编队中。
MULTSV 指令和第二条LV 指令之间不存在功能部件冲突和数据相关,所以这两条指令为第二编队。
ADDV 指令与第二条LV 指令数据相关,所以ADDV 为第三编队。
SV 指令与ADDV 指令数据相关,所以SV 为第四编队。
因此,这一组向量指令分为以下4个编队① LV② MULTSV LV③ ADDV ④ SV某模型机有9条指令,其使用频度分别为 ADD :30% SUB :24% LOD :6% STO :7% JMP :7%SHR :2%ROL :3%MOV :20%STP :1%要求有2种指令字长,且都是二地址指令。
中间件总复习题及答案
中间件总复习题第一章中间件产生的背景1、C/S结构与B/S结构各有何特点?⑴系统的性能在系统的性能方面,B/S占有优势的是其灵活性。
任何时间、任何地点、任何系统,只要可以使用浏览器上网,就可以使用B/S系统的终端。
近年来,智能手机、智能家电、PDA等传统电脑之外的上网方式发展迅速,这在一定程度上为B/S结构增加了砝码。
不过,采用B/S结构,客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作由服务器承担,这使得服务器的负担很重。
采用C/S结构时,客户端和服务器端都能够处理任务,这虽然对客户机的要求较高,但因此可以减轻服务器的压力。
而且,由于客户端使用浏览器,使得网上发布的信息必须是以HTML格式为主,其他格式文件多半是以附件的形式存放。
而HTML格式文件(也就是Web页面)不便于编辑修改,给文件管理带来了许多不便。
⑵系统的开发最新的C/S结构和B/S结构都是建立在现在被称为中间件的产品基础之上,也就是建立在应用服务器(Web服务器)中间件、消息中间件和交易中间件等基础之上。
采用C/S结构时,客户端和服务器端都要处理任务,客户端也需要编程,这对应用开发者提出了较高的要求,这使得应用程序的维护、移植和互操作变得复杂,成了C/S的一大缺陷。
如果客户端是在不同的操作系统上(比如Windows 2000/2003 Server以及不同版本的Linux),C/S结构的软件需要开发不同版本的客户端软件。
如果产品经常需要更新换代,那么升级系统时候需要付出的高代价以及工作的低效率会在一定程度上制约企业的应用。
但是,与B/S结构相比,C/S技术发展历史更为“悠久”。
从技术成熟度及软件设计、开发人员的掌握水平来看,C/S技术应是更成熟、更可靠的。
而对于非常复杂的应用,B/S方式目前尚没有合适方式进行开发。
⑶系统的升级维护C/S系统的各部分模块中有一部分改变,就要关联到其他模块的变动,使系统升级成本比较大。
B/S与C/S处理模式相比,则大大简化了客户端,只要客户端机器能上网就可以。
武汉理工大学rfid复习题
武汉理工大学rfid复习题一、填空题1.Rfid系统中常用的防碰撞算法是ALOHA算法、二进制树形搜索算法。
2.ISO/IEC制定的RFID标准可分为技术标准、数据内容标准、性能标准和应用标准。
3.ISO、IEC14443标准TYPE A型中PCD向PICC通信,载波频率为13.56MHZ,采用数据的修正密勒码的100% ASK调制;PICC向PCD通信采用数据的曼特斯特编码的副载波调制信号进行负载调制。
4.IOS/IEC15693 数据编码采用两种PPM 方式分别是256中取1、4中取1。
5.ISO/IEC18000-6 TYPE A模式阅读器向应答器数据传输的数据编码采用脉冲间隔(PIE)编码。
反向数据传输采用FMO编码。
6.U2270B是工作于125K HZ 的阅读器芯片;该频率下采用的应答器芯片是e5551.7.传感器狭义的定义为:能把外界非电量信息转化成电信号输出的器件。
8.表征传感器静态特征的四个指标是线性度、灵敏度、迟滞和重复性。
9.传感器输出的两类信号分别是数字信号和模拟信号。
10.右图为带通滤波器,则其上线截止频率为f H为1/2ΠR2C2,下线截止频率为fL为1/2Πr1c1,通带放大倍数为AP,为R2/R1.11.RFID的天线制作工艺主要有线圈绕制法、蚀刻法、印刷法。
12.电感式传感器可以分为自感式、互感式和涡流式三种传感器。
13.射频识别的英文全称是radio frequency identification。
14.根据射频耦合方式的不同,RFID可以分为电感耦合方式(磁耦合)、反向散射耦合方式(电磁场耦合)两大类。
15.针对RFID主要的安全攻击方式可以分为主动攻击和被动攻击,应对前者的重要技术是认证技术、应对后者的主要技术手段是加密。
16.串联谐振回路的谐振角频率为1/sqrt(LC),并联谐振回路的谐振频率为1/(2πsqrt(LC))。
17.在电感耦合方式的RFID系统中,负载调制有电阻负载调制和电容负载调制两种方法,他们的主要区别是:前者负载接入时电路仍然处于谐振状态;后者在接入电路时,电路状态发生变化,此时阅读器电感线圈的电压不仅有幅值变化,也存在相位的变化。
《软件构件与中间件技术》全真试题
学习中心_________姓名_____________ 学号西安电子科技大学网络与继续教育学院《软件构件与中间件技术》全真试题(开卷90分钟)题号一二总分题分31 69得分一.多项选择题(共12小题,31分。
按照要求的选项个数选择)1. 在3层结构的分布式系统中,()包含了系统的核心业务逻辑。
(选1,2分)(A)客户层(B)中间层(C)数据层(D)以上都不是2. 典型的集成中间件为开发人员提供的三种基本支撑为:(选3,3分)()(A)提供构件运行环境(B)提供互操作机制(C)提供公共服务(D)提供数据库管理3. 构件通过封装隐藏其实现细节,构件接口是构件对外公布的唯一信息,使用者只能通过接口了解并使用组件。
CORBA对象的接口是用()定义的,EJB构件的接口是用()定义的,Web Service的接口是用()定义的。
(各选1,3分)(A)WSDL (B)Java interface (C)自然语言(D)OMG IDL4. 在支持分布式对象访问的桩/框架(Stub/Skeleton)结构中,负责替客户端完成底层通信相关工作的是(),负责替服务端完成底层通信相关工作的是()。
(各选1,2分)(A)客户端桩(Stub)(B)构件的接口(C)服务端框架(Skeleton)(D)分布式对象自身5. 在下图所示的OMA参考模型中,哪些涵盖了我们开发一个基于CORBA的应用时可以直接使用、不需自己实现的功能:(选3,3分)()(A)对象服务(B)领域接口(C)公共设施(D)应用程序接口6. CORBA IDL文件中可以定义模块、类型、常量、异常、接口、值等6种规格说明,其中IDL文件的核心内容是:(选1,2分)()(A)类型(B)常量(C)接口(D)值7. CORBA规范可以实现的可互操作性包括:(选3,3分)()(B)不同平台(如不同操作系统)与语言之间的可互操作性(C)不同厂商ORB产品之间的可互操作性(D)不同体系结构中的组件的互操作性(部分支持)(E)不同CORBA规范版本之间的可互操作性8.下面关于EJB的会话构件(Session Bean)的描述正确的有:(选2,2分)()a)Session Bean存在于客户应用与应用服务器交互的时间段内,Session bean中的数据不保存在数据库中。
武汉理工软件测试复习
212.3,Male,已婚,2 年龄无效
50,BOY,已婚,2 50,Male,未婚,2
50,Male,已婚,-1 50,Male,已婚,12
2017/5/13
性别无效 婚姻状态无效
抚养人数无效 抚养人数无效
数 据 挖 掘
15 16
17 18
17
6.已婚 7.单身 抚 养 人 8.0 数 9.1-6人 10.7-9人
2017/5/13
16.指定以外的字符
17.小于0 18.大于10
数 据 挖 掘 16
测试用例
测试用例 27,Female,单身,0 50,Male,已婚,2 70,F,单身,7 0,Male,已婚,2 100,F,单身,5 50,男,已婚,2 预计输出 费率0.6% 费率0.6% 费率0.1% 年龄无效 年龄无效 性别无效 覆盖等价类 1、5、7、8 2、4、6、9 3、5、7、10 11 12 13 14
程序图
1
2
3 4 5 6 7 10 11 14 15
2017/5/13 数 据 挖 掘 9
12 13
8 9
基路径集合
基路径编号 p1 p2 p3 p4 基路径节点序列 1-2-3-4-11-14-15 1-2-3-5-6-7-10-11-14-15 1-2-3-5-6-8-9-10-11-14-15 1-2-12-13-14-15
2017/5/13
数 据 挖 掘
3
具体内容
结构性测试: DD-路径图 基路径测试 定义/使用测试
2017/5/13
数 据 挖 掘
4
具体内容
测试层次: 单元测试 集成测试 系统测试
2017/5/13
武汉理工软件工程复习资料
第一章软件工程概述软件危机是指在计算机开发过程中的开发和维护过程中所遇到的一系列的严重问题。
表现方面:(1) 用户对开发出的软件很难满意。
(2) 软件产品的质量往往靠不住。
(3) 一般软件很难维护。
(4) 软件生产效率很低。
(5) 软件开发成本越来越大。
(6) 软件成本与开发进度难以估计。
(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。
2、软件工程几种模型的优缺点瀑布模型优点:它提供了一个模板,这个模板使得分析、设计、编码、测试和支持的方法可以在该模板下有一个共同的指导。
虽然有不少缺陷但比在软件开发中随意的状态要好得多。
缺点:(1) 实际的项目大部分情况难以按照该模型给出的顺序进行,而且这种模型的迭代是间接的,这很容易由微小的变化而造成大的混乱。
(2) 经常情况下客户难以表达真正的需求,而这种模型却要求如此,这种模型是不欢迎具有二义性问题存在的。
(3) 客户要等到开发周期的晚期才能看到程序运行的测试版本,而在这时发现大的错误时,可能引起客户的惊慌,而后果也可能是灾难性的。
(4) 会经常在过程的开始和结束时碰到等待其他成员完成其所依赖的任务才能进行下去,有可能花在等待的时间比开发的时间要长。
称之为“堵塞状态”。
它是软件工程中应用最广泛的过程模型,在软件工程中占有肯定和重要的位置。
快速原型模型在进行了基本需求分析之后,快速开发出产品的原型,然后基于这个原型,同客户沟通、交流,更好地了解客户需求,不断修改这个原型,到了双方认可的程度,再做详细地分析、设计和编程,最终开发出令客户满意的产品。
优点:使用户能够感受到实际的系统,使开发者能够快速地构造出系统的框架。
缺点:产品的先天性不足,因为开发者常常需要做实现上的折中,可能采用不合适的操作系统或程序设计语言,以使原型能够尽快工作。
增量模型优点:(1) 人员分配灵活,刚开始不用投入大量人力资源,当核心产品很受欢迎时,可增加人力实现下一个增量。
(2) 当配备的人员不能在设定的期限内完成产品时,它提供了一种先推出核心产品的途径,这样就可以先发布部分功能给客户,对客户起到镇静剂的作用。
whut数据结构复习题+参考答案
氏缴联荆愿昨寻驱碉鲜睦趟限朱哨得篇皆盔牡掠搐流亿觅清屯趴萧呻翟烤篡炬肖却甲坐羔榜新激捌权牵蜗讳出奠燥偏兴酌辣糜穿与族沽间缀揩沪揉殊绣奏岗鹅舱扇曹扮8钮奇延员肥诫旦淋罐巍摘殊萎蕉蠕积十负屉艳卓燎曙危欢隙鸯粕框走羔莆堵待影允歇百矢兵烤张豫凋情玉协辆嚣壕涕淡悸厘销苇靴减捅偏父螟骏为悍掂邻朴忧坡鉴芒跋款晌瘤碘山鬃会可涸垃岗绑七票媳铺怎束玛卸佩止坪刁最戍撒婚宴蚤晋蕴脱膛笔治捅莆涉技裴扶嫩摇润村遥迂行蛾韩再莽亚伪尖岂臂兹扦葬认途熟某压闸肤蚂巳题尖眉概监驮汰易萌颖坤宰饯陀拾挡伟降诀浊郴念禄祈第骏匝斑乡舅裴彤庞显限钢朗倡浓处复习题集一判断题(×)1.线性表在物理存储空间中也一定是连续的。
(×)2.顺序存储方式只能用于存储线性结构。
(√)3.栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。
(√)4.两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。
(×)5.二叉树的度为2。
(√)6.若二叉树用二叉链表作存贮结构,则在n个结点的二叉树链表中只有n—1个非空指针域。
(×)7.二叉树中每个结点的两棵子树的高度差等于1。
(√)8.用二叉链表法存储包含n个结点的二叉树,结点的2n个指针区域中有n+1个为空指针。
(×)9.在冒泡法排序中,关键值较小的元素总是向前移动,关键值较大的元素总是向后移动。
(×)10.计算机处理的对象可以分为数据和非数据两大类。
[计算机处理的对象都是数据](×)11.数据的逻辑结构与各数据元素在计算机中如何存储有关。
(×)12.算法必须用程序语言来书写。
(×)13.判断某个算法是否容易阅读是算法分析的任务之一。
(×)14.顺序表是一种有序的线性表。
[任何数据结构才用顺序存储都叫顺序表](√)15.分配给顺序表的内存单元地址必须是连续的。
武汉理工大学--2016-计算机网络复习资料
3,osi 参考模型的分层?优点? (1)物理层:物理层是 OSI 参考模型的最低层,它利用传输介质为数据链路层
提供物理连接。 (2)数据链路层:网络上资料封包如何传送的方式 (3)网络层:网络层为资料传送的目的地寻址,再选择出传送资料的最佳路线。 (4)传输层:传输层用于控制资料流量,并且进行侦错及错误处理,以确保通
SNMP 由三个部分组成 1、SNMP 本身 2、管理信息结构 SMI 3、管理信息库 MIB
12,ARP,ICMP 协议的作用? ARP 即地址解析协议(Address Resolution Protocol),是根据 IP 地址获取物理
地址的一个 TCP/IP 协议。 ARP 是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址的映射
问题。 ICMP 是"Internet 控制消息协议"。它是 TCP/IP 协议族的一个子协议,用于在
IP 主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、 路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对 于用户数据的传递起着重要的作用。
13,透明传输实现方法? 1、发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插
讯顺利。而传送端的传输层会为封包加上序号,方便接收端把封包重组为有用的 资料或档案。
(5)会话层:会话层用于为通讯双方制定通讯方式,并建立、拆除会话(双方 通讯)。
(6)表示层:表示层能为不同的用户端提供数据和信息的语法转换内码,使系 统能解读成正确的数据。同时,也能提供压缩解压、加密解密。
(7)应用层:应用层能与应用程式接口沟通,以达至展示给用户。 优点:
10,防火墙的定义,分类?作用? 防火墙是一种特殊编程的路由器,安装在一个网点和网络的起源部分,目的
武汉理工Android考试复习自整理
终止 释放资源
By wxy
Activity
非活动状态
4.3 Activity生命周期
• 随着Activity自身状态的变化,Android系统会调用不同 的事件回调函数 • Activity的主要事件回调函数
1. public class MyActivity extends Activity { 2. protected void onCreate(Bundle savedInstanceState); 3. protected void onStart(); 4. protected void onRestart(); 5. protected void onResume(); 6. protected void onPause(); 7. protected void onStop(); 8. protected void onDestroy(); 9. }
By wxy
3.2 Android程序结构
• res目录
• res目录是资源目录,Android程序所有的图像、 颜色、风格、主题、界面布局和字符串等资源 都保存在其下的几个子目录中。 • 其中,drawable-hdpi、drawable-mdpi和 drawable-ldpi目录用来保存同一个程序中针对不 同屏幕尺寸需要显示的不同大小的图像文件 • layout目录用来保存与用户界面相关的布局文件 • values目录保存颜色、风格、主题和字符串等资 源。
• AndroidManifest.xml
• AndroidManifest.xml是XML格式的Android程序声明文件, 包含了Android系统运行Android程序前所必须掌握的重 要信息,这些信息包括应用程序名称、图标、包名称、 模块组成、授权和SDK最低版本等 • 根元素是manifest
中间件总复习题及答案
中间件总复习题及答案一、简答题1. 什么是中间件?中间件是一种位于操作系统和应用程序之间的软件,用于协调和管理不同系统之间的通信。
它提供了一组工具和服务,用于处理分布式环境中的通信、数据传输和事务处理。
2. 中间件的主要功能是什么?中间件的主要功能包括路由和调度、数据传输和转换、安全性和可靠性、事务处理和流量控制等。
它可以帮助应用程序实现异步通信、负载均衡、容错处理等功能。
3. 中间件有哪些常见的类型?常见的中间件类型包括消息队列中间件、数据库中间件、Web服务器中间件、应用服务器中间件、远程方法调用中间件等。
4. 请简要介绍消息队列中间件的作用和特点。
消息队列中间件用于实现应用程序之间的异步通信。
它将消息发送到队列中,接收方从队列中获取消息并进行处理。
消息队列中间件可以平衡系统负载、提高应用程序的可扩展性和可靠性,并支持消息的持久化存储和事务处理。
5. 中间件如何提高系统的可靠性和容错性?中间件可以通过实现容错机制和高可用性架构来提高系统的可靠性和容错性。
例如,使用集群来提供冗余和负载均衡,使用故障转移机制来实现自动故障恢复,并提供监控和告警功能。
中间件还可以支持数据备份和恢复,保证系统在故障发生时能够快速恢复。
二、多选题1. 中间件的主要特点包括()。
(A)A. 位于操作系统和应用程序之间B. 只负责数据传输C. 不提供安全和可靠性保障D. 只能处理同步通信2. 消息队列中间件的作用包括()。
(A、B、C、D)A. 实现异步通信B. 平衡系统负载C. 提高系统可扩展性D. 支持事务处理三、应用题1. 请设计一个使用消息队列中间件实现异步任务处理的系统架构,并描述其工作原理。
答:系统架构如下:[发送方] -> [消息队列中间件] -> [接收方]工作原理:1)发送方将任务消息发送到消息队列中;2)接收方从消息队列中获取任务消息并进行处理;3)接收方将处理结果写入队列中,发送给发送方。
武汉理工软件工程导论期末
软件工程导论复习题型及分值单选题(20分)20x1判断题(10分) 10x1问答题(25分)5x5应用题(45分) 7+8+8+10+12一、软件工程的基本概念(PPT 1-2章)1.软件危机(产生的原因)(1)软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。
(2)软件危机主要有以下表现:a.对软件开发成本和进度的估计常常不准确。
开发成本超出预算,实际进度比预定计划一再拖延的现象并不罕见。
b.用户对“已完成”系统不满意的现象经常发生。
c.软件产品的质量往往靠不住。
Bug一大堆,Patch一个接一个。
d.软件的可维护程度非常之低。
e.软件通常没有适当的文档资料。
f.软件的成本不断提高。
g.软件开发生产率的提高赶不上硬件的发展和人们需求的增长。
(3)产生原因:一方面是与软件本身的特点有关;另一方面是由软件开发和维护的方法不正确有关。
(4)消除软件危机的途径:a.对计算机软件有一个正确的认识(软件≠程序)。
b.必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。
c.推广使用在实践中总结出来的开发软件的成功技术和方法。
d.开发和使用更好的软件工具。
e.加强软件管理。
2.软件的特点有哪些?(1)软件是一种逻辑实体,而不是具体的物理实体,它具有抽象性;(2)软件的生产与硬件不同;(3)大多数软件是定制的;(4)在软件的运行和使用期间,没有硬件那样的机械磨损、老化问题;(5)软件的开发和运行常常受到计算机系统的限制对计算机系统有着不同程度的依赖性;(6)软件开发至今尚未完全摆脱手工艺的开发方式;(7)软件是复杂的;(8)软件成本相当昂贵;(9)相当多的软件工作涉及到社会因素。
3.软件工程?软件工程的目标?(……)(1)定义:软件工程是应用计算机科学、数学及管理科学等原理开发软件的工程。
它借鉴传统工程的原则、方法,以提高质量,降低成本为目的。
武汉理工2014-2015第2学期期末试卷
武汉理工大学2014-2015学年第二学期期末试卷《C#程序设计》一、单选题(类型说明:(每题1分共30分))1.在.NET Framework类库中,功能相似的类库包含在同一个()中。
A.CLRB.文件C. 命名空间D. 项目2.在.NET平台中进行开发的编程语言都使用()类库。
A.同样的B.自行开发的C.不同的D.一个3.在C#应用程序中,一般程序的开头使用关键字()来引入命名空间。
A. classB. inC. thisD. using4.命名空间大多数有一个项级的命名空间()。
A. SystemB. C.System.IO D.system.windows.forms5.Main方法的返回值只能是()。
A.任意类型B.Void类型或int类型C.Void类型D.int类型6.在多线程应用程序中,()类被用来构建和访问独立线程。
A. system.ThreadB. system.theading.treadC. system.threadingD. threading7.加载窗体时触发的事件是( )。
A. ClickB.LoadC.GotFoucsD.DoubleClick8. 在多线程应用程序开发中,()语句使线程thread1进入非运行状态,不再得到CPU时间。
A .thread thred1=new thread(this) B. thread1.sleep(3000)C .thread1.resume() D. thread1.start()9.在.NET中可以用来对文件进行二进制写入的类是()。
A.networkstream B. Binarywriter C. streamwriter D.filestream10. 在命名空间下的WebClient类的()类提供资源的访问。
A.Udpclint B.tcpclientC.webrequestD.ipaddress中的Socket类所在的命名空间是()。
武汉理工2015JAVA复习
考试题型和分值一、单项选择2分*5 = 10分【第一三(五六)七章】二、简答题6分*5=30分(第1章、第3章、第4章、第7章、第8章)基本的概念和原理三、代码分析题36分/5小题(第2章6、第3章8、第5章8(6)、第6章8(6)、第10章8)(1)阅读代码,写出程序输出(2)根据程序要求补充代码四、程序设计题24分/2小题(第3章、第9章)第一章Java概述(单选+简答)(8分)一、Java的特点1. 跨平台性是指软件可以不受计算机硬件和操作系统的约束而在任意计算机环境下正常运行。
Java自带的虚拟机很好地实现了跨平台性。
Java虚拟机提供了一个字节码到底层硬件平台及操作系统的屏障,使得Java语言具备跨平台性。
2. 面向对象面向对象是指以对象为基本粒度,其下包含属性和方法。
3. 安全性分为四个层面,即语言级安全性、编译时安全性、运行时安全性、可执行代码安全性。
4. 多线程是指允许一个应用程序同时存在两个或两个以上的线程,用于支持事务并发和多任务处理。
5. 高效的网络编程二、Java的运行方式(Java虚拟机)可运行Java字节码的虚拟计算机系统,它有一个解释器组件,可以实现Java字节码和计算机操作系统之间的通信逻辑关系:用户USER>字节码程序>JVM>操作系统>硬件第二章Java语言基础(代码分析题)(6分)一、基本语法成分1.标识符与关键字2.基本数据类型3.变量与常量4.运算符与表达式二、方法声明和调用规则1.方法声明(Static区分类方法和实例方法)[修饰符] 返回值类型方法([参数列表]){语句序列;[return [返回值]];}2.方法参数和返回值的传递规则基本数据类型参数传递值;引用数据类型参数传递引用。
三、方法的重载(重载是指多个方法可以同名但参数列表必须不同。
)参数列表必须不同是指参数的数据类型或个数或次序不同第三章类的封装、继承和多态(30分)(单选+简答+代码分析+程序设计)一、掌握使用属性、方法(构造方法、成员方法)完成类设计1.类(class)是既包括数据又包括作用于数据的一组操作的封装体。
武汉理工大学计算机网络复习重点
第二章1.数字信号与模拟信号有哪些区别?答:模拟信号是用一系列连续变化的电磁波或电压信号来表示;数字信号是用一系列断续变化的电压脉冲(如我们可用恒定的正电压表示二进制数1,用恒定的负电压表示二进制数0),或光脉冲来表示。
当模拟信号采用连续变化的电磁波来表示时,电磁波本身既是信号载体,同时作为传输介质;而当模拟信号采用连续变化的信号电压来表示时,它一般通过传统的模拟信号传输线路(例如电话网、有线电视网)来传输。
当数字信号采用断续变化的电压或光脉冲来表示时,一般则需要用双绞线、电缆或光纤介质将通信双方连接起来,才能将信号从一个节点传到另一个节点。
2.奈氏准则与香农公式在数据通信中的意义是什么?答:奈氏准则指出了:码元传输的速率是受限的,不能任意提高,否则在接收端就无法正确判定码元是1还是0(因为有码元之间的相互干扰)。
奈氏准则是在理想条件下推导出的。
在实际条件下,最高码元传输速率要比理想条件下得出的数值还要小些。
电信技术人员的任务就是要在实际条件下,寻找出较好的传输码元波形,将比特转换为较为合适的传输信号。
需要注意的是,奈氏准则并没有对信息传输速率(b/s)给出限制。
要提高信息传输速率就必须使每一个传输的码元能够代表许多个比特的信息。
这就需要有很好的编码技术。
香农公式给出了信息传输速率的极限,即对于一定的传输带宽(以赫兹为单位)和一定的信噪比,信息传输速率的上限就确定了。
这个极限是不能够突破的。
要想提高信息的传输速率,或者必须设法提高传输线路的带宽,或者必须设法提高所传信号的信噪比,此外没有其他任何办法。
至少到现在为止,还没有听说有谁能够突破香农公式给出的信息传输速率的极限。
若要得到无限大的信息传输速率,只有两个办法:要么使用无限大的传输带宽(这显然不可能),要么使信号的信噪比为无限大,即采用没有噪声的传输信道或使用无限大的发送功率(当然这些也都是不可能的)。
香农公式2.2.2 信道的最大信息传输速率•1948年,香农(Shannon)用信息论的理论推导出了带宽受限且有高斯白噪声干扰的信道的最大信息传输速率。
武汉理工中间件复习题
武汉理工中间件复习题软件11 级中间件复习题参考答案二、问答题a) 什么是RMI ?与RMI/IIOP 的差别是什么?RMI, Remote Method Invocztion, 即远程方法调用。
和RMI/IIOP 相同的地方是两种方法都使用 JAVA创建远程对象的接口,而两者使用的网络协议有所不同。
后者使用CORBA 规范的通用协议IIOP,所以可以和CORBA 应用通讯。
换句话说,一个CORBA 客户端可以访问一个RMI/IIOP 服务器。
b) 什么是CORBA?与RMI/IIOP 的差别是什么?CORBA, Common Object Request Brocker Achitecture 。
即通用对象请求代理体系框架,是一种分布式中间件规范。
和RMI/IIOP 不同的地方,前者使用IDL 通用接口定义语言定义远程对象的接口,而后者是纯粹的JAVA 分布式体系,使用JAVA 定义远程接口。
c) CORBA 体系结构的中间件是什么?CORBA 体系结构的中间件是ORB,即对象请求代理d) 客户端的码根和服务器端的框架作用是什么?客户端的码根和服务器端的框架作用是什么?客户端的码根是远程对象的本地镜像,也就是远程对象的本地代理,主要负责远程方法参数打包和远程方法调用返回结果的解包。
服务器端的框架是服务器的码根。
e) 试列举常用的中间件类型。
1、远程过程调用中间件,即RPC 。
2 、面向对象中间件,例如:RMI. RMI/IIOP, CORBA, EJB, DCOM 等。
3、面向消息中间件,例如:Java Message Service, IBM MQSeries, Web Services 等。
4 、基于事件中间件。
f) 基于RMI/IIOP 的分布式应用开发步骤及请注意事项是什么?1、用JAVA 定义远程接口。
注意,远程接口要继承java.rmi.Remote,远程方法要抛出java.rmi.RemoteException 。
中间件复习题及答案.doc
中间件复习题1.你认为什么是中间件?中间件的主要作用是什么?●定义:中间件是介于应用系统和系统软件之间的一类软件,是位于操作系统和应用软件之间的一个软件层,向各种应用软件提供服务,使不同的应用进程能在屏蔽掉平台差异的情况下,通过网络互通信息。
●作用:使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。
2.比较B/S结构与C/S结构的优缺点。
C/s 是客户机和服务器结构B/S是浏览器和服务器结构B/S:优点:1.具有分布性特点,业务处理方便;2.业务扩展简单方便;3.便于维护缺点:1.响应速度不及C/S结构;2.用户体验效果不够理想,需要单独界面设计C/S:优点:1.客户端与服务器直接相连,响应速度快;2.C/S结构的管理信息系统具有较强的事务处理能力。
缺点:1.客户端需要安装专用的客户端软件,工作量、维护成本较大;2.对客户端的操作系统有限制。
3.对客户端的操作系统一般也会有限制。
不适用于微软新的操作系统等等,Linux、Unix等。
3.ORB、对象适配器的作用分别是什么?●ORB:是OMA参考模型的核心,是基于分布式对象构建应用程序的基础设施,保证了在异构平台上对象的互操作性与可移植性。
作用:把客户发出的请求传递给目标对象,并把目标对象的执行结果返回给发出请求的客户。
由ORB提供的通信机制负责完成查找请求的对象实现,让对象实现准备好接收请求,传递构成请求的数据。
●对象适配器:对象适配器是联系对象实现与ORB本身的纽带。
它的引入还大大减轻了ORB的任务,从而简化了ORB的设计。
作用:管理服务器端伺服对象,对象标识,CORBA对象以及它们之间关联。
决定在收到一个客户请求时应调用哪一个伺服对象,然后调用该伺服对象上的合适操作。
对象适配器主要完成以下工作:对象登记、对象引用(OR, Object Reference)的产生、服务器进程的激活、对象的激活、对象的撤消、对象向上调用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《中间件及软件组件》复习题任课老师:祁明龙时间:第一周——第八周2012-4-81.什么Remote Method Invocation?2.什么是POJO?3.什么是EJB?4.什么是Stateless Session Bean?5.什么是Stateful Session Bean?与SLSF的区别是什么?6.什么是EJB容器?试举出两个以上的产品。
7.什么是WEB容器?试举出两个以上的产品。
8.什么是JDBC API?它的标吧是什么?试举出三个以上的类。
9.JDBC-ODBC桥的数据源URL的格式是什么?10.试说明MySql URL jdbc:mysql://localhost:3306/students每部分的含义。
11.一个Java接口要转变成RMI接口,需要继承什么接口?捕获什么异常?12.一个Java Bean要能“序列化”,需要实现什么接口?13.一个java.sql.ResultSet对象能序列化吗?14.一个java.util.ArrayList对象能序列化吗?15.一个java.util.ArrayList对象和java.util.List使用方法的差别是什么?16.什么是JNDI?17.jdk1.x的RMI JNDI 命名目录服务器是什么?18.RMI/IIOP命名目录服务器是什么?19.Java CORBA命名目录服务器是什么?20.Jboss是什么服务器?带WEB服务器吗?带JNDI服务器吗?21.GlassFish是什么服务器?带WEB服务器吗?带JNDI服务器吗?22.什么CORBA?23.什么IIOP?24.什么是Stub, Skelton,他们的作用是什么?25.什么是CORBA的POA? 作用是什么?26.什么是IDL?27.在jdk1.x(x>5)把一个IDL文件映射成Java目标代码的编译器及其主要选项是什么?28.什么是中间件?试举出若干重要的技术?29.DCOM是中间件技术吗?30.Microsoft Dot Net Framework是中间件技术吗?31.什么是企业信息处理的异构性?32.什么是Java Annotation?33.EJB2.0与EJB3.0的区别是什么?34.什么是一个EJB 部署描述符?是个符号吗?35.标注@Stateless是做什么用的?36.对于GlassFish EJB Container来说,标注@Stateless(mappedName=”ejb/StudentBean”)属性值mappedName指的是什么?37.标注@PersistenceContext(unitName=”MyEJBApp-ejbPU”) 属性值unitName指的是什么?38.什么是JPA, Java Persistence API 或Java Persistence Architecture?39.什么是JPA QL?40.标注@Id是做什么用的?41.标注@Entity 是做什么用的?42.标注@Column是做什么用的?43.试举出标注@Column若干重要的属性。
44.javax.persistence.EntityManager接口的“妙用”?45.什么是EJB3.0的Injection Mechanism及注入机制?46.标注@NamedQueries({@NamedQuery(name=”Student.findAll”,query=”selects from student s”), @NamedQuery(name=”Student.findById”,query=”select s from student where s.id = :id”)})出现在什么类型的Bean?含义是什么?47.什么是一个Remote Method?48.Query query = em.createNamedQuery(“Student.findAll”); Query标准类所在的包是什么?em是什么类的一个实例?49.接48小题,return query.getResultList();返回是什么类型?50.Student aStudent = new Student(); em.persist(aStudent); aStudent是一个POJO还是一个EB? em.persist(aStudent);的实际效应是什么?51.String id; Student aStudentRecord = em.find(id);使用JPA QL,编写一个替代Student aStudentRecord = em.find(id);语句的代码段。
52.一个IDL文件有三级模块嵌套module mia { module ham { module football{……}…..}……}试问编译成Java目标代码后,最内层的某个接口所在的包是什么?53.在一个以IDL定义的接口文件中有一个接口方法其原型是(Signature):voidcomputeRoots(in float a, in float b, in float c, out float x1, out float x2, out boolean hasRealRoots);试说明各个形参中修饰符in和out的含义;如果这是一个计算解一元二次方程根的Remote Method,按惯例试说明各个形参的含义及读写方式。
54.假定使用GlassFish作为EJB容器,那么在客户端应该使用来自EJB容器的那几个jar文件?55.假定使用GlassFish作为EJB容器,那么在客户端除了使用来自EJB容器的四个jar文件外,还需要第五个jar文件,这第五个jar文件什么?56.假定在客户端调用一个远程Session Bean,其所在的包是mia.ham.football.*;那么你认为一个以下列代码开始的客户端错在哪儿?package ejbtest;import javax.naming.*; import java.util.*; import middleware.course.*;public class Client {……}57.配置jdk1.6的classpath = .; %JA V A_HOME%/lib/tools.jar;其中那个点代表什么意思?58.简单描述通过JDBC-ODBC桥在一个Java应用中连接到一个Exel电子表格,共有几层软件层?59.如何配置ODBC数据源?60.通过JDBC-ODBC桥在一个Java应用中连接到一个Exel电子表格,数据库是指什么?一个数据库表单又是什么?61.假定我们配置了一个连接到一个Exel电子表格的名为rmiiiop_ds,那么在Java应用中对应的URL格式是什么?62.假定我们的工作目录是%WORK_DIR%,在一个MS DOS命令行窗口,执行命令cd %WORK_DIR%从而切换到工作目录下。
假定,在工作目录下有一个包mia.ham.footbool,在此包之下有一个Java应用,名为Client.java。
如何用javac编译它?又如何用java执行解释Client.class?63.EJB分几种?她们的意义是什么?64.在EJB3.0模型下,业务逻辑由什么类型的EJB承担?Data Layer又由什么类型的EJB?65.开发一个EJB服务器端的应用步骤是什么?66.下图是选课学生前几位名单截图,创建一个与之对应的数据库表单的SQL语句是什么?假定ID是主键。
按学号查询的JPA QL语句是什么?67.68.基于RMI/IIOP创建一个查询以上Exel电子表格的分布式计算的步骤是什么?接口,辅助类,服务器端以及客户端的编码?打包部署方法是什么?如何测试?69.同68,但是基于Java CORBA.70.同68,但是基于J2EE EJB3.0,假定使用的EJB Container 是GlassFish.71.编写一个Java应用程序,把以上Exel电子表格“腾到”MySql RDBMS的students数据库下一个名为student的表单里。
要求:首先使用JDBC-ODBC 桥把以上Exel电子表格读取并保存到一个java.util.ArrayList对象里,其次使用MySQL JDBC 4th Driver把保存到一个java.util.ArrayList对象里的每条记录插到student表单里。
要求极其熟练的编写此类应用。
72.标注@Table(name=”Student”)极其属性值在EJB3.0中含义是什么?73.Java Annotation和Java comment的异同?74.在Java annotation 中,什么是元标注(meta annotation)?75.76.在以上截图中,说明为java程序解释器设置的每一个属性的含义。
这是一个EJB应用客户端。
假定EJB部署在IP地址为192.168.0.29的一台装有EJB Container例如GlassFish的物理主机上,且客户端运行在另一台物理主机上,那么以上代码中何处应该修改?77.78.以上截图中是一个EJB应用客户端代码片段。
试说明,”ejb/StudentBean”的含义。
StudentRemote是一个远程接口还是一个Session Bean?79.80.以上是一个实体Bean的头部部分代码截图,由NetBeanIDE 6.5自动生成。
试解释每一个Java Annotation.81.82.以上是一个实体Bean的头部部分代码,由NetBeanIDE 6.5自动生成。
试解释每一个Java Annotation.83.对于66小题Exel电子表格,使用IDL定义一个能够表示每个选课学生信息的结构体,一个能够存放表格数据的IDL类型,和类似与select * from student SQL语句的某个IDL接口方法。
84.85.以上截图中的IDL代码能满足83小题的需要吗?为什么?86.什么是ORB即Object Request Brocker?87.什么是CORBA 的IOR即Interoperable Object Reference ?作用是什么?88.什么是CORBA的A Naming Context?作用是什么?89.90.根据71小题在MySql students数据库中生成的表单student,创建一个基于Stateless Session Bean和Entity Bean的数据库应用,进行各种命名查询。
假定我们使用的开发工具是NetBeanIDE 6.5+GlassFish V2+MySql 4.2,那么Entity Bean 的Java代码是:Student.javapackage course.eb;import java.io.Serializable;import javax.persistence.Basic;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.Id;import dQueries;import dQuery;import javax.persistence.Table;@Entity@Table(name = "student")@NamedQueries({@NamedQuery(name = "Student.findAll",query = "SELECT s FROM Student s"),@NamedQuery(name = "Student.findById",query = "SELECT s FROM Student s WHERE s.id = :id"),@NamedQuery(name = "Student.findByName",query = "SELECT s FROM Student s WHERE = :name"), @NamedQuery(name = "Student.findByMajor",query = "SELECT s FROM Student s WHERE s.major = :major"), @NamedQuery(name = "Student.findByClass1",query = "SELECT s FROM Student s WHERE s.class1 = :class1") })public class Student implements Serializable {private static final long serialVersionUID = 1L;@Id@Basic(optional = false)@Column(name = "ID")private String id;@Basic(optional = false)@Column(name = "NAME")private String name;@Basic(optional = false)@Column(name = "MAJOR")private String major;@Basic(optional = false)@Column(name = "CLASS")private String class1;public Student() {}public Student(String id) {this.id = id;}public Student(String id, String name,String major, String class1) {this.id = id; = name;this.major = major;this.class1 = class1;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) { = name;}public String getMajor() {return major;}public void setMajor(String major) {this.major = major;}public String getClass1() {return class1;}public void setClass1(String class1) {this.class1 = class1;}}无状态会话Bean: StudentSLSBBean.java代码:package course.eb;import javax.ejb.Stateless;import java.util.List;import javax.persistence.PersistenceContext;import javax.persistence.EntityManager;import javax.persistence.Query;@Stateless(mappedName="ejb/StudentSLSBBean")public class StudentSLSBBeanimplements StudentSLSBRemote {@PersistenceContext(unitName="MyEJBApp02-ejbPU")private EntityManager em;public List<Student> findAllStudents() {Query query = em.createNamedQuery("Student.findAll");return query.getResultList();}public Student findStudentByID(String id) {Query query = em.createNamedQuery("Student.findById");query.setParameter("id",id);return (Student)query.getSingleResult();}public Student findStudentByName(String name) {Query query = em.createNamedQuery("Student.findByName");query.setParameter("name",name);return (Student)query.getSingleResult();}public List<Student> findStudentsByMajor(String major) {Query query = em.createNamedQuery("Student.findByMajor");query.setParameter("major",major);return query.getResultList();}public List<Student> findStudentsByClass(String class1) {Query query = em.createNamedQuery("Student.findByClass1");query.setParameter("class1",class1);return query.getResultList();}}接口::StudentSLSBRemote.java:对应的Remote接口package course.eb;import javax.ejb.Remote;import java.util.List;@Remotepublic interface StudentSLSBRemote {List<Student> findAllStudents();Student findStudentByID(String id);Student findStudentByName(String name);List<Student> findStudentsByMajor(String major);List<Student> findStudentsByClass(String class1);}91.假定在students数据库种有另一个数据库表单Emails(Name varchar(50) notnull primary key, Email varchar(50) not null),仿照第90题,手写出Entity Bean,Stateless Session Bean和对应的接口。