发布于 2014-10-12 08:57:51 | 250 次阅读 | 评论: 0 | 来源: 网友投递
中软国际
中软国际有限公司是国内大型综合性软件与信息服务企业,具有极高的市场感召力和客户忠诚度,以领先的技术、丰富的经验、精湛的服务在中国 IT 行业享有极高的声誉。自成立以来,中软国际取得了业界瞩目的成就,并作为国内第一家专注于电子政务领域的 IT 服务商,于 2003 年 6 月在香港联交所创业板成功上市。
今天收到中软国际的面试通知,周一前去公司面试Java。网上搜集了一下以前的面试题,现在小结一下,希望周一能顺利过关。特别说明一下答案仅是本人之见。
1. 关于ejb和javabean描述
JavaBean是为了增强代码的重用性,而抽象出来的具体java类,保存了一些信息和业务。引百度百科“类必须是具体的,公开的, 具有无参数的构造器”
EJB是Enterprise JavaBean的简称,是运行在EJB容器中JavaBean,设计目标和核心应用是部署分布式应用系统,凭借Java跨平台优势,用EJB技术部署的分布式应用不限于平台。
2.3种Ejb Bean描述和Session bean 和消息驱动bean的区别.
会话bean(session bean):负责与客户端交互,是编写业务逻辑的地方,在会话bean中通过操作实体bean来完成对数据库的操作。
会话bean分为两种:
无状态会话bean (Stateful Session Bean):平常使用最多的是无状态bean,因为它的bean实例可供多个用户使用,所以它的性能比有状态bean高。正因为一个bean实例被多个用户使用,那么前一个用户设置的值有可能被后一个用户所修改,所以它无法正确保存某个用户设置的值,因此是无状态的。
有状态会话bean (Stateless Session Bean):有状态会话bean在项目中我还没有使用过,因为它的一个bean实例只供一个用户使用,所以性能开销比较大,正因为它的实例只被一个用户使用,用户为它设置的值是不会被其他用户修改,所以可以正确保存用户设置的值,因此是有状态的。
当客户机和服务器建立连接之后,状态会话bean将一直在客户机和服务器之间保持着用户的某个状态。
实体bean(entity bean):它实际上属于java持久化规范(简称JPA)里的技术,JPA的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate、TopLink等ORM框架各自为营的局面。
消息驱动bean(message-driven bean):它 是专门用于异步处理java消息的组件,具有处理大量并发消息的能力。只有在需要一个JMS客户的时候才会实用消息驱动bean。换句话说,消息驱动 bean可以监听来自JMS消息服务的消息。客户绝对不会直接调用消息驱动bean;要想让消息驱动做点什么事情,客户必须向一个消息服务发出一条消息。 这说明,消息驱动bean没有相应的EJBObject,因为服务器会从消息服务直接得到客户请求,而不是当客户向bean发出调用时截获客户请求。
3. EJb中LocaleEjb描述
Local接口,称为Home接口,继.承接基类javax.ejb.Local.从Ejb2.0开始出现的 新的接口,本质上是Java RMI接口.
2. 对于Local接口的使用,只能在本地使用。它列出了所有定位/创建/删除Ejb实例的方法。
3. 定义local接口的方法:
1) 在Ejb文件中定义:
@Local(value={Interface1, interface2,..})
2) 在Ejb文件中定义:
@Local(Interface1,Interface2,..)
3) 在Interface文件中定义
@Local