mica 云母,寓意为云服务的核心,使得云服务开发更加方便快捷。mica 的前身是 lutool,lutool在内部孵化了小两年,已经被多个朋友运用到企业。由于 lutool 对微服务不够友好,故重塑了mica。mica 中的部分大部分组件进行了持续性打磨,增强易用性和性能。
mica 基于 java 8,没有历史包袱,支持传统 Servlet 和 Reactive(webflux)。采用 mica-auto 自动生成 spring.factories 和 spring-devtools.properties 配置,仅依赖 Spring boot、Spring cloud 全家桶,无第三方依赖。市面上鲜有的微服务核心组件。
[1.0.1] - 2019-04-03
:ok_hand: 处理几处 P3C 代码检查问题。@冷冷
:zap:️ 优化泛型,避免部分环境下的编译问题。
:sparkles: 添加 lutool 中的 WebUtil.renderJson()。
:zap:️ 优化 DateUtil 性能。
:zap:️ 优化 RuntimeUtil,提高性能。
:zap:️ 升级 gradle 到 5.3.1
。
本次版本主要是进行了一些工具的压力测试:
Benchmark | Score | Error | Units |
---|---|---|---|
hutool | 1939.092 | 26.747 | ops/ms |
spring | 3569.035 | 39.607 | ops/ms |
cglib | 9112.785 | 560.503 | ops/ms |
mica | 17753.409 | 393.245 | ops/ms |
结论:mica 在非编译期 Bean copy 性能强劲,功能强大。
Benchmark | Score | Error | Units |
---|---|---|---|
jdk8UUId | 734.595 | 17.220 | ops/ms |
jdk8ThreadLocalRandomUUId | 3224.759 | 32.107 | ops/ms |
hutoolFastSimpleUUID | 3619.748 | 67.195 | ops/ms |
micaUUId(java9 方式) | 12375.405 | 241.879 | ops/ms |
结论:mica 在使用了 java9 的算法,性能卓越。
Benchmark | Score | Error | Units |
---|---|---|---|
java8Date | 2405.924 | 44.912 | ops/ms |
micaDateUtil | 2541.753 | 48.321 | ops/ms |
hutoolDateUtil | 2775.531 | 13.526 | ops/ms |
结论:hutool 使用的 common lang3 的 FastDateFormat 占用优势。mica 使用 tomcat8 中的 ConcurrentDateFormat 简单的规避了 SimpleDateFormat 的线程问题。
后期 mica 会进行更多的测试,保证稳定的同时,尽可能的提高性能。
允许以引入不改源码的形式免费用于学习、毕设、公司项目、私活等。
特殊情况修改代码,但仍然想闭源需经过作者同意。
参考请注明:参考自 mica: https://gitee.com/596392912/mica