Solon for JDK 21,虚拟线程逆天!!!
本次更新的一个重点:完成 JDK21 编译测试和功能单元测试。
JDK 21 虚拟线程?
在IO密集型项目中,效果很猛!有一种:天哪天哪天哪。。。的感觉
@SolonMain public class App { public static void main(String[] args) { Solon.start(App.class, args, app->{ app.onEvent(HttpServerConfigure.class, e->{ e.setExecutor(Executors.newVirtualThreadPerTaskExecutor()); }); }); } }
Solon 是什么框架?
Java 生态级应用开发框架。从零开始构建,有自己的标准规范与开放生态(历时五年,具备全球第二级别的生态规模)。与其他框架相比,解决了两个重要的痛点:启动慢,费内存。
解决痛点?
由于Solon Bean容器的独特设计,不会因为扩展依赖变多而启动很慢(开发调试时,省时、爽快)!以知名开源项目“小诺”为例:
- “snowy-spring 版” 启动 15-50秒
- “snowy-solon 版” 启动3-5秒,启动内存节省1/3(有兴趣的,欢迎拉取代码体验)
有什么可爱的特点?
- 启动快 5 ~ 10 倍。 (更快)
- qps 高 2~ 3 倍。 (更高)
- 运行时内存节省 1/3 ~ 1/2。 (更少)
- 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小)
- 同时支持 jdk8, jdk11, jdk17, jdk21, graalvm native image
入门探索视频(用户录制):
最近更新了什么?
- 完成 JDK21 编译测试,功能单元测试(for JDK21)
- 添加 HttpServerConfigure::setExecutor 接口,用于支持虚拟线程池(for JDK21)
- 添加 PropUtil 类。把原来的属性表达式与模板解析独立出来
- 添加 ContextPathListener 类,用于控制 contentPath 对 ws,tpc 的影响
- 添加 ContextPathFilter 一个简化的构造函数
- 添加 MethodHolder::getDeclaringClz、getDeclaringClzAnnotation 接口
- 添加 yaml 多片段支持(即一文件多环境支持)
- 添加 多配置文件交差引用变量支持
- 添加 DownloadedFile(file,name) 构造函数
- 添加 Router 对 405 的支持
- 调整 RunUtil 执行器分离为 parallelExecutor + asyncExecutor(for JDK21)
- 调整 CacheService 接口(增加类型化 get)
- 调整 SessionState 接口(增加类型化 get)
- 调整 Context::session 接口(增加类型化 get)
- 调整 BeanWrap 的 rawSet 改为公有
- 调整 SolonApp::enableWebSocketMvc, enableSocketMvc, 默认为 false
- 调整 SolonApp::enableWebSocket, enableWebSocketD 分离设置,各不相关
- 调整 CloudConfig 复用主框架的属性表达式与模板解析
- 调整 Listener 去掉 @FunctionalInterface,所有方法标为 default
- 调整 ChainManager::postResult 的执行策略改为包围式(相当于倒序)
- 调整 ValHolder 标为弃用
- 调整 jdkhttp,jlhttp,smarthttp 的 contentLength 适配处理
- 调整 使用更多的 slf4j 替换 bus
- 调整 mybatis-solon-plugin 的会话提交方式,修复二级缓存控制可能失效的问题
- 调整 "solon.config.load" 支持按顺序加载
- 调整 几个特定启动参数的处理方式。改与成 Solon.cfg() 同步,再统一从 Solon.cfg() 取值
- 调整 启动参数与系统属性的同步时机
- wood 升为 1.2.1
- redisx 升为 1.5.0
- mybatis-flex 升为 1.6.5
- sqltoy 升为 5.2.66
- polaris 升为 1.14.1
- lombok 升为 1.18.28
- slf4j 升为 2.0.9
- lombok 升为 1.18.30(for JKD21)
- asm 升为 9.5 (for JDK21)
项目仓库地址?

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
WinSCP 6.1.2 发布,Windows 图形化 SFTP 客户端
WinSCP 是一个 Windows 环境下使用的SSH的开源图形化SFTP客户端,同时支持SCP协议,它的主要功能是在本地与远程计算机间安全地复制文件,并且可以直接编辑文件。 目前,WinSCP 6.1.2 已经发布。该版本具体更新内容如下: MSI 安装程序不再本地化,以避免出现 GPO 问题。2200 TLS/SSL core 升级到 OpenSSL 1.1.1w。 更新翻译:加泰罗尼亚语、丹麦语、俄语和土耳其语。 添加了新的il-central-1AWS 区域。 错误修复:安装程序中 GPL 许可证中的拼写错误。2201 错误修复:检查应用程序更新仅限于 TLS 1.2。 更新说明:https://winscp.net/eng/docs/history#6.1.2
- 下一篇
智能制造一体化 v3.10.11 大版本发布
智能制造一体化管理系统[SpringBoot2 - 快速开发平台],适用于制造业、建筑业、汽车行业、互联网、教育、政府机关等机构的管理。包含文件在线操作、工作日志、多班次考勤、CRM、ERP 进销存、项目管理、EHR、拖拽式生成问卷、日程、笔记、工作计划、行政办公、薪资模块、动态表单、知识库、公告模块、企业论坛、云售后模块、生产模块、系统模块化同步模块等多种复杂业务功能。 有一些小伙伴很好奇最近更新的内容和智能制造有什么关系? 答:目前 Skyeye 整体在做重构,优先从底层的一些功能开始,所以现在大家看到的和智能制造的联系不是很大,也希望大家能够理解,一个大型的智能制造对底层的依赖性也是非常高的。 本次版本更新,删除了若干前后端代码,目标是将老功能全部重构为 Skyeye 低代码系列,前端使用表单布局拖拽生成。为此,该版本做了众多的准备工作,比如:组件、业务对象、表格等。方便后期能够简洁、快速的重构老功能。本次版本主要重构内容以及可以使用的布局组件请参考下方更新历史。 智能制造一体化 v3.10.11 发布,更新内容如下: 已托管到表单布局的功能: 基础服务:角色管理,桌面管理,前台...
相关文章
文章评论
共有0条评论来说两句吧...