java程序员面试考试题及答案_第1页
java程序员面试考试题及答案_第2页
java程序员面试考试题及答案_第3页
java程序员面试考试题及答案_第4页
java程序员面试考试题及答案_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

java程序员面试考试题及答案

WEBLOGIC

1.WEBLOGIC域里面的效劳器分那几种,他们之间的关系是什么?

治理效劳器和托管效劳器;

治理效劳器治理托管效劳器.

2.WEBLOGIC部署业务应用时,需要修改哪几个关键配置文件?

web模块:扩展名.war,配置文件web.xml,

ejb模块:扩展名.jar,配置文件ejb-jar.xml,

ear模块:扩展名.ear,配置文件application.xml

3.WEBLOGIC中如何配置DataSource?DataSource来自什么资源?

weblogic中通过配置数据库连接池得到连接池资源,然后通过连接池资源可以配置出DataSource

4.WEBLOGIC中如何配置数据库连接池?主要设置哪些参数?

可以通过weblogic治理掌握台进展配置,也可以手动修改配置文件实现.

主要设置:

数据库连接字符串(包括IP,端口,数据库名,访问数据库的用户/密码等),

数据库驱动程序类路径,

最大连接数,

最小连接数等

/techdoc/2023120233.html

J2EE

5.J2ee容器都有那些

1)、J2EE效劳器:是J2EE产品的运行局部。一个J2EE效劳器供应EJB容器和Web容器。EnterpriseJavaBeans(EJB)容器:治理J2EE应用程序的enterprisebean的执行。Enterprisebean和它的容器运行在J2EE效劳器中。

2)、Web容器:治理J2EE应用程序的JSP页面和servlet组件的执行。Web组件和它的容器也运行在J2EE效劳器中。

3)、客户端应用程序容器:治理应用程序客户端组件的运行。应用程序客户端和它的容器运行在客户端中。

4)、Applet容器:治理applet的执行。由运行在客户端的一个Web扫瞄器和Java插件一同组成。

6.web容器有哪些

web容器:给处于其中的应用程序组件(JSP,SERVLET)供应一个环境,使JSP,SERVLET直接跟容器中的环境变量接口交互,不必关注其它系统问题。主要由WEB效劳器来实现。例如:TOMCAT,WEBLOGIC,WEBSPHERE等。

7.JNDI有什么作用?哪些资源可以通过JNDI查找到?

通过名目名称访问远程效劳,JNDI可以访问数据库连接资源,EJB组件,JMS效劳等等

8.CMTEJB中对数据库进展插入和更新操作,一般配置什么事物属性?Required

9.CMTEJB中对数据库进展查询操作,一般配置什么事物属性?Support

10.SessionBean组件中的Remote接口,Home接口主要作用是什么?各有哪些主要的抽象方法?

Home接口中的主要方法是create方法,该方法返回remote接口对象,Home接口的主要作用就是创立remote接口对象;

Remote接口主要定义业务抽象方法,在Bean类中实现了这些抽象方法.

11.有状态SessionBean中的active方法和deactive方法有什么作用?

active方法初始化有状态SessionBean中的全局资源,并激活EJB容器中有状态SessionBean对象,使得有状态SessionBean可以为外部供应效劳.

deactive方法去激活EJB容器中有状态SessionBean对象,释放有状态SessionBean中初始化的全局资源.

12.如何实现事务掌握?

JDBC事务治理方式和JTA事务治理方式

13.事务的概念

事务处理是由以一个单一的规律单位完成的一系列操作,它可以由一系列的操作组成,假如在该单位包含的操作执行完毕后没有发生错误,那么它所作的转变就是永久的了。假如一旦有错误发生,它就会滚回,不会作任何修改或转变。

14.事务的特点

Atomicity,Consistency,Isolation,andDurability

1,原子性(Atomicity)

事务必需是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。

2,全都性(Consistency)

事务在完成时,必需使全部的数据都保持全都状态。

3,隔离性(Isolation)

由并发事务所作的修改必需与任何其它并发事务所作的修改隔离。

4,长久性(Durability)

事务完成之后,它对于系统的影响是永久性的。该修改即使消失致命的系统故障也将始终保持。

15.EJB中的事务

(一)EJB中事务处理的属性有:Required,RequiresNew,Mandatory,NotSupported,Supports,Never.

1、Required:当客户端运行一个事务处理并调用EJB的一个方法,这个方法执行客户端的事务处理;当客户端没有启动一个事务处理,则EJB容器在执行这个方法之前启动一个新的事务处理.

2、RequiresNew:当客户端运行一个事务处理并调用EJB的一个方法时,容器治理器做如下操作:

(1)悬挂客户端的事务处理;

(2)开头一个新的事务处理;

(3)调用方法;

(4)当方法完毕,恢复客户端的事物处理.

当客户端没有启动一个事务处理,容器治理器在执行这个方法之前启动一个新的事务处理.

3、Mandatory:当客户端运行一个事务处理并调用EJB的一个方法,这个方法在客户端的事务处理范围内被执行;当客户端没有启动一个事务处理,容器治理器将会抛错(TransactionRequiredException);

4、NotSupported:当客户端运行一个事务处理并调用EJB的一个方法,容器治理器在调用方法之前终止客户端的事务处理,当方法执行完,再恢复客户端的事务处理;当客户端没有启动一个事务处理,容器治理器在调用方法时不启动事务处理.

5、Supports:当客户端运行一个事务处理并调用EJB的一个方法,在运行方法时执行客户端的事务处理;当客户端没有启动一个事务处理,容器治理器在调用方法时不启动事务处理.

6、Never:当客户端运行一个事务处理并调用EJB的一个方法,容器治理器将抛出一个错误(RemoteException);当客户端没有启动一个事务处理,容器治理器在调用方法时不启动事务处理.

(二)EJB事务的操作

假如声明一个bean的事务掌握为TX_BEAN_MANAGED,则这个bean可以访问事务效劳。当事务掌握应用于单个的方法时这个掌握只能应用于整个的bean.bean访问事务效劳的力量不能只对某个方法起作用。因此一个方法声明事务掌握为TX_BEAN_MANAGED,而另一个方法声明为其它不同的事务掌握是错误的。厂商的安装工具应当能检测到并报告这个错误。Bean分别通过初始化时setSessionContext()或setEntityContext()方法的参数SessionContext或EntityContext来访问事务效劳。这些接口都是EJBContext的子类。

EJBContext的定义如下:

Publicinterfacejavax.ejb.EJBContext{

publicIdentitygetCallerIdentity();

publicbooleanisCallerInRole(Identityother);

publicEJBHomegetEJBHome();

publicPropertiesgetEnvironment();

publicUserTransactiongetUserTransaction()throwsIllegalStateException;

publicbooleangetRollbackOnly();

publicvoidsetRollbackOnly();

}

一旦bean获得了一个UserTransaction的引用,就可以用这个引用治理自己的事务。有状态的会话bean的方法可以创立一个事务,而且不用终止事务就可以返回。假如还有线程调用bean的方法,容器检测是否有bean创立的活动的事务,假如被调用的事务是同一个事务,容器会允许该线程重新进入这个bean.假如bean在事务中且执行不同事务上下文的线程试图进入bean,容器会堵塞这个线程直到bean的事务终止。假如线程试图进入事务时bean不在事务中,线程会执行一个自己的事务,容器会挂起线程当前的事务以允许线程进入。一旦线程离开方法就会恢复线程以前的事务,容器不会终止任何方法创立的事务。

对于无状态会话bean和实体bean,当事务活动时bean的方法不允许返回。容器会为此抛出一个例外。

会话同步接口

有状态和无状态的会话bean都可以访问数据库,并且参加一个事务。为了让bean在事务中执行它的任务,bean开发者可以实现在bean中实现javax.ejb.SessionSynchronization接口。容器能自动检测这个接口,容器会使用这个接口中的方法以使bean得到事务的状态信息。实体bean不支持这个接口。由于实体beanareimplicitlytransactionaware,所以容器使用不同的方法掌握一个事务中的实体bean.

SessionSynchronization接口定义如下:

publicinterfacejavax.ejb.SessionSynchronization{

publicvoidafterBegin()throwsRemoteException;

publicvoidbeforeCompletion()throwsRemoteException;

publicvoidafterCompletion(booleanyn)throwsRemoteException;

}

实际上一个事务不属于一个特别的bean的实例。一个客户端或容器中执行的线程创立一个事务,在执行bean中的代码时执行该事务。假如一个有事务上下文的线程将要进入一个会话bean,容器首先调用它的afterBegin()方法。Bean可以记录全部的商业方法运行在事务中,随后执行事务操作。假如一个操作的内部标志显示这个线程在事务外运行,则会拒绝执行事务操作的恳求。直到调用afterCompletion()方法,bean会连续认为商业方法的调用都在事务中执行。Bean将推断性地去除内部标志,以表示随后到来的事务恳求将被拒绝。

假如一个事务上下文的线程试图进入一个已经是另一个事务的一局部的Bean时,.Container将封锁入口,直到前一个事务提交或回滚,并且afterCompletion()方法被调用,此时,允许Bean恢复它的状态。Container负责供应这些行为。当Container发觉它将要提交一个事务时,将在这个事务的全部的sessionBean上调用beforeCompletion()方法。这就给Bean足够的时机来完毕事务的操作,如在提交前将数据写入数据库。反之,当Container发觉,将要回滚一个事务撕,BeforeCompletion()方法将不会被调用,由于将一个将被回滚的事务所产生的数据写入数据库是没有意义的。

AfterCompletion()是在一个事务马上提交或回滚时被调用,来通知Bean事务操作的最终结果。Bean可以用这个信息来修正自己的内部状态,但它不能用这个信息来维持任何它将要保存的事务。尽管sessionBean可以创立,提交和回滚它自己的事务,但通常不推举这样做。

SessionSynchronization接口不供应整合外部和内部事务的力量。假如一个sessionbean实现了这个接口,则意味着它在方法调用之间要保持事务的状态。特殊地,这也示意在afterBegin()和afterCompletion()调用之间bean是处于一个事务中。这样,假如一个bean实现了SessionSynchronization接口并且在装

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论