轻量级与重量级特点
最新推荐文章于 2024-08-26 13:31:14 发布
轻量级(Lightweight)的容器是相对于一些重量级(heavyweight )的容器来说的,
1.从Java的EE的容器框架方面来说:
轻量级的框架Spring 的核心包在文件容量上只有不到1MB 的大小,而使用Spring 核心包所需要的资源负担也是很小的,您甚至可以在小型设备中使用Spring 的核心包。侵入性比较少或没有侵入性,依赖的东西也比较少!写完了就可以直接运行!和写普通的java类差不多!
重量级的框架EJB启动的时候,需要消耗大量的资源,内存,CPU等,侵入性很强,依赖的东西也比较多,需要其他容器才能运行!
所以可以说轻量级重量级每种程度上是以启动程序需要的资源来决定。量级主要是看容器的依赖性所决定的,依赖性越小,越轻量.
2.从一些数据库方面来说:
轻量级的嵌入式数据库:SQLite是遵守ACID的关联式资料库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。
特征:库实现了多数的SQL-92标准,包括事务,就是代表原子性、一致性、隔離性和持久性的酸(ACID),触发器和多数的复杂查询。不进行类型检查。你可以把字符串插入到整数列中。例如,某些用户发现这是使数据库更加有用的创新,特别是与无类型的脚本语言一起使用的时候。其他用户认为这是主要的缺点。多个进程或线程可以访问同一个数据而没有问题。可以并行的满足多个读访问。只有在其他访问当前不被服务的时候才能满足写访问;否则写访问失败并带有一个错误代码(也可以在可配置的超时过期之后自动的重试)。
而我们平时用到的一些大型数据库,都必须要有一个单独的服务进程的启动来支持,SQLite可以简单的认为是基于一个android的应用的进程,后台单独启用的一条线程来服务的。
3.Java的SWING与AWT也存在轻量级与重量级的说法: