JEE与Spring Boot代码性能比较分析
JavaEE与Spring Boot其实很难比较测试,前者适合单体SOA架构,后者适合微服务,但是还是有好事者把两者放在一起比较性能。
我把一些JEE和Spring代码放在一起做了同样的事情。Spring做了一些开箱即用的好东西,所以我在一些JEE示例中复制了它以提高性能。
测试环境:IBM JRE 8.0.5.22、IBM Liberty 18.0.0.3 App Server、底层使用Ubuntu Linux 18.04.1 LTS和MySQL 5.7.24以及MySQL 8.0.13 JDBC驱动程序。
硬件:采用AMD 2700x Ryzen处理器,在2600 GHz频率下具有32 GB内存。
实际结果:
- Spring可以节省一些编码时间
- Spring通常会为性能做出很好的选择,但是加入到JEE应用程序时,这些优势就会消失。
- Spring执行save()或findAll()之类方法时不履行@Transactional,Spring会更改隔离级别和事务传播。这使得Spring在执行非更新数据库的功能时具有优势,但是IMO,Spring应该真正尊重设置的隔离级别和传播。当改变JEE中的方法的隔离级别和传播时,JEE会更快。
简单REST调用 Liberty perfRESTJEE 3631 ms Liberty perfRESTSpring 2909 ms SpringBoot perfRESTSpring 3064 ms REST with JPA Liberty perfRESTJPAJEE 65531 ms Liberty perfRESTJPASpring 37076 ms SpringBoot perfRESTJPASpring 37757 ms REST with JPA (EclipseLink) Liberty perfRESTJPASpring-EL 37709 ms SpringBoot perfRESTJPASpring-EL 76791 ms
总结
以上所述是小编给大家介绍的JEE与Spring Boot代码性能比较,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
相关文章
SpringBoot_Cache自定义使用SimpleCacheManager方式
这篇文章主要介绍了SpringBoot_Cache自定义使用SimpleCacheManager方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-07-07详解使用Mybatis-plus + velocity模板生成自定义的代码
这篇文章主要介绍了详解使用Mybatis-plus + velocity模板生成自定义的代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2021-03-03一篇文章带你使用SpringBoot基于WebSocket的在线群聊实现
这篇文章主要介绍了一篇文章带你使用SpringBoot基于WebSocket的在线群聊实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-10-10mybatis 对于生成的sql语句 自动加上单引号的情况详解
这篇文章主要介绍了mybatis 对于生成的sql语句 自动加上单引号的情况详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-01-01Springboot 使用 JSR 303 对 Controller 控制层校验及 Service 服务层 AOP 校验
这篇文章主要介绍了Springboot 使用 JSR 303 对 Controller 控制层校验及 Service 服务层 AOP 校验 使用消息资源文件对消息国际化的相关知识,需要的朋友可以参考下2017-12-12
最新评论