Martian,一个 JavaWeb 开发框架,自 2019 年开始写下第一行代码,至今已有 2 年 1 个月,在各种 小框架的 围攻竞争下,艰难的生存着。 因为定位是一个 极简的框架,这跟很多框架产生了冲突,尤其是刚刚问世的时候,经常收到 一些吐槽,例如:没有新意。
但这并不影响我对这件事的热爱,我一直都在不断地做着维护,从一开始的一个微型项目,渐渐的发展成今天这样,期间集成过 netty,tomcat,httpServer,但最终都因为 跟我一直坚持的 最小化原则 相违背 而放弃了。 最终选择了基于 NIO 自己实现 http 服务。
后来,因为 NIO 是 同步的,为了使其不被业务阻塞,故而加入了线程池,但是效果不是很理想。经过了再三的考虑,最终选择了 AIO 。也就是今天发布的这个版本。
升级为 AIO,只是内部变更,增加了一定的吞吐量,从使用者的角度来看,并没什么改变,所以不会产生什么负面影响
最低支持 JDK11,这是一个很艰难的决定,因为可能会丢失一批潜在用户,甚至是正在使用的用户,但是我觉得,作为一名开发者 需要对新东西保持一定的敏感度,JDK8 早晚会不堪重负,被淘汰是必然的趋势,所以我们作为业内人士 需要起到一定的带头作用(虽然我的影响力几乎为 0,O(∩_∩)O 哈哈~)。
那如果就是想在 JDK8 上运行怎么办? 可以下载源码,在本地自行编译,不使用中央库的 jar 包即可。 但是这么做也会存在另一个问题,就是随着版本的升级,源码里面肯定会用到 JDK11 的特性,到那个时候,将彻底不再支持 JDK11 以下的环境。 所以这招 在以后发行的版本的源码里 不一定行得通。
目前完美支持 JDK8 的版本是 3.2.18 ,是 NIO 版本。