欢迎来到天天文库
浏览记录
ID:40620754
大小:156.00 KB
页数:24页
时间:2019-08-05
《分布式系统复习题(chen)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、分布式系统练习题(J2EE)题型:判断(10)、简答(5)、编程(4)、主观题(3)一、简答题1.简述远程方法调用(RemoteMethodInvocation,RMI)的基本通信原理。答::远程方法调用(RMI)的基本通信原理:客户端与服务器端内在通过套接字通信。服务器端1、创建远程服务对象2、接收请求、执行并返回结果(Skeleton)1)解码(读取)远程方法的参数;2)调用实际远程对象实现的方法;3)将结果(返回值或异常)返回给调用程序。客户端1、建立与服务器的连接2、发送请求、接收返回结果(Stub)1)初始化连接;2)编码并发送参数;3)等待
2、方法调用结果;4)解码(读取)返回值或返回的异常;5)将值返回给调用程序。第24页共24页1.简述远程方法调用(RemoteMethodInvocation,RMI)的编程模型(主要编程步骤)。答:远程方法调用(RMI)的编程步骤:1)定义远程接口;2)定义远程对象/服务;3)定义客户应用,并与远程对象通信;4)调用远程方法(参数及返回值)。2.简述BMP实体Bean与CMP实体Bean的优缺点。答:1、编程方面CMP比BMP简单BMP需要通过Bean代码实现数据库的操作;CMP则只需要做相关的映射就可以了。2、功能方面BMP比CMP强大CMP一般用于
3、单表操作;BMP则可用于单表和多表操作。3.简述EJB2.1规范中实体Bean的finder方法在容器中的工作机制(要求阐述客户端调用finder方法时EJB容器调用Bean方法的过程)。答:EJB2.1规范中实体Bean的finder方法在容器中的工作机制(容器调用机制)1.create (1)ejbCreate,若返回异常,则结束,否则转2 (2)ejbActivate (3)ejbPostCreate (4)ejbStore (5)返回结果2.find... (1)ejbFind....,若返回异常,则结束,否则转2 (2)对(1)返回的结果集,
4、逐个处理(3-5) (3)若对象已经存在于容器内存中,则直接使用,否则转4 (4)从Pool中取一个空闲对象,调用ejbActivate与主键值关联 (5)调用ejbLoad方法 (6)返回结果第24页共24页1.简述无状态会话Bean的生命周期(图示或文字描述均可)。答:无状态会话Bean的生命周期如下图所示:2.简述有状态会话Bean的生命周期(图示或文字描述均可)。答:有状态会话Bean的生命周期如下图所示:第24页共24页1.简述EJB2.1规范实体Bean的生命周期(图示或文字描述均可)。答:实体Bean的生命周期如下图所示:2.简述EJB2
5、.1规范中会话Bean的远程接口、Home接口和Bean实现类的作用。答:1、远程接口的作用:定义客户机可以调用的商业方法。2、Home接口的作用:定义客户机可调用的Create上客户机实例化所需的对象EJB。3、Bean实现类的作用:Bean具体实现的功能。第24页共24页二、编程题1.使用EJB2.1规范编写一个无状态会话Bean,实现Fibonacci数列第n项的求解(要求使用非递归方法实现)。已知Remote接口和Home接口代码如下:/*Remote接口代码*/importjava.rmi.RemoteException;importjava
6、x.ejb.EJBObject;publicinterfaceFibonacciextendsEJBObject{ //获取Fibonacci数列第n项的值(n的索引从1开始)publiclonggetFibonacciItem(intn)throwsRemoteException;}/*Home接口代码*/importjava.rmi.RemoteException;importjavax.ejb.*;publicinterfaceFibonacciHomeextendsEJBHome{publicFibonaccicreate()throwsRe
7、moteException,CreateException;}/*EJB实现类代码*/importjavax.ejb.SessionBean;importjavax.ejb.SessionContext;importjavax.ejb.CreateException;publicclassFibonacciEJBimplementsSessionBean{SessionContextsessionContext;//远程接口的方法publiclonggetFibonacciItem(intn){longff;if(n<=1)ff=1;else{intx
8、,a=0,b=l;for(inti=2;i<=n;i++){x=a;a=b;b=x+a;ff=
此文档下载收益归作者所有