java程序员面试考试题及答案
java程序员面试考试题及答案
Java编程语言的风格十分接近C语言、C++语言。Java是一个纯粹的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。那么关于java面试的试题有哪些呢?下面yjbys店铺为大家分享,希望大家一切小心!
WEBLOGIC
1. WEBLOGIC域里面的服务器分那几种,他们之间的关系是什么?
管理服务器和托管服务器;
管理服务器管理托管服务器.
2. WEBLOGIC部署业务应用时,需要修改哪几个关键配置文件?
web模块:扩展名.war,配置文件l,
ejb模块:扩展名.jar,配置文件l,
ear模块:扩展名.ear,配置文件l
3. WEBLOGIC中如何配置DataSource?DataSource来自什么资源?
weblogic中通过配置数据库连接池得到连接池资源,然后通过连接池资源可以配置出DataSource
4. WEBLOGIC中如何配置数据库连接池?主要设置哪些参数?
可以通过weblogic管理控制台进行配置,也可以手动修改配置文件实现.
主要设置:
数据库连接字符串(包括IP,端口,数据库名,访问数据库的用户/密码等),
数据库驱动程序类路径,
最大连接数,
最小连接数等
dev2dev.bea/techdoc/2004120203.html
J2EE
5. J2ee容器都有那些
1)、J2EE服务器:是J2EE产品的运行部分。一个J2EE服务器提供EJB容器和Web容器。Enterprise JavaBeans(EJB)容器:管理J2EE应用程序的enterprise bean的执行。Enterprise bean和它的容器运行在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. CMT EJB中对数据库进行插入和更新操作,一般配置什么事物属性? Required
9. CMT EJB中对数据库进行查询操作,一般配置什么事物属性? 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, and Durability
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的定义如下:
Public interface javax.ejb.EJBContext {
public Identity getCallerIdentity();
public boolean isCallerInRole(Identity other);
public EJBHome getEJBHome();
public Properties getEnvironment();
public UserTransaction getUserTransaction() throwsIllegalStateException;
public boolean getRollbackOnly();
public void set RollbackOnly();
}
一旦bean获得了一个UserTransaction的引用,就可以用这个引用管理自己的事务。有状态的会话bean的方法可以创建一个事务,而且不用终止事务就可以返回。如果还有线程调用bean的方法,容器检测是否有bean创建的活动的事务,如果被调用的事务是同一个事务,容器会允许该线程重新进入这个bean.如果bean在事务中且执行不同事务上下文的线程试图进入bean,容器会阻塞这个线程直到bean的事务终止。如果线程试图进入事务时 bean不在事
务中,线程会执行一个自己的事务,容器会挂起线程当前的事务以允许线程进入。一旦线程离开方法就会恢复线程以前的事务,容器不会终止任何方法创建的事务。
对于无状态会话bean和实体bean,当事务活动时bean的方法不允许返回。容器会为此抛出一个例外。
会话同步接口
有状态和无状态的会话bean都可以访问数据库,并且参与一个事务。为了让bean在事务中执行它的任务,bean开发者可以实现在bean中实现 javax.ejb.SessionSynchronization接口。容器能自动检测这个接口,容器会使用这个接口中的方法以使bean得到事务的状态信息。实体bean不支持这个接口。因为实体bean are implicitly transaction aware,所以容器使用不同的方法控制一个事务中的实体 bean.
SessionSynchronization接口定义如下:
public interface javax.ejb.SessionSynchronization {
public void afterBegin() throws RemoteException;
public void beforeCompletion() throws RemoteException;
public void afterCompletion(boolean yn) throws RemoteException;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论