首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

(8)

04.EJB 是基于哪些技术实现的?并说出SessionBean 和EntityBean 的区别,StatefulBean

和StatelessBean 的区别。

EJB 包括Session Bean、Entity Bean、Message Driven Bean,基于JNDI、RMI、JAT

等技术实现。

SessionBean 在J2EE 应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调。用其他EJB 组件。EntityBean 被用来代表应用系统中用到的数据。

对于客户机,SessionBean 是一种非持久性对象,它实现某些在服务器上运行的业务逻辑。

对于客户机,EntityBean 是一种持久性对象,它代表一个存储在持久性存储器中的实体的

对象视图,或是一个由现有企业应用程序实现的实体。

Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless Session Bean ,

这两种的 Session Bean 都可以将系统逻辑放在 method 之中执行,不同的是 Stateful

Session Bean 可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的

Stateful Session Bean 的实体。Stateless Session Bean 虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫 Stateless Session Bean 的时候,EJB

Container 并不会找寻特定的 Stateless Session Bean 的实体来执行这个 method。换言之,很可能数个使用者在执行某个 Stateless Session Bean 的 methods 时,会是同一个 Bean的 Instance 在执行。从内存方面来看, Stateful Session Bean 与 Stateless Session Bean比较, Stateful Session Bean 会消耗 J2EE Server 较多的内存,然而 Stateful SessionBean 的优势却在于他可以维持使用者的状态。

05.final, finally, finalize 的区别。

final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。

finally 是异常处理语句结构的一部分,表示总是执行。

finalize 是Object 类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,

可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。

06.sleep() 和 wait() 有什么区别?

sleep 是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他

线程,但是监控状态依然保持,到时后会自动恢复。调用sleep 不会释放对象锁。wait 是Object 类的方法,对此对象调用wait 方法导致本线程放弃对象锁,进入等待此对象的等待锁定池,只有针对此对象发出notify 方法(或notifyAll)后本线程才进入对象锁定池准备获得对象锁进入运行状态。

07.Overload 和Override 的区别。

重写Overriding是父子之间的方法。Overloading一个类中同名方法。

08.同步和异步有何异同,在什么情况下分别使用他们?举例说明。

如果数据将在线程间共享。例如正在写的数据以后可能被另一个线程读到,或者正在读的

数据可能已经被另一个线程写过了,那么这些数据就是共享数据,必须进行同步存取。

当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方

法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180809G1NERI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com