如果像数据库中有100万条记录那岂不是有100万个对象在内存中?
这个首先是对EJB概念上的偏差,希望楼主到IBM相关网站找找

解决方案 »

  1.   

    确实感觉自己对ejb的理解有些模糊,高手能不能指点一下?
      

  2.   

    如果像数据库中有100万条记录那岂不是有100万个对象在内存中?
    ejb容器到底是如何管理ejb的,希望高手给小弟一个答案。??
    当然不是,EJB容器维护一个bean instance pool,对于不同的bean类型,其策略是不一致的.对于stateless session bean,其实只要很少数量的instance就可以服务大量的请求了,因为bean 没有状态,不需要保存任何信息.而实体bean与请求之间是一对一的关系,在instance pool里的每一个instance 都对应于某一个确定的请求,Container在处理它的时候与操作系统处理虚拟内存是相似的,一般根据最近最少使用原则,把那些满足条件的bean序列化到磁盘上,然后在它重新激活的时候再读入其状态到内存中.
      

  3.   

    如kingofhawks(蓝鹰) 所说.
    对于entity bean,如果有100万条记录,访问100万次,而每次访问的记录都不一样,那么ejb就要执行100万次查询,这和jsp没有优势,但是同一记录被访问100万次,对于jsp,需要100万次查询,对于ejb只需要一次就行,性能的提高是显巨的.
    对于已经存在的ejb对象,container是作为一个对象在管理,而不是数据库中的一条记录.
      

  4.   

    樓上說的很對,容器會管理cmp或bmp的鈍化和激活