最近在一次面试中,主考官问我们一个问题,轻量级框架和重量级框架的区别是什么?我一直以为是以框架之间的耦合性强弱作为判断标准。主考官告诉我错了,实际上是以启动程序需要的资源来决定。比如,EJB启动的时候,需要消耗大量的资源,内存,CPU等,所以是重量级。而Spring则不,所以是轻量级框架。来问问大家,到底什么是轻量级框架,什么是重量级框架呢?

解决方案 »

  1.   

    比如jQurey,包才100Kb,程序启动加载的时候很轻松。所以它就归类为轻量级框架。以此类推。
      

  2.   

    jar多的重量级
    jar少的轻量级
      

  3.   

    轻量级是指它的创建和销毁不需要消耗太多的资源,意味着可以在程序中经常创建和销毁session 的对象;重量级意味不能随意的创建和销毁它的实例,会占用很多的资源。
      

  4.   

    轻量级框架和重量级框架的区别在于解决问题的侧重点不同。
      轻量级框架侧重于减小开发的复杂度,相应的它的处理能力便有所减弱(如事务功能弱、不具备分布式处理能力),比较适用于开发中小型企业应用。
      重量级框架则强调高可伸缩性,适合与开发大型企业应用。
      
      而轻量级框架采用POJO开发,重量级占用很大资源只是它们各自的特点,不能用来区分它们。
      轻量级框架不入侵就说不入侵是轻量级框架是片面的。
      我想,同样地,重量级框架占用资源多就说占用资源多是重量级也是片面的。以上观点大部分来自别人的观点。
      

  5.   

    就是看加载的资源  spring也不能说是轻量级的   EJB默认在应用启动的时候把所有资源和服务都加载进来
    而spring则是你定制服务  需要什么开什么   如果把spring的所有服务都用上的话   可以认为你是用了一个重量级的框架    实质还是看框架所需要的系统资源大小
      

  6.   

    http://hi.baidu.com/%BD%E4%B2%BB%B5%F4%B5%C4%D1%CC%C3%F1/blog/item/ca3f41d19d5e9086a0ec9ce4.html
      

  7.   

    轻量级和重量级是根据代码倾入性来说的,不能多写的多就是重量级的,spring属于轻量级的,ejb属于重量级的,只是公认的。