JEE与Spring Boot代码性能比较分析

 更新时间:2018年11月05日 10:52:23   作者:banq  
JavaEE与Spring Boot其实很难比较测试,前者适合单体SOA架构,后者适合微服务,但是还是有好事者把两者放在一起比较性能。这篇文章主要介绍了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代码性能比较,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

您可能感兴趣的文章:

相关文章

  • 如何将IDEA打成jar包并在windows后台运行

    如何将IDEA打成jar包并在windows后台运行

    在本篇文章里小编给大家分享的是关于如何将IDEA打成jar包并在windows后台运行知识点,需要的朋友们可以学习参考下。
    2019-08-08
  • springMvc异步的DeferredResult long polling应用示例解析

    springMvc异步的DeferredResult long polling应用示例解析

    这篇文章主要为大家介绍了springMvc中DeferredResult的long polling应用示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-03-03
  • SpringBoot+RabbitMq具体使用的几种姿势

    SpringBoot+RabbitMq具体使用的几种姿势

    这篇文章主要介绍了SpringBoot+RabbitMq具体使用的几种姿势,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-05-05
  • Java基础之打印万年历的简单实现(案例)

    Java基础之打印万年历的简单实现(案例)

    下面小编就为大家带来一篇Java基础之打印万年历的简单实现(案例)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • Spring事务aftercommit原理及实践

    Spring事务aftercommit原理及实践

    这篇文章主要为大家介绍了Spring事务aftercommit原理及实践,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • servlet异步请求的实现

    servlet异步请求的实现

    本文主要介绍了servlet异步请求的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • mybatis plus 开启sql日志打印的方法小结

    mybatis plus 开启sql日志打印的方法小结

    Mybatis-Plus(简称MP)是一个 Mybatis 的增强工具,在 Mybatis 的基础上只做增强不做改变,为简化开发、提高效率而生。本文重点给大家介绍mybatis plus 开启sql日志打印的方法小结,感兴趣的朋友一起看看吧
    2021-09-09
  • java定时任务框架elasticjob详解

    java定时任务框架elasticjob详解

    这篇文章主要介绍了java定时任务框架elasticjob详解,Elastic-Job是ddframe中dd-job的作业模块中分离出来的分布式弹性作业框架。该项目基于成熟的开源产品Quartz和Zookeeper及其客户端Curator进行二次开发。,需要的朋友可以参考下
    2019-06-06
  • Java计算黑洞数的方法示例

    Java计算黑洞数的方法示例

    这篇文章主要介绍了Java计算黑洞数的方法,简单描述了黑洞数的概念及具体计算方法,涉及java数值运算相关操作技巧,需要的朋友可以参考下
    2017-12-12
  • SpringMVC基于配置的异常处理器

    SpringMVC基于配置的异常处理器

    这篇文章主要为大家介绍了SpringMVC基于配置的异常处理器,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05

最新评论