persistent方式的MDB可以保证消息传递的可靠性,也就是如果EJB容器出现问题而JMS服务器依然会将消息在此MDB可用的时候发送过来,而non-persistent方式的消息将被丢弃。" h/ s- A+ {* J* b; @
91、Servlet执行时一般实现哪几个方法?0 E% m, g1 u2 _ v: i2 V- G
public void init(ServletConfig config)$ t3 m( C9 Q- Z* A3 I: g
public ServletConfig getServletConfig()$ w' w, o6 Q0 t) m$ R' p# O
public String getServletInfo()8 O V; @4 f9 D0 i' l6 g, V
public void service(ServletRequest request,ServletResponse response)
3 \1 Y7 X/ b- F3 k, L6 b public void destroy()4 [, ]! X& h5 A
92、j2ee常用的设计模式?说明工厂模式。
5 k9 e* S5 U: T9 I: y2 b0 P Java中的23种设计模式:
2 ]) m- i! M! q" {1 Y6 p Factory(工厂模式), Builder(建造模式), Factory Method(工厂方法模式),
- w# ~% Y8 i0 M/ ?' S! Z Prototype(原始模型模式),Singleton(单例模式), Facade(门面模式),$ H* E9 X6 H1 I% ^$ D
Adapter(适配器模式), Bridge(桥梁模式), Composite(合成模式),3 p4 Z" Z5 ~: f7 I8 E
Decorator(装饰模式), Flyweight(享元模式), Proxy(代理模式),
. A3 Y8 S7 R1 F2 E# T E Command(命令模式), Interpreter(解释器模式), Visitor(访问者模式),
5 }- i4 ?" P7 v# S6 p Iterator(迭代子模式), Mediator(调停者模式), Memento(备忘录模式),( J0 f$ h0 X" t
Observer(观察者模式), State(状态模式), Strategy(策略模式),
& N- z' T& B' t Template Method(模板方法模式), Chain Of Responsibleity(责任链模式)" K) _% _/ ]1 b k. k- o5 z
工厂模式:工厂模式是一种经常被使用到的模式,根据工厂模式实现的类可以根据提供的数据生成一组类中某一个类的实例,通常这一组类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作。首先需要定义一个基类,该类的子类通过不同的方法实现了基类中的方法。然后需要定义一个工厂类,工厂类可以根据条件生成不同的子类实例。当得到子类的实例后,开发人员可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例。- j8 D$ Y: ^. a; ?$ U9 l
93、EJB需直接实现它的业务接口或Home接口吗,请简述理由。8 H1 c: p! j# _1 D5 c0 n- w5 u3 g
远程接口和Home接口不需要直接实现,他们的实现代码是由服务器产生的,程序运行中对应实现类会作为对应接口类型的实例被使用。+ Q" z9 @* R: {4 Q0 c
94、排序都有哪几种方法?请列举。用JAVA实现一个快速排序。
1 g+ K, |* p4 t2 W# D5 n c0 k 排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序)! X. b. x5 K" a$ b6 J
快速排序的伪代码。6 n" r- |! N$ p8 S! B9 p
/ /使用快速排序方法对a[ 0 :n- 1 ]排序
i9 O; d7 Z# l4 J* t 从a[ 0 :n- 1 ]中选择一个元素作为m i d d l e,该元素为支点
4 y: V# ~8 H$ q$ w4 g- @ 把余下的元素分割为两段left 和r i g h t,使得l e f t中的元素都小于等于支点,而right 中的元素都大于等于支点4 J: g7 p% T0 Z X+ p- y q
递归地使用快速排序方法对left 进行排序- h' y1 ?2 U0 C- _ a
递归地使用快速排序方法对right 进行排序
3 x s% f9 c& b& _ 所得结果为l e f t + m i d d l e + r i g h t% O' I8 }5 V D" F
95、请对以下在J2EE中常用的名词进行解释(或简单描述)
5 n* M* b* z( L5 k" I web 容器:给处于其中的应用程序组件(JSP,SERVLET)提供一个环境,使JSP,SERVLET直接更容器中的环境变量接口交互,不必关注其它系统问题。主要有WEB服务器来实现。例如:TOMCAT,WEBLOGIC,WEBSPHERE等。该容器提供的接口严格遵守J2EE规范中的WEB APPLICATION 标准。我们把遵守以上标准的WEB服务器就叫做J2EE中的WEB容器。
. X8 a! n( ~3 I EJB容器:Enterprise java bean 容器。更具有行业领域特色。他提供给运行在其中的组件EJB各种管理功能。只要满足J2EE规范的EJB放入该容器,马上就会被容器进行高效率的管理。并且可以通过现成的接口来获得系统级别的服务。例如邮件服务、事务管理。/ Q& t, {7 @0 X) T$ \$ @* ?, }
JNDI:(Java Naming & Directory Interface)JAVA命名目录服务。主要提供的功能是:提供一个目录系统,让其它各地的应用程序在其上面留下自己的索引,从而满足快速查找和定位分布式应用程序的功能。
5 M$ K5 A2 s8 T* O' V5 ` JMS:(Java Message Service)JAVA消息服务。主要实现各个应用程序之间的通讯。包括点对点和广播。
, u7 j% D- r T6 Z8 _ JTA:(Java Transaction API)JAVA事务服务。提供各种分布式事务服务。应用程序只需调用其提供的接口即可。
/ H" @& E: `$ p- n) a- x7 A* _ JAF:(Java Action FrameWork)JAVA安全认证框架。提供一些安全控制方面的框架。让开发者通过各种部署和自定义实现自己的个性安全控制策略。
N+ J+ g S1 H2 R* d: x( I RMI/IIOP: (Remote Method Invocation /internet对象请求中介协议)他们主要用于通过远程调用服务。例如,远程有一台计算机上运行一个程序,它提供股票分析服务,我们可以在本地计算机上实现对其直接调用。当然这是要通过一定的规范才能在异构的系统之间进行通信。RMI是JAVA特有的。 `2 d/ M4 \( a+ R5 m2 Z& I o
96、JAVA语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?
+ W# ], t6 c. m, V Java 通过面向对象的方法进行异常处理,把各种不同的异常进行分类,并提供了良好的接口。在Java中,每个异常都是一个对象,它是Throwable类或其它子类的实例。当一个方法出现异常后便抛出一个异常对象,该对象中包含有异常信息,调用这个对象的方法可以捕获到这个异常并进行处理。Java的异常处理是通过5个关键词来实现的:try、catch、throw、throws和finally。一般情况下是用try来执行一段程序,如果出现异常,系统会抛出(throws)一个异常,这时候你可以通过它的类型来捕捉(catch)它,或最后(finally)由缺省处理器来处理。 |