JEE與Spring Boot代碼性能比較分析
JavaEE與Spring Boot其實(shí)很難比較測(cè)試,前者適合單體SOA架構(gòu),后者適合微服務(wù),但是還是有好事者把兩者放在一起比較性能。
我把一些JEE和Spring代碼放在一起做了同樣的事情。Spring做了一些開(kāi)箱即用的好東西,所以我在一些JEE示例中復(fù)制了它以提高性能。
測(cè)試環(huán)境: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驅(qū)動(dòng)程序。
硬件:采用AMD 2700x Ryzen處理器,在2600 GHz頻率下具有32 GB內(nèi)存。
實(shí)際結(jié)果:
- Spring可以節(jié)省一些編碼時(shí)間
- Spring通常會(huì)為性能做出很好的選擇,但是加入到JEE應(yīng)用程序時(shí),這些優(yōu)勢(shì)就會(huì)消失。
- Spring執(zhí)行save()或findAll()之類(lèi)方法時(shí)不履行@Transactional,Spring會(huì)更改隔離級(jí)別和事務(wù)傳播。這使得Spring在執(zhí)行非更新數(shù)據(jù)庫(kù)的功能時(shí)具有優(yōu)勢(shì),但是IMO,Spring應(yīng)該真正尊重設(shè)置的隔離級(jí)別和傳播。當(dāng)改變JEE中的方法的隔離級(jí)別和傳播時(shí),JEE會(huì)更快。
簡(jiǎn)單REST調(diào)用 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
總結(jié)
以上所述是小編給大家介紹的JEE與Spring Boot代碼性能比較,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
SpringBoot_Cache自定義使用SimpleCacheManager方式
這篇文章主要介紹了SpringBoot_Cache自定義使用SimpleCacheManager方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07詳解使用Mybatis-plus + velocity模板生成自定義的代碼
這篇文章主要介紹了詳解使用Mybatis-plus + velocity模板生成自定義的代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03一篇文章帶你使用SpringBoot基于WebSocket的在線群聊實(shí)現(xiàn)
這篇文章主要介紹了一篇文章帶你使用SpringBoot基于WebSocket的在線群聊實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10Java7到Java17之Switch語(yǔ)句進(jìn)化史示例詳解
這篇文章主要為大家介紹了Java7到Java17之Switch語(yǔ)句進(jìn)化史示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01mybatis?對(duì)于生成的sql語(yǔ)句?自動(dòng)加上單引號(hào)的情況詳解
這篇文章主要介紹了mybatis?對(duì)于生成的sql語(yǔ)句?自動(dòng)加上單引號(hào)的情況詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01使用Java實(shí)現(xiàn)文件流轉(zhuǎn)base64
這篇文章主要為大家詳細(xì)介紹了如何使用Java實(shí)現(xiàn)文件流轉(zhuǎn)base64效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03Springboot 使用 JSR 303 對(duì) Controller 控制層校驗(yàn)及 Service 服務(wù)層 AOP 校驗(yàn)
這篇文章主要介紹了Springboot 使用 JSR 303 對(duì) Controller 控制層校驗(yàn)及 Service 服務(wù)層 AOP 校驗(yàn) 使用消息資源文件對(duì)消息國(guó)際化的相關(guān)知識(shí),需要的朋友可以參考下2017-12-12