帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > JAVA编程
J2EE到底是什么?
作者:佚名 发布时间:2005-04-02 来源:不详
 
  J2EE到底是什么?                                                          





  目前所有的B/S系统应
有状态是指在整个系统的
都是独立的连接,不需要在
用可以分为:有状态(statefull
处理过程中要保留记住一些信息
每个request之间共享数据等等
)和无状态(stateless)两大类别。
,而无状态则相反,每次request




  对于这两种应用,通常
第一考虑是性能要最优,性能是
我们选择IT技术的主要依据之一。



  为达到最大化的性能,
时的性能开销,也就是说系
从对象池中取出实例,用完
persistence)策略来保存
对于Java系统,以前通常的作法
统启动时,预先生成一定数目的
,归还对象池,对于有状态的应
状态。
是使用对象池,这样节约对象生成
对象实例在内存中,需要使用时,
用,可以使用相关持久化(




  下一步,如何并行访问对象池将是非
线程的创建销毁也是可能非常耗时的,那
实现多线程并行计算的最优化。
常重要,java的多线程技术为我们提供了实现可能,
么,无疑象使用对象池一样,我们必须使用线程池来




  使用线程池和对象池,每次客户端请
请求就将线程返回线程池,同样,使用线
就还回对象池。 整个这样的架构设计在
求发生一次就从线程池中借用一个线程,处理完这个
程快速的访问对象,对象也是从对象池中借用,用完
性能上是最优的。



  有了性能保证,安全机

制、事务机制、集群(cluster)

技术也将是选择IT技术的主要依据




  J2EE就是这样一个实现上述多种考量
有这些考量的要求并不都一样重视,比如
么,完整的J2EE技术也许就并不适合你。
的综合标准框架系统,在具体使用中,也许我们对所
:如果纯粹追求性能是第一,可以忽视事务机制,那




  那么我们先看看J2EE是
J2EE中必然应该有上述线程
容器;EJB是基于对象池的
如何从性能上保证我们的应用系
池和对象池的实现技术,servle
更好的对象容器。
统以最快速度运行的,也就是说
t实际是基于线程池的更好的线程




  看看Servler的架构图:                                                  







                                                                               



  当client1发生请求时s
ervlet容器会从线程池中分配一
个线程给这个request.





  再看看EJB的架构图:                                                        







  instance Pool作为一
,简单的说 EJB=对象池+远
个对象实例池,维持着EJB实例
程对象池
,当然这个对象池是用生命周期的




  但是,EJB还整合了相当的其它增强
必需的,当然你还必须根据你的需要来选
有要求,直接使用线程池和对象池技术肯
功能,如安全 事务机制等,这些对于一般应用都是
择是否使用J2EE,如果你的应用对安全 事务机制没
定获得最好的性能。



  所以,根据Servler和EJB的原理,我
,或什么需要放在EJB中实现:
们已经可以规划我们的应用,什么可以放在servlet




  线程的本质决定了serv
数据源,使用JMS或JavaMai
注意这些用词都是"简单"的
let只适合一些轻量的应用,如
l处理简单的信息Message,或使
,一旦复杂了,就要使用EJB了
分析简单XML文档, 通过JDBC访问
用JTS/JTA处理简单的事务机制,




  下面从客户端和服务器
指最终客户端,因为J2EE是
服务是供另外一个服务器上
端两个方面来具体考量这两个技
多层结构,中间层可能在多个服
的应用访问的,那么后者我们也
术的使用,这里的客户端不一定是
务器上实现,如果一个服务器上的
称为客户端。



  根据应用的复杂程度和要求不同,分下列情况:                                    



  1.在WEB层可以实现的一些应用                                              



  如果你的系统没有很复杂的事务处理
javabean这样的一些Help性质的类来实现
有效efficient, 或最有扩展性的scalabl
,或访问很多企业原有的资源,那么可以借助
你的应用,但是,这样的方案不是最干净clean, 最
e。



  否则,将所有核心计算放置入EJB中。                                          



  2.所有的复杂商务计算核心都在EJB中完成                                    



  如果你的客户端和服务
Http了(Web Service也是基
协议的,那么就需要通过se
器端之间有防火墙,那么目前能
于http就是这个道理),既然使
rvlet来访问EJB,这是我们最普
够无障碍通过防火墙的协议只有
用http了,而Servlet是基于Http
遍的应用情况。



  但是,如果你的客户端
使用Servlet,直接使用Jav
有用于控制Jsp的页面的输
和服务器端可以放置在一个网络
a调用RMI来访问EJB,这样性能
出了(MVC模式中的控制作用)。
内,之间没有防火墙,那么就不必
是最好的,这时的Servlet大概只




  如果是非java客户端,可以通过CORBA组件来访问EJB。                  



  3.如果你的应用对速度要求很高,要求非常快,对于事务处理等方面几乎无要求      



  直接使用J2SE,加上线程池和对象池
Jakarta.Apache.org有这两种技术的源码
技术,将会使你的java系统性能发挥极致。
,线程池可以从Servlet容器Tomcat的源码中发现。

  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·J2EE宠物商店 (1)  (2005-04-02)
 ·JDK 和 J2EE 的安装  (2005-04-02)
 ·J2EE会话外观模式与值对象  (2005-04-02)
 ·开发第一个分布式的j2ee应用  (2005-04-02)
 ·J2EE探险者:用于无状态网络的J2E  (2005-04-02)
 ·J2EE开发平台  (2005-04-02)
 ·JavaOne大会发布《J2EE核心模式》  (2005-04-02)
 ·J2EE初学者需要理解的问题  (2005-04-02)
 ·J2EE TM 蓝图摘要  (2005-04-02)
 ·Cell插件在J2EE系统中的应用  (2005-04-02)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·谈谈JDBC
·JDBC专题介绍
·JDBC接口技术
·利用weblogic的POOL(连接池)连接
·Jsp中调用Oracle存储过程的小例子
·JSP数据库操作例程
·JSP数据库连接大全
·用连接池提高Servlet访问数据库的效
·一种简单JDBC连接池的实现
·数据库连接池Java实现小结
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统