【干货】Java笔试面试题库

在上篇文章中,鲸鱼君写了Android面试题详解,在这篇文章中也来说说Java面试题,以及详解,做任何事都要有所准备才有把握成功。在这里,鲸鱼君希望能够帮助各位,希望大家找工作都顺顺利利的。

1:EJB:

答:  Enterprise Java Bean 相当于DCOM,即分布式组件。它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问 (跨进程、跨计算机) 。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。

答:Enterprise java bean 容器。更具有行业领域特色。他提供给运行在其中的组件EJB各种管理功能。只要满足J2EE规范的EJB放入该容器,马上就会被容器进行高效率的管理。并且可以通过现成的接口来获得系统级别的服务。例如邮件服务、事务管理。

RMI:(Remote Method Invocation)远程方法调用

答:RMI(Remote Method Invocation,远程方法调用)是用Java在JDK1.1中实现的,它大大增强了Java开发分布式应用的能力。Java作为一种风靡一时的网络开发语言,其巨大的威力就体现在它强大的开发分布式网络应用的能力上,而RMI就是开发百分之百纯Java的网络分布式应用系统的核心解决方案之一。其实它可以被看作是RPC的Java版本。但是传统RPC并不能很好地应用于分布式对象系统。而Java RMI 则支持存储于不同地址空间的程序级对象之间彼此进行通信,实现远程对象之间的无缝远程调用。

2:EJB种类、作用

答: Entity Bean--用于描述一个永久的对象。

Session Bean--描述任务或者工作流的模型,并且协调Bean之间的交互。

Message-Driver Bean--用在基于J2EE应用程序中处理异步JMS消息。

3:实体bean,CMP,BMP写法区别?

答:CMP entity bean不需要在 bean中编写数据库操作的代码;可以让容器做这件事。

BMP entity bean在bean类中直接编写数据库调用,以及对固定存储的任意类型的访问,来管理bean的持久性。

4:Find与Select方法的区别?

答:Finder Select

返回值 单对象或者集合,是该bean类型的EJBObject(s),EJBLocalObject(s). 单个或者多个(集合或集)对象.是该bean类型或CMR相关类型EJBObject(s)或EJBLocalObject(s)也可能是CMP(域),CMP的集合或一个CMR域.

声明位置 在远程和/或本地home接口中 Bean类中的抽象方法

方法名 FindXxx() EjbSelectXxx-bean类

可见度 公开给客户端 面向entity bean类内部,供其他bean方法使用

实例 Bean池任意随机bean实例 当前实例,但若调用来自home方法,则为任意随机实例.

5:主接口方法的定义与写法?

答: 生命周期方法 建方法-该方法的返回值是bean的组件接口,写法为creatXxx

无状态session bean必须个且仅有一个无参的创建方法.

有状态session bean必须含有至少一个创建方法.Entity bean可以有0至多个创建方法.

Finder方法-Finder方法对于entity bean有效,通过它可以在数据库中查找到entity bean对应的持久性数据.每一个entity bean的home接口必须有一个findByPrimaryKey方法,并以实体的主键为参数.可以定制Finder方法.Home方法-Home方法也仅对entity bean有效.Home方法能够返回任意类型的序列化对象,但并不实际生成bean的实例.

6:主接口与组件接口的区别?

答: 主接口提供EJB客户端对bean的访问.定义了bean的生命周期方法,并提供了bean的基本生命周期管理功能,如创建,删除,查找.message drivern bean不含有home接口.组件接口是由enterprise bean的客户端用来取得bean的访问能力.它定义了对于客户端可见的业务方法.组件接口中的业务方法必须符合bean类中的实现.

7、JMS消息传递的方式?

答: 点到点(point-to-point)消息通过队列进行发送.发布与订阅(publish-and-subscribe,pub/sub)消息通过标题传递.

8、EJB客户端访问后台EJB的代码?

答: p192,p193

9、有状态session bean与无状态session bean的区别?

答:stateful session bean维护客户端会话状态.它们必须属于一个且只属于一个客户端.激活/钝化,开销大.stateless session不维护一个客户端的会话状态它们被放入实例池中,因此可被多个用户共用,开销小,效率高。

10、本地视图与远程视图的区别?

答: 远程视图-它的想法就是远程调用将在两台不同JVM之间执行.远程调用这些操作使得相关网络开销会更高与对象的位置无关.也不会在乎是否在一个JVM.

本地视图-它的想法就是本地调用将在相同的JVM中执行.没有网络开销.操作效率更高,因为客户端使用本地对象调用bean上的服务,限制在本地实现中,而且不需要做到与位置无关.

这篇文章中小编只列举的十个例子,大家要是觉得有用的话可以关注公众号“鲸鱼湖南”,回复“java面试题”,小编会发送给大家一全套的java面试题。

你可能感兴趣的:(【干货】Java笔试面试题库)