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 序列化:
light4j 排第 4,spring 排 53
light4j 在 JSON 序列化方面是 spring 的 18.92 倍
纯文本处理:
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, 欢迎小伙伴加入一起学习.
来源: http://www.bubuko.com/infodetail-3345007.html