1、背景(abstract)
笔者算是一个极客类型的程序员了。喜欢探索一些程序内在的原理、稳定性、自动化运维、健壮性,很多时间也会
去对程序的内存使用率、cpu使用率锱铢必较。尽量克扣掉不必要的cpu和内存资源,这在一定程序上能节省成本,比如
笔者曾经在阿里云托管java web服务器,1GHz/1G的虚拟主机,使用了springMVC,由于使用的jar包比较多,占用cpu和
内存资源多,远程ssh连接到服务器时几乎不能在有空闲的资源响应我的请求。那个程序不“疾”而终。然后就没有然后了。
做过个人站的小伙伴应该体会过到这种痛,对于刚起步的站长,托管费用那是相当不小的开销,很多人没熬过盈利/收支平衡
就悄无声息的关闭网站了。一次偶然的机会在国外论坛看到一个框架light4j,性能不错。抱着试试看的心态,有了这篇文章。
2、light4j介绍
根据项目发起人Steve hu项目最早命名是Light (weight)Java,取轻量简洁之意,后因为Oracle联系到他,迫于一些原因改成Light4j。
框架主要使用J2SE中的API,一方面这些API经过社区的打磨验证,整体来说稳定性和性能相对来说自然比第三方框架好,笔者空闲之余看过
一些组件的代码,正如作者所说基本没有使用第三方框架,大道至简大概是作者的本意吧。
作者早起从事过J2EE开发,那个时候项目编译时间一次要半小时以上,深受其害,因此也有了这个框架的产生。笔者工作早起又有类
似的经历,给某药业集团开发过仓储管理系统(WMS),使用J2EE即使,修改代码后编译一次web项目半个多小时,编译以后再运行,是否正确
还不能确定,发现问题再重新编译一次,又是半个小时,真是骂爹骂娘都没用。编译好了,然后备份恢复oracle数据,一次2小时,并不能保证成功,
一次项目升级一直到早晨4点还没成功。
据Steve Hu介绍,目前该框架已经在加拿大,美国的确有稳定客户。行业涉及:银行,医疗、政府、企业。
某医疗行业,病人通过穿戴式的医疗材料/设备采集数据,使用light4j重构项目以后,服务器处理量变多;还有一些银行行业都获得了良好的口碑
和稳定的合作关系。目前国内有某银行正在洽谈合作、还有阿里巴巴也在洽谈相关合作。
框架目前主要有两个分支 2.x(JDK11)和 1.6(JDK8),国内目前使用JDK1.8比较多,可以下载1.6分支代码回来学习,使用。
3、评测数据
我们先来看看这个框架在国外网站的评测(2019-07-09数据)
json序列化:https://www.techempower.com/benchmarks/#section=data-r18&hw=ph&test=json&l=zik0vz-f
light4j排第4,spring排53
light4j在json序列化方面是spring的18.92倍
纯文本处理:https://www.techempower.com/benchmarks/#section=data-r18&hw=ph&test=plaintext&l=zik0vz-f
light4j排行14,spring排56
文本处理方面,light4j是spring的50.55倍。
web项目,我们一般使用接口返回json,另外则是返回html(纯文本),通过上面评测数据看得出,light4j的确在这两个方面比spring
快了很多。单位时间内处理的数据量大了,接口响应延时也会变短。
以下是官网的一些微服务测试数据。spring阵营最大吞吐量243240.17,light4j最大吞吐量1344512.65,light4j是spring的50.52倍。
光看上面的数据还是比较吸引人的。笔者接下来将引导大家像,springboot那样,通过网站下载一个demo回来了解这个框架。
light4j中文钉钉群 21975907,欢迎小伙伴加入一起学习。
相关推荐
light-4j, 一种快速轻量级和更高效的microservices框架 一种快速。轻量级和云原生 microservices 。开发者聊天 | 文档| 捐赠指南 为什么叫 Light 4 J光源意味着轻量化,照明快速,并且对如何使用现代Java传感器进行...
Light Gui目前是一个图形开发包,没有跨任务的窗口管理系统。 目前只有ucos(增强型,支持系统盘),linux,window平台的移植版本。 Light Gui使用的场合: 需要使用图形库快速实现自有风格的嵌入式设备,比如...
为了降低应用程序的生产成本,我需要找到一个轻量级平台,该平台具有较小的内存占用,高吞吐量和Java低延迟。 Java EE和Spring / Spring Boot非常繁重,无法考虑。 其他轻量级Java平台在业务逻辑和技术跨领域关注点...
在本文中,我们将深入探讨`barcode4j-light.jar`包,它是`barcode4j`项目的一个轻量级版本,包含了核心的条形码生成功能。 首先,`barcode4j-light.jar`包是基于Apache License 2.0授权的,这意味着开发者可以免费...
轻量级梯度提升机(lgbm)指的是LightGBM的轻量级特性,它在处理大数据集时表现出优秀的性能,同时保持较低的内存消耗。 在MATLAB中使用LightGBM的步骤通常包括以下几个部分: 1. 安装和配置:解压"LightGBM-...
针对Storm和Spark Streaming在某些方面的局限性,例如复杂度较高、维护难度大、不够轻便等,light_drtc的诞生旨在提供一个更为轻量级且易于维护的解决方案。此外,开发light_drtc也是为了填补国内在流式计算框架...
【标题】中的“轻量级的Light IIS”是指一种小型、快速且资源消耗较低的Web服务器软件,设计用于在没有安装完整版Internet Information Services(IIS)的情况下,支持运行Asp.net网页程序。IIS是由微软开发的一款...
在当前的数字化时代,...总的来说,这个1MB轻量级人脸检测模型是人工智能和计算机视觉领域的一个重要成果,它展示了在保持高性能的同时,如何兼顾模型的轻量化和多目标检测的能力,为实际应用提供了强大的技术支持。
它采用了现代Web开发技术,包括Node.js作为后端编程语言、Express作为Web应用框架以及MongoDB作为数据库存储,构建了一个轻量级且功能完备的博客系统。在Markdown语法的支持下,用户可以方便地撰写和编辑内容,享受...
总的来说,"Silverlight MVVMLight轻量级框架 官方实例(BUG收集系统)"提供了一个实践MVVMLight的宝贵资源,对于想要提升Silverlight应用开发技能或者深入理解MVVM模式的开发者来说,这是一个非常有价值的学习案例...
etherchain-light, 轻量级Ethereum链管理器资源管理器 Etherchain光用于 private Ethereum链的轻量级区块链资源管理器Etherchain Light是一个Ethereum区块链浏览器,用 NodeJS,Express和奇偶校验构建。 它不需要...
标题中的“Win64OpenSSL-Light-3-1-4安装包”指的是OpenSSL的轻量级版本,适用于64位Windows操作系统的一个版本。OpenSSL是一个强大的安全套接层(SSL)和传输层安全(TLS)协议实现,它包含了各种加密算法、常用的...
Paddle Lite 是一个高性能、轻量级、灵活性强且易于扩展的深度学习推理框架,定位于支持包括移动端、嵌入式以及边缘端在内的多种硬件平台。当前 Paddle Lite 不仅在百度内部业务中得到全面应用,也成功支持了众多...
barcode4j是一个开源的Java库,专注于生成和解码各种类型的条形码和二维码,其2.1版本(barcode4j-2.1.jar)为开发者提供了强大且灵活的工具,适用于多种应用场景。本文将详细介绍barcode4j的核心功能、使用方法以及...
typescript
LightGBM 是一种高效的梯度升级框架,基于 Histogram 的决策树算法,具有高效的训练速度和低内存占用。下面是 LightGBM 算法原理的详细介绍: 1. LightGBM 前述 LightGBM 是一种基于 GBDT 的算法,旨在解决 GBDT ...
快速和小的内存占用以降低生产成本。 它可以支持 60000 个用户登录并获得授权码重定向,并且可以在我的笔记本电脑上每秒生成 700 个访问令牌。 它有 7 个微服务与内存数据网格相连,每个服务都可以单独扩展。 比其他...
《GalaSoft.MvvmLight.WPF4与GalaSoft.MvvmLight.Extras.WPF4:探索MVVM轻量级框架在WPF中的应用》 在软件开发领域,尤其是Windows Presentation Foundation(WPF)应用程序的构建中,Model-View-ViewModel(MVVM)...