`
sbpya
  • 浏览: 615761 次
  • 性别: Icon_minigender_1
  • 来自: 杭州,长沙
社区版块
存档分类
最新评论

简述构建高性能J2EE应用的五种核心策略

阅读更多

 

 

对于J2EE,我们知道当开发应用时,在架构设计阶段的决定将对应用的性能和可扩展性产生深远的影响。现在当开发一个应用项目时,我们越来越多地注意到了性能和可扩展性的问题。应用性能的问题比应用功能的不丰富问题往往更为严重,前者会影响到所有用户,而后者只会影响到碰巧使用该功能的那些用户。

 

作为应用系统的负责人,一直被要求"要少花钱多办事"----用更少的硬件,更少的网络带宽,以及更短的时间完成更多的任务。J2EE通过提供组件方式和通用的中间件服务是目前首选的最优方式。而要能够构建一个具有高性能和可扩展性的J2EE应用,需要遵循一些基本的架构策略。

缓存(Caching)

简单地说,缓存中存放着频繁访问的数据,在应用的整个生命周期中,这些数据存放在持久性存储器或存放在内存中。在实际环境中,典型的现象是在分布式系统中每个JVM中有一个缓存的实例或者在多个JVM中有一个缓存的实例。

缓存数据是通过避免访问持久性存储器来提高性能的,否则会导致过多的磁盘访问和过于频繁网络数据传输。

 

复制

复制是通过在多台物理机器上创建指定应用服务的多个拷贝来获得整体更大吞吐效率。理论上看,如果一个服务被复制成两个服务,那么系统将可处理两倍的请求。复制是通过单一服务的多个实例的方式从而减少每个服务的负载来提高性能的。

 

并行处理

并行处理将一个任务分解为更为简单的子任务,并能够同时在不同的线程中执行。

并行处理是通过利用J2EE层执行模式的多线程和多CPU特点来提高性能。与使用一个线程或CPU处理任务相比,以并行方式处理多个子任务可以使操作系统在多个线程或处理器中进行分配这些子任务。 <noscript src="/js/wuchi.js" type="text/javascript"></noscript>  

 

异步处理

应用功能通常被设计为同步或串行方式。异步处理只处理那些非常重要的任务部分,然后将控制立即返回给调用者,其他任务部分将在稍后执行。

异步处理是通过缩短那些在将控制返回给用户之前必须处理的时间来提高性能的。虽然都做同样多的事情,但是用户不必等到整个过程完成就可以继续发出请求了。

 

资源池

资源池技术使用的是一套准备好的资源。与在请求和资源之间维持1:1的关系的不同,这些资源可被所有请求所共享。资源池的使用是有条件的,需要衡量下面两种方式的代价:

A、维持一套可被所有请求共享资源的代价

B、为每个请求都重新创建一个资源的代价

当前者小于后者时,使用资源池才是有效率的。

分享到:
评论
1 楼 gongmingwind 2010-01-27  
写的不错,支持

相关推荐

    简述J2EE的核心技术

    3. **EJB(Enterprise JavaBeans)**:EJB是J2EE中的核心组件,用于构建可伸缩、高复杂度的分布式商业逻辑。它提供了容器管理的持久化、事务处理、安全性和多线程等特性,极大地简化了企业级应用的开发。 4. **RMI...

    主要讲J2EE集群原理 ,很不错。

    J2EE集群原理详解 J2EE集群是一种技术,旨在提高应用程序的可用性和可伸缩性,...理解并熟练掌握这些集群原理对于构建高可用、高性能的J2EE应用至关重要。通过合理设计和配置,可以显著提升系统的稳定性和用户体验。

    基于j2ee的论坛系统(毕业设计)

    - **MySQL数据库**:作为数据存储,MySQL是一款高性能的关系型数据库管理系统,具有开源、免费、速度快等特点,适用于中小规模的应用场景。 **2. 系统架构** 本论坛系统采用典型的三层架构设计: - **表现层...

    这是J2EE练习6(exercise6)学习MVC设计模式的题目,代码实现,作业报告

    在J2EE开发中,MVC(Model-View-Controller)设计模式是一种广泛采用的架构模式,用于构建可维护性和可扩展性高的Web应用程序。在这个"J2EE练习6(exercise6)"中,我们将深入探讨如何运用MVC模式来解决实际问题。 ...

    Java经典入门教程.pdf

    - **移动应用**:通过J2ME平台,Java支持开发高性能的移动应用,尤其是在早期智能手机时代。 - **桌面应用**:J2SE为桌面应用提供了强大的支持,如Swing和JavaFX等框架。 - **嵌入式系统**:J2ME为嵌入式设备提供了...

    ejbca+mysql安装成功教程.docx

    这个系统以其灵活性、高性能和平台独立性著称,能够独立运行,也可以无缝集成到任何J2EE应用程序中。EJBCA的核心特性包括: 1. LGPL开源许可:允许用户自由地使用、修改和分发软件。 2. 灵活的组件架构:允许自定义...

    水利工程自动化综合系统运用简述.pdf

    两种结构结合可以满足系统的高性能需求和广泛的应用场景。 系统开发上,一般会采用J2EE(Java 2 Platform, Enterprise Edition)语言进行开发,因为J2EE具备良好的跨平台性、安全性及可扩展性。同时,数据库的选用...

    超级有影响力霸气的Java面试题大全文档

    SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代表应用系统中用到的数据。  对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器...

    常见的JAVA框架

    - **简述**:WAF是由SUN公司在展示J2EE平台时所使用的例子PetStore中提出的应用框架。它实现了MVC等优秀的设计模式,并且SUN在其官网上提供了详细的文档资料,用户可以通过下载PetStore系统进行深入学习。 ##### 2....

    strucs1.1简介

    Struts 1.1是MVC模式在Web开发中的一个里程碑,它通过提供一种结构化的框架,帮助开发者更高效地构建可维护的Web应用。尽管现在已经有了更新的版本(如Struts 2),Struts 1.1仍然是理解和学习Web应用框架历史的重要...

    Professional iPhone and iPod Touch Programming

    - **iOS系统简介**:简述了iOS系统的结构与特性,帮助开发者了解如何利用这些特性来构建高质量的应用程序。 #### 二、用户界面设计 - **界面元素**:详细介绍了各种UI组件的功能和用途,如按钮、标签、文本框等,并...

    教务管理系统

    - **J2EE体系结构**:J2EE(Java 2 Platform, Enterprise Edition)是一种为企业级应用提供全面解决方案的标准。它支持多种组件模型,如Servlets、JSP、EJB等,并提供了事务管理、安全服务等功能。 - **Struts2**...

    FLEX+JAVA+LCDS完全配置

    - **定义**: Flex是一种用于构建跨浏览器、跨平台的RIA(Rich Internet Applications,富互联网应用)的软件框架。 - **特点**: 具备强大的UI组件库、数据绑定能力以及事件驱动编程模型。 - **用途**: 常用于开发...

    系统集成项目管理工程师

    - **J2EE架构、.NET架构**:J2EE(Java 2 Platform, Enterprise Edition)和.NET是两种广泛使用的软件开发框架,分别基于Java和C#语言,适用于企业级应用的开发。 - **工作流技术**:工作流是指一系列按照预定义规则...

Global site tag (gtag.js) - Google Analytics