`
housheng33
  • 浏览: 237950 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

重量级与轻量级的区别

 
阅读更多
直接把一项技术的规范和文档拿出来秤:操过500克就是heavyweight,否则就是lightweight。


      似乎heavyweight总是与复杂性联系起来的,就如同ejb container与spring。


      我们所开发的系统并不是都是分布式的,也并不都是那么复杂的,才会有spring的出现。客观的说,ejb container能够提供的功能,spring基本上都能够以javabean的方式实现。
      区别在于ejb container是一个构件的容器;而spring是一个对象的容器,一个转移对象间的耦合,把业务逻辑与安全、事务等相分离的轻量级解决方案。
      Spring 最核心的部件就是它的Bean Container,在整个框架中扮演了一个软总线,它使框架内部的组件按照一定的耦合度组装起来,对外提供一个服务的接口。
      如果开发一个需要跟多个系统交互运行的分布式系统还是使用ejb吧, spring取代不了ejb。
      但是对于大多数web应用,应该是一个不需要访问其他系统的多层系统(即使可能访问多个数据库),采用spring把。Spring+hibernate应该是一个比较好的组合,但和ejb container相比,spring的缺点就是没有规范。其实这么多年来,java总是在不停的修修补补中前进。



     轻量级容器对于web   应用的意义尤为明显;但对于其他类型的应用(包括在J2EE环境中运行的应用和独立的应用)来说,轻量级容器也有助于提高它们的复用程度,例如业务对象和数据访问对象(DAO)的复用。   什么是轻量级容器?   EJB可能是最好的反例:   
  1.   侵略性的API(你的代码依赖于EJB)   
  2.   对容器的依赖(你的代码不能在EJB容器之外工作)   
  3.   只提供固定的一组功能,不具备配置能力   
  4.   
  5.   启动时间长   
  6.   部署过程取决于特定的产品,无法通用   轻量级容器的目标是避免上面所有这些麻烦事情.


分享到:
评论

相关推荐

    《重量级框架与轻量级框架》的讲解

    轻量级框架和重量级框架的区别在于解决问题的侧重点不同。

    Spring轻量级与EJB重量级容器的比较

    部分内容:本文档旨在深入探讨Spring轻量级容器与EJB重量级容器的区别,通过对这两个概念的剖析,帮助读者理解它们在企业级应用中的不同作用与优势。 一、容器的概念与服务 容器是现代软件工程中的关键概念之一,...

    java 偏向锁、轻量级锁及重量级锁synchronized原理.docx

    当线程开始尝试获取锁时,Java会引入三种不同类型的锁:偏向锁、轻量级锁和重量级锁。 1. **偏向锁**:偏向锁是默认的锁状态,假设只有一个线程访问同步代码块,它会尝试将Mark Word中的线程ID设为当前线程ID,这样...

    偏向锁-轻量级锁-重量级锁

    本文将详细解析Java中的偏向锁、轻量级锁和重量级锁,这些都是JVM为了提高并发性能而实现的锁优化策略。 首先,我们从最简单的偏向锁开始。**偏向锁**的设计理念是假设大多数情况下,锁都不会被多个线程竞争。当一...

    Java Web轻量级开发全体验11代码

    在Java Web开发领域,"轻量级"一词通常指的是不依赖大型、重量级的服务器端框架,而是采用更加灵活、高效和小巧的工具集来构建应用程序。这样的开发方式有助于提高开发效率,减少资源消耗,并易于维护。本主题聚焦于...

    Java Web轻量级开发全体验.邓子云_源码

    首先,Java Web轻量级开发主要指的是不依赖于重量级的应用服务器,如IBM WebSphere或Oracle WebLogic,而是采用更加灵活、可扩展的框架,如Spring Boot、Quarkus或Play Framework。这些框架使得开发者能够快速构建...

    Java锁的升级策略 偏向锁 轻量级锁 重量级锁

    Java锁的升级策略是指Java语言中锁机制的四种状态:无锁状态、偏向锁、轻量级锁、重量级锁。这些锁状态都是专门针对Synchronized关键字的,是为了提高获得锁和释放锁的效率。 首先,无锁状态是指没有任何锁的状态。...

    轻量级的Bug管理工具

    【轻量级的Bug管理工具】是一款专为小型团队或个人开发者设计的高效问题跟踪解决方案。相较于重量级的Bug管理工具如禅道,它具备更小巧的体积和更简单的使用流程,无需安装即可运行,降低了使用的门槛。这款工具的...

    轻量级工作流引擎的设计与实现

    在第一章中,作者首先定义了轻量级工作流引擎的概念,强调其相对于重量级工作流引擎的简洁性和高效性。接着,文章对工作流管理系统进行了分类,包括面向文档和面向过程的系统,结构化与即席的系统,基于邮件和基于...

    OSGi轻量级数据库解决方案源码

    我们这里的轻量级的方案是指:Ibatis, 与之相对的重量级解决方案是: Hibernate. 重量级的方案,在代码层面上体现为: 需要增加很多的依赖包, 重量级一般都以为着绑定,耦合,轻量级意味着松散,解耦。

    轻量级Java EE企业应用实战 第3版 纯 源代码

    在Java EE(Enterprise Edition)开发中,"轻量级"通常指的是使用非重量级的容器或者框架,如Spring、Hibernate等,来替代传统的EJB(Enterprise JavaBeans),以降低系统的复杂性和提高开发效率。这一版本的实战...

    Java Web轻量级开发全体验12-13.代码

    首先,轻量级框架的概念是相对于重量级的Java EE应用服务器而言的。这些框架如Spring MVC、Struts 2、Play Framework和Spark Java等,旨在减少开发复杂性,降低内存占用,提高应用程序的启动速度和整体性能。 在...

    QTP轻量级框架——好东西

    轻量级框架是指相对重量级框架来说,结构简单、易用、可扩展性好的自动化测试框架。它们通常基于一些基本的设计模式,如Page Object Model、Data Driven等,使得测试代码结构清晰,易于维护和扩展。 二、Page ...

    轻量级j2ee企业应用实战

    《轻量级J2EE企业应用实战》这本书深入浅出地介绍了如何在企业环境中使用轻量级Java EE技术栈来构建高效、可扩展的应用程序。轻量级框架因其低开销、快速开发和易于维护的特点,已经成为现代企业级开发的重要选择。...

    轻量级MVVM框架Vue.js快速上手视频教程下载

    Vue.js是一套构建用户界面的轻量级MVVM框架,与其他重量级框架不同的是, Vue.js 的核心库只关注视图层,并且非常容易学习,很容易与其它前端技术或已有的项目整合。 本系课程,主要分为两部分完成。第一部分:掌握...

    轻量级java ee企业应用实战(第三版)电子书part1

    轻量级Java EE则是相对于传统的重量级Java EE框架而言,强调更小的体积、更高的效率和更简单的部署。 在轻量级Java EE领域,开发者通常会选用如Spring框架、Hibernate ORM、JSF(JavaServer Faces)、CDI(Contexts...

    java 中的锁 - 偏向锁、轻量级锁、自旋锁、重量级锁

    java 中的锁 -- 偏向锁、轻量级锁、自旋锁、重量级锁

    轻量级J2EE企业应用实战第三版下载地址

    - **概念**:轻量级J2EE框架是指那些相对于传统的EJB等重量级框架而言,更注重灵活性、易用性和性能的一系列开源框架。 - **典型代表**: - **Spring Framework**:提供了依赖注入(DI)、面向切面编程(AOP)、...

    用ATL建立轻量级的COM对象

    - **轻量级**:与MFC等重量级框架相比,ATL没有厚重的基础架构,这意味着开发者可以更加自由地控制自己的应用程序。 - **专注于核心COM接口**:ATL主要关注于实现基本的COM接口,如`IUnknown`和`IClassFactory`,而...

    轻量级Java EE企业应用实战(第4版)光盘文件

    在"轻量级"方面,本书强调的是使用更简洁、更灵活的框架和技术,而不是Java EE传统意义上的重量级容器。例如,可能会涉及到Spring框架,这是一个非常流行的轻量级Java框架,它简化了依赖注入、AOP(面向切面编程)、...

Global site tag (gtag.js) - Google Analytics