Java程序员面试题集合(8)

71、简述 synchronized 和 Java.util.concurrent.locks.Lock 的异同?
主要相同点:Lock 能完成 synchronized 所实现的所有功能
主要不同点:Lock 有比 synchronized 更精确的线程语义和更好的性能。synchronized 会自动释放锁,而 Lock 一定要求程序员手工释放,并且必须在 finally 从句中释放。
72、EJB 的角色和三个对象一个完整的基于 EJB 的分布式计算结构由六个角色组成,这六个角色可以由不同的开发商提供,每个角色所作的工作必须遵循 Sun 公司提供的 EJB 规范,以保证彼此之间的兼容性。
这六个角色分别是 EJB 组件开发者(Enterprise Bean Provider) 、应用组合者(ApplicationAssembler)、部署者(Deployer)、EJB 服务器提供者(EJB Server Provider)、EJB 容器提供者(EJB Container Provider)、系统管理员(System Administrator)三个对象是 Remote(Local)接口、Home(LocalHome)接口,Bean 类
73、EJB 容器提供的服务
主要提供声明周期管理、代码产生、持续性管理、安全、事务管理、锁和并发行管理等服务。
74、EJB 规范规定 EJB 中禁止的操作有哪些?
1. 不能操作线程和线程 API(线程 API 指非线程对象的方法如 notify,wait 等)
2.不能操作 awt
3.不能实现服务器功能
4.不能对静态属生存取
5.不能使用 IO 操作直接存取文件系统
6.不能加载本地库
7.不能
将 this 作为变量和返回
8.不能循环调用
75、remote 接口和 home 接口主要作用
remote 接口定义了业务方法,用于 EJB 客户端调用业务方法。
home 接口是 EJB 工厂用于创建和移除查找 EJB 实例
76、bean 实例的生命周期
对于 Stateless Session Bean、Entity Bean、Message Driven Bean 一般存在缓冲池管理,而对于 Entity Bean 和 Statefull Session Bean 存在 Cache 管理,通常包含创建实例,设置上下文、创建 EJB Object(create)、业务方法调用、remove 等过程,对于存在缓冲池管理的 Bean,在 create 之后实例并不从内存清除,而是采用缓冲池调度机制不断重用实例,而对于存在Cache 管理的 Bean 则通过激活和去激活机制保持 Bean 的状态并限制内存中实例数量。
77、EJB 的激活机制
以 Stateful Session Bean 为例:其 Cache 大小决定了内存中可以同时存在的 Bean 实例的数量,根据 MRU 或 NRU 算法,实例在激活和去激活状态之间迁移,激活机制是当客户端调用某
个 EJB 实例业务方法时,如果对应 EJB Object 发现自己没有绑定对应的 Bean 实例则从其去激活 Bean 存储中(通过序列化机制存储实例)回复(激活)此实例。状态变迁前会调用对应的 ejbActive 和 ejbPassivate 方法。
78、EJB 的几种类型
会话(Session)Bean ,实体(Entity)Bean 消息驱动的(Message Driven)Bean会话 Bean 又可分为有状态(Stateful)和无状态(Stateless)两种实体 Bean 可分为 Bean 管理的持续性(BMP)和容器管理的持续性(CMP)两种
79、客服端调用 EJB 对象的几个基本步骤
设置 JNDI 服务工厂以及 JNDI 服务地址系统属性,查找 Home 接口,从 Home 接口调用 Create方法创建 Remote 接口,通过 Remote 接口调用其业务方法。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值