Java 生态需要新鲜的血液、需要狂飙的刺激。Solon v2.4.1 发布
Solon 是什么开源项目?
一个,Java 新的生态型应用开发框架。它从零开始构建,有自己的标准规范与开放生态(历时五年,已有全球第二级别的生态规模)。与其他框架相比,它解决了两个重要的痛点:启动慢,费内存。
关键记事:
- 2021年1月,正式对外开源
- 2022年7月,建立官网,发力推广
- 2023年2月,v2.0 发布。官网增加 Solon Initializr,用于生成项目模板。
- 2023年4月,成为信通院可信开源社区、可信开源项目。Maven 单月下载量突破100万。代码提交数超 11000 次
- 2023年6月,Maven 单月下载量突破200万。官网资料超 500 个页面。
解决痛点?
由于Solon Bean容器的独特设计,不会因为扩展依赖变多而启动很慢(开发调试时,省时、爽快)!以知名开源项目“小诺”为例:
- “snowy-spring 版” 启动 15-50秒
- “snowy-solon 版” 启动3-5秒,内存节省1/3(有兴趣的,欢迎拉取代码体验)
所谓:“时间就是生命,效率就是金钱”,“天下武功,唯快不破”。
相对于 Spring Boot 和 Spring Cloud 的项目,有什么特点?
- 启动快 5 ~ 10 倍。 (更快)
- qps 高 2~ 3 倍。 (更高)
- 运行时内存节省 1/3 ~ 1/2。 (更少)
- 打包可以缩小到 1/2 ~ 1/10;比如,300Mb 的变成了 23Mb。 (更小)
- 同时支持 jdk8, jdk11, jdk17, jdk20, graalvm native image
入门探索视频(用户录制):
本次更新了什么?
- 新增 solon.web.servlet.jakarta 插件(用于 war 打包时,支持 tomcat10, jetty11 等 jakarta.servlet 容器)
- 新增 solon-admin-client 插件
- 新增 solon-admin-server 插件
- 新增 solon-admin-server-ui 插件
- 增加 Props::getByKeys、getOrDefault 接口
- 调整 EventBus::push 标为弃用,添加 ::publish 代之
- 调整 AopContext::beanAroundXxx 标为弃用,添加 ::beanInterceptorXxx 代之
- 调整 Around 相关名改为 Interceptor,原名标为弃用
- 优化 ProxyComponent 注解属性调整成与 Component 注解一样,支持用 tags 查找
- 优化 solon.boot 信号启动的执行时机后延
- 优化 solon.scheduling 插件的 retry 的兜底设计
- 优化 EventBus 增加订阅排序支持
- 修复 bean 所有字段只读且无 public 构造器时,会异常的问题
- wood 升为 1.1.7
- snack3 升为 3.2.73
- beetlsql 升为 3.23.5-RELEASE
项目仓库地址?
Java 生态需要新鲜的血液、需要狂飙的刺激。Solon v2.4.1 发布的更多相关文章
- Solon v2.1.4 发布。支持 java、kotlin、groovy!
本次发布,重点测试和验证了在 java.kotlin.groovy 三种 jvm 语言里,开箱即用的特性.并发布 Solon Initializr: https://solon.noear.org/s ...
- Solon v2.2.7 发布,支持 Java 8 到 Java 20
Solon 是一个高效的 Java 应用开发框架:更快.更小.更简单.也是一个有自己接口标准规范的开放生态. 150来个生态插件,覆盖各种不同的应用开发场景: 相对于 Spring Boot 和 Sp ...
- Java 新的生态型应用开发框架,Solon v2.2.13 发布
Java 新的生态型应用开发框架,Solon :更快.更小.更简单.从零开始构建,有自己的标准规范与开放生态: 150多个生态插件,可以满足各种场景开发 大量的国产框架适配,可以为应用软件国产化提供更 ...
- Java 生态碎片化 和 .NET生态的一致性
.NET Core是以MIT协议开源, Java是GPL协议开源.Java 8 SDK升级Oracle要收费这件事对于很多小公司是有着重大的影响的,Java生态越发碎片化,有众多的OpenJDK发行版 ...
- java生态下的后端开发都有哪些技术栈?
前言 我08年毕业,那时(2003-2010)C#还比较时髦的,大学跟着老师进修的,毕业后就从事winform窗体应用程序开发.慢慢的web网站兴起,就转到aps.net开发,再到后来就上了另一艘船( ...
- Atitit.java jna 调用c c++ dll的原理与实践 总结 v2 q27
Atitit.java jna 调用c c++ dll的原理与实践 总结 v2 q27 1. Jna简单介绍1 2. Jna范例halo owrld1 3. Jna概念2 3.1. (1)需 ...
- java生态环境
Which Java package do I need? Software Developers: JDK (Java SE Development Kit). For Java Developer ...
- Java 生态核心知识点整理
又到了求职的金三银四的黄金月份,我相信有不少小伙伴已经摩拳擦掌的准备寻找下一份工作. 就目前国内的面试模式来讲,在面试前积极的准备面试,复习整个 Java 知识体系将变得非常重要,可以很负责任的说一句 ...
- Java简单介绍及Java生态
核心思想:面向对象编程,继承,高兼容(代码移植性强),开源,避免重复造轮子(使用mybatis,spring,redis等技术只需要将jar包依赖添加到项目中即可,jar包内就是技术核心代码,而这些框 ...
- 2018年Java生态行业报告
0 Java版本使用占比 毫无疑问,Java8被广泛用于生产环境! Java 9和Java 10的使用率非常低,不到5%. 2017年,Java 7和更早的版本的数量大约是24.4%,现在是10. ...
随机推荐
- 2022-08-26:用一个大小为 m x n 的二维网格 grid 表示一个箱子 你有 n 颗球。箱子的顶部和底部都是开着的。 箱子中的每个单元格都有一个对角线挡板,跨过单元格的两个角, 可以将球导
2022-08-26:用一个大小为 m x n 的二维网格 grid 表示一个箱子 你有 n 颗球.箱子的顶部和底部都是开着的. 箱子中的每个单元格都有一个对角线挡板,跨过单元格的两个角, 可以将球导 ...
- 2022-08-04:输入:去重数组arr,里面的数只包含0~9。limit,一个数字。 返回:要求比limit小的情况下,能够用arr拼出来的最大数字。 来自字节。
2022-08-04:输入:去重数组arr,里面的数只包含0~9.limit,一个数字. 返回:要求比limit小的情况下,能够用arr拼出来的最大数字. 来自字节. 答案2022-08-04: 从左 ...
- Selenium - 元素等待(2) - 显式等待/EC等待
Selenium - 元素等待 显式等待 显式等待是一种灵活的等待方式,需要声明等待的结束条件,当满足条件时会自动结束等待: 需要引入WebDriverWait包以及exception_conditi ...
- Requested setting INSTALLED_APPS, but settings are not configured. You must either define the env...
解决办法 在test.py文件的最头部加上以下代码,配置环境 import os,django os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'djb ...
- CogSci 2017-Learning to reinforcement learn
Key 元学习系统(监督+从属)扩展于RL设置 LSTM用强化学习算法进行训练,可以使agent获得一定的学习适应能力 解决的主要问题 DRL受限于特定的领域 DRL训练需要大量的数据 作者参考了Ho ...
- protoBuf 实现客户端与服务端
转载请注明出处: 1.定义消息格式 在 src/main/proto 目录下创建 person.proto 文件,并定义消息格式,例如: syntax = "proto3"; pa ...
- GPT大语言模型Vicuna本地化部署实践(效果秒杀Alpaca)
背景 上一篇文章<GPT大语言模型Alpaca-lora本地化部署实践>介绍了斯坦福大学的Alpaca-lora模型的本地化部署,并验证了实际的推理效果. 总体感觉其实并不是特别理想,原始 ...
- Python基础 - 标识符命名规范
标识符是什么? 标识符主要用来给变量名,函数名,方法名,类名起名时要遵循的规范 硬性规则 见名知意(使用中文转译后的英文) 由字母,数字,下划线组成, 并且不能以数字开头, 不能和Python关 ...
- js有关dom操作学习
dom对象就是操作网页的document dom节点: 整个文档是一个文档节点(document对象) 每个 HTML 元素是元素节点(element 对象) HTML 元素内的文本是文本节点(tex ...
- Kafka关键原理
日志分段切分条件 日志分段文件切分包含以下4个条件,满足其一即可: 当前日志分段文件的大小超过了broker端参数 log.segment.bytes 配置的值.log.segment.bytes参数 ...