Martian 3.3.3 发布,最低支持 JDK11

来源: 投稿
2021-04-02

Martian,一个JavaWeb开发框架,自2019年开始写下第一行代码,至今已有2年1个月,在各种 小框架的 围攻竞争下,艰难的生存着。 因为定位是一个 极简的框架,这跟很多框架产生了冲突,尤其是刚刚问世的时候,经常收到 一些吐槽,例如:没有新意。

但这并不影响我对这件事的热爱,我一直都在不断地做着维护,从一开始的一个微型项目,渐渐的发展成今天这样,期间集成过netty,tomcat,httpServer,但最终都因为 跟我一直坚持的 最小化原则 相违背 而放弃了。 最终选择了基于NIO自己实现http服务。

后来,因为NIO是 同步的,为了使其不被业务阻塞,故而加入了线程池,但是效果不是很理想。经过了再三的考虑,最终选择了AIO。也就是今天发布的这个版本。

本次的更新点如下

  1. 改用AIO,全面实现异步非阻塞
  2. 最低支持JDK11

这次更新有哪些影响

升级为AIO,只是内部变更,增加了一定的吞吐量,从使用者的角度来看,并没什么改变,所以不会产生什么负面影响

最低支持JDK11,这是一个很艰难的决定,因为可能会丢失一批潜在用户,甚至是正在使用的用户,但是我觉得,作为一名开发者 需要对新东西保持一定的敏感度,JDK8早晚会不堪重负,被淘汰是必然的趋势,所以我们作为业内人士 需要起到一定的带头作用(虽然我的影响力几乎为0,O(∩_∩)O哈哈~)。

那如果就是想在JDK8上运行怎么办? 可以下载源码,在本地自行编译,不使用中央库的jar包即可。 但是这么做也会存在另一个问题,就是随着版本的升级,源码里面肯定会用到JDK11的特性,到那个时候,将彻底不再支持JDK11以下的环境。 所以这招 在以后发行的版本的源码里 不一定行得通。

目前完美支持JDK8的版本是3.2.18,是NIO版本。

官网:http://mars-framework.com/

展开阅读全文
6 收藏
分享
加载中
最新评论 (9)
最低支持JDK11.....这
2021-04-07 10:15
0
回复
举报
有负载的情况下 aio 和 nio几乎误差别,tfb跑分例外,业务系统哪个会没有持久化呢,套上持久化,大家都一个样,无论tfb跑多高,最后还是给作者加油一下:)
2021-04-05 19:49
0
回复
举报
嗯,理想情况下是这样的,但是NIO 是同步的, 万一哪个请求被卡住了,其他的都会在这排队,极大的影响吞吐量,而且单线程对多核CPU也是一种性能浪费,所以需要有一个业务线程池。 NIO+多线程 写起来比较复杂, 所以不如直接用AIO了。
2021-04-05 20:16
0
回复
举报
aio真心不行 现在还是比nio差一截 redkale之前也是用aio 现在改成nio了 性能有比较大的提升 在最新TFB压测中排进前5
2021-04-03 22:33
0
回复
举报
可能是线程太多 导致每个任务的耗时增加了吧。

aio 就是官方的nio多线程支持, 本质是一样的。

可以将核心线程数调低一点试试
2021-04-03 23:00
0
回复
举报
实现问题 不是调线程数能解决的 毕竟linux目前还没有实现真正异步IO
2021-04-03 23:05
0
回复
举报
不错不错哦
2021-04-03 09:23
0
回复
举报
有个smart-aio也是支持aio和web,也是极简设计,那么你的特点和优势是什么呢
2021-04-03 08:37
0
回复
举报
java框架 确实有点多, 我无法做到一个个的去分析对比, 所以这个问题我答不上来。 只能让用户自己去比较, 自己选择。
2021-04-03 10:46
0
回复
举报
更多评论
9 评论
6 收藏
分享
返回顶部
顶部