新物网

当前位置:首页 > 百科

百科

建造高性能J2EE的常见方法有10种

时间:2023-10-17 21:14:38 雅雅
构建高性能J2EE应用不仅需要掌握常用的执行方法。以下是10种最常见的有效方法,可以帮助架构设计师快速成为这方面的专家。Java特性的基本代码优化所有Java应用,单机或J2EE的性能基本上可以归结为如何管理方法内存的问题。Java的代码优
构建高性能J2EE应用不仅需要掌握常用的执行方法。以下是10种最常见的有效方法,可以帮助架构设计师快速成为这方面的专家。

Java特性的基本代码优化

所有Java应用,单机或J2EE的性能基本上可以归结为如何管理方法内存的问题。Java的代码优化包括两个重要的工作:内存分布和内存 回收利用。在内存分配中,目的是尽量减少必须设定的目标。

内存回收是功能失效的常见原因。换句话说,内存中的目标越大,垃圾分类和回收就越困难。因此,我们对创造对象的态度应该越传统越好。

J2EE应用中常用的两个运行内存相关问题是:游离目标(也称为内存泄漏)与对象循环系统(指许多经常建立和删除-在Java中实现消除引入-对 象)。

每个人都需要注意确保能够到达的对象具体是活的,也就是说,这个目标不仅存在于内存中,而且存在于实施代码中。当目标在应用程序中已经无用,但我忘记了 当删除引用对象时,游离目标出现了。

众所周知,垃圾分类回收会占用CPU的时间。短期内,许多对象的建立增强了垃圾分类和回收的次数,这将导致功能失效。

不要在Servlet中完成领域模型

J2EE最基本的部分通常用于建立J2EE应用程序。——Servlet。如果系统架构师不能使用Sessionn Beans, Entity Beans, 或 Message Beans, 几乎没有什么方法可以改善特征。提升CPU或更多物理服务器只能使用。EJB使用缓存文件(cache)以及云资源池等提高性能和可扩展性的方法。

尽可能多地使用当地插口浏览EJB

早期的J2EE (遵循EJB1.在X标准)应用中,根据RMI应用程序远程控制接口实现浏览EJB。随着EJB2.0的诞生,可以通过当地插口浏览EJB,停止使用RMI, 远程控制方法在同一JVM中的应用已经很少了。但是EJB1仍然有一些应用程序.一些EJB初学者完成了X的使用,不了解应用程序的本地界面。为了表明这一点,大家作个比 较:

1、客户端应用程序启用本地Stubb

2、Stub安装的主要参数

3、Stub将skeleton输入skeleton

4、skeleton溶解主要参数

5、skeleton启用EJB目标

6、EJB目标实现容器服务

7、EJB目标启用公司BEAN案例

8、BEA实行实际操作

9、实施组装/溶解过程,然后返回

与远程控制插口解决方案相比,当地接口EJB的方法是什么:

1、手机客户端启用当地目标

2、当地的目标是实现容器服务

3、本地目标公司Bean案例

4、公司Bean案实行实际操作

5、没有别的回到流程!

如果我们不需要从远程控制的客户端浏览一个独特的EJB,我们必须使用当地的方法。

如果我们不需要从远程控制的客户端浏览一个独特的EJB,我们必须使用当地的方法。

推进Sesssion 对实体线EJB的访问采用Bean服务上的封装形式

EJB从Servlet浏览实体线,不仅效率低,而且维护困难。Sesssion的应用 Facade(对话外观)实体线EJB的访问封装形式可以在对话EJB中使用当地插口浏览实体线EJB,避免远程调用过多。

由于对话和实体EJB可以通过缓存文件和云资源池来改进,该技术将具有额外的性能和扩展水平的好处。另外,由于负载的必要性,对话和实体EJB 它可以扩展到其他硬件配置,这比将Servlet层复制扩展到其他硬件配置要简单得多。

尽可能细的粒度浏览远程控制EJB

在浏览远程控制EJB时,使用set/get方法会导致过多的网络请求和远程控制插口处理负载。为了避免这种情况,可以考虑将数据属性集中在一对 所有信息都可以通过启用远程控制EJB来传输。这种技术是传输数据目标(Data Transfer Object)方式。

提升SQL

J2EE 架构模式工程师和开发者通常不是SQL权威专家或高级数据管理员。首先要保证SQL采用数据库系统提供的检索应用。在某些情况下,检索数据库 单独存储信息可以提高性能。但要知道,增加额外的检索可以提高SELECT的特性,但会降低INSERT的性能。对于一些数据库系统,关联表之间的排列将是一个大电影 响特性。可多方位数据管理员查询。

防止实体EJB赢得太多SQL

有时,几个SQL句子会根据实体线EJB浏览数据来实现。依据J2EE 标准,第一步,将启用实体线Bean的find(发现)方法;第二步,当实体线EJB的项目方法第一次启用时,容器将使用ejbload()从数据库中获得信函 息。

许多CMP(容器管理的持久性)在启用发现模式时缓存了实体线数据信息,因此在启用ejbload()时不会再查询数据库。应避免使用 BMP(Bean管理的持久性)或自行完成缓存文件优化算法,避免二次查询数据库。

Fast的应用 Lane Reader 浏览和保护数据信息

J2EE 很多长期永恒的数据信息应该通过写保护方法浏览,而不是单独浏览实体线,比如访问在线商品目录。在这种写作保护的前提下,实体线EJB浏览数据的应用会导致严重的负载和负载 完成太麻烦了。EJB实体线 适用于浏览单个实物的细粒度,浏览大量目录写保护数据时效率低下。无论是CMP还是BMP,实际操作几条实体线EJB及其关联都必须编写程序。这会导致 浏览几个数据库系统并存大量不必要的事务管理费用。

使用Java Messaging Servce(消息服务)

J2EE标准为JMS带来了内置异步处理服务。当涉及到软件需求时,应了解应采用JMS进行异步处理设计的情况。一旦确定要执行一次 对于一些异步处理,同步处理的日常任务越简单越好,将数据库系统的收集操作安排到稍后的异步处理中。

JNDI缓存文件 Lookup搜索

在进行JNDI搜索时,许多实际操作应该消耗大量的网络资源。JNDI网络资源一般应缓存,以防止互联网启用和其他处理负载。可缓存的JNDI搜索包括:

EJB Home Interfaces

Data Sources

JMS Connection Factories

MS Destinations/Topics
一些JNDI包完成了缓存文件。但在启用EJB主接口narow方法时,此功能有限。缓存文件搜索设计必须使用互通性 IntialContext 虽然建造案例太麻烦了。主要是因为必须浏览各种数据库,包括使用资源文件JNDI.properties,系统属性的参数传输到对象的各种参数 数。