国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Spring Boot為什么這么耗內存

汽車玩家 ? 來源:Java技術架構 ? 作者:Java技術架構 ? 2020-05-05 22:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Spring Boot總體來說,搭建還是比較容易的,特別是Spring Cloud全家桶,簡稱親民微服務,但在發展趨勢中,容器化技術已經成熟,面對巨耗內存的Spring Boot,小公司表示用不起。如今,很多剛誕生的JAVA微服務框架大多主打“輕量級”,主要還是因為Spring Boot太重。

JAVA系微服務框架

No1-Spring Cloud

介紹

有Spring大靠山在,更新、穩定性、成熟度的問題根本不需要考慮。在JAVA系混的技術人員大約都聽說過Spring的大名吧,所以不缺程序員……,而且這入手的難度十分低,完全可以省去一個架構師。

但是,你必然在服務器上付出:

至少一臺“服務發現 ”的服務器;

可能有一個統一的網關Gateway;

可能需要一個用于“分布式配置管理”的配置中心

可能進行“服務追蹤”,知道我的請求從哪里來,到哪里去;

可能需要“集群監控”;

項目上線后發現,我們需要好多服務器,每次在集群中增加服務器時,都感覺心疼;

壓測30秒

壓測前的內存占用

Spring Boot為什么這么耗內存

如圖,內存占用304M。

壓測時的內存占用

Spring Boot為什么這么耗內存

如圖,內存占用1520M(1.5G),CPU上升到321%

概覽

Spring Boot為什么這么耗內存

總結

一個Spring Boot的簡單應用,最少1G內存,一個業務點比較少的微服務編譯后的JAR會大約50M;而Spring Cloud引入的組件會相對多一些,消耗的資源也會相對更多一些。

啟動時間大約10秒左右: Started Application in 10.153 seconds (JVM running for 10.915)

JAVA系響應式編程的工具包Vert.x

介紹

背靠Eclipse的Eclipse Vert.x是一個用于在JVM上構建響應式應用程序的工具包。定位上與Spring Boot不沖突,甚至可以將Vert.x結合Spring Boot使用。眾多Vert.x模塊提供了大量微服務的組件,在很多人眼里是一種微服務架構的選擇。

華為微服務框架Apache ServiceComb就是以Vert.x為底層框架實現的,在"基準測試網站TechEmpower"中,Vert.x的表現也十分亮眼。

壓測30秒

壓測前的內存占用

Spring Boot為什么這么耗內存

如圖,內存占用65M。

壓測時的內存占用

Spring Boot為什么這么耗內存

如圖,內存占139M,CPU占2.1%,給人的感覺似乎并沒有進行壓測。

概覽

Spring Boot為什么這么耗內存

總結

Vert.x單個服務打包完成后大約7M左右的JAR,不依賴Tomcat、Jetty之類的容器,直接在JVM上跑。

Vert.x消耗的資源很低,感覺一個1核2G的服務器已經能夠部署許多個Vert.x服務。除去編碼方面的問題,真心符合小項目和小模塊。git市場上已經出現了基于Vert.x實現的開源網關- VX-API-Gateway幫助文檔

https://duhua.gitee.io/vx-api-gateway-doc

對多語言支持,很適合小型項目快速上線。

啟動時間不到1秒:Started Vert.x in 0.274 seconds (JVM running for 0.274)

JAVA系其他微服務框架

SparkJava

jar比較小,大約10M

占內存小,大約30~60MB;

性能還可以,與Spring Boot相仿;

Micronaut

Grails團隊新寵;

可以用 Java、Groovy 和 Kotlin 編寫的基于微服務的應用程序;

相比Spring Boot已經比較全面;

性能較優,編碼方式與Spring Boot比較類似;

啟動時間和內存消耗方面比其他框架更高效;

多語言;

依賴注入;

內置多種云本地功能;

很新,剛發布1.0.0

Javalin

上手極為容易;

靈活,可以兼容同步和異步兩種編程思路;

JAR小,4~5M;

多語言;

有KOA的影子;

只有大約2000行源代碼,源代碼足夠簡單,可以理解和修復;

符合當今趨勢;

多語言;

嵌入式服務器Jetty;

Quarkus

啟動快;

JAR小,大約10M;

文檔很少;

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 內存
    +關注

    關注

    9

    文章

    3210

    瀏覽量

    76369
  • JAVA
    +關注

    關注

    20

    文章

    3001

    瀏覽量

    116432
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    MangoTree Halo Ultra「全新PXI」,標配自動糾錯內存#

    內存
    芒果樹數字
    發布于 :2026年03月06日 15:59:34

    深入解析U-Boot image.c:RK平臺鏡像處理核心邏輯

    在瑞芯微(RK)平臺的嵌入式開發中,U-Boot作為核心的啟動加載程序,負責完成鏡像解析、校驗、加載等關鍵流程。而image.c正是U-Boot中處理鏡像(uImage)的核心文件,尤其針對RK平臺
    的頭像 發表于 02-24 16:46 ?1451次閱讀
    深入解析U-<b class='flag-5'>Boot</b> image.c:RK平臺鏡像處理核心邏輯

    玩轉U-Boot bdinfo:嵌入式bsp開發者的定制、擴展與裁剪實戰指南

    作為嵌入式開發者,U-Boot 是我們調試、適配板卡的核心工具,而 bdinfo 命令更是板級信息調試的“利器”——它能直觀打印內存布局、Flash 信息、網絡配置、時鐘頻率等核心參數。但原廠
    的頭像 發表于 02-24 15:26 ?717次閱讀
    玩轉U-<b class='flag-5'>Boot</b> bdinfo:嵌入式bsp開發者的定制、擴展與裁剪實戰指南

    解析Rockchip平臺U-Boot核心文件:boot_rkimg.c到底做了什么?

    在嵌入式開發中,U-Boot 作為引導程序的 “中流砥柱”,負責初始化硬件、加載內核并啟動系統。對于 Rockchip 平臺的設備(如常見的開發板、智能終端),boot_rkimg.c 是 U-Boot 中專門處理啟動流程的核心
    的頭像 發表于 02-03 15:29 ?746次閱讀
    解析Rockchip平臺U-<b class='flag-5'>Boot</b>核心文件:<b class='flag-5'>boot</b>_rkimg.c到底做了什么?

    內存條崩了?漲了十倍的內存顆粒賣給誰?內存芯片接下來怎么玩?

    內存
    芯廣場
    發布于 :2026年01月26日 17:48:21

    內存持續漲價,多重信號預警成本壓力#內存芯片#漲價#行業#消費電子#AI#

    內存芯片
    jf_15747056
    發布于 :2026年01月08日 18:38:35

    rk基于linux/android內存管理

    一、內存分布 ? U-Boot 由前級 Loader 加載到 CONFIG_SYS_TEXT_BASE 地址,初始化時會探明當前系統的總內存容 量, 32 位平臺上認為最大 4GB 可用(但是不影響
    的頭像 發表于 12-15 10:42 ?212次閱讀
    rk基于linux/android<b class='flag-5'>內存</b>管理

    深入理解?RK3506 U-Boot?重定位:從代碼到原理

    在嵌入式系統中,U-Boot?作為引導加載程序,其啟動流程的核心環節之一就是 重定位(Relocation) 。對于?RK3506?這類基于?ARM Cortex-A?架構的芯片,重定位的本質是將
    的頭像 發表于 11-28 07:05 ?595次閱讀
    深入理解?RK3506 U-<b class='flag-5'>Boot</b>?重定位:從代碼到原理

    一款基于Java+Spring Boot+Vue的智慧隨訪管理系統源碼

    智慧隨訪管理系統源碼,一款基于Java+Spring Boot+Vue的B/S架構醫院隨訪管理系統源碼,采用前后端分離技術(Ant-Design+MySQL5),具有自主版權和落地案例。 隨訪管理
    的頭像 發表于 11-13 15:38 ?398次閱讀
    一款基于Java+<b class='flag-5'>Spring</b> <b class='flag-5'>Boot</b>+Vue的智慧隨訪管理系統源碼

    Spring攔截器:你的請求休想逃過我的五指山!

    Spring框架中,攔截器(Interceptor)是一種強大的機制,它允許開發者在請求處理的不同階段插入自定義邏輯。WebApplicationContext作為Spring Web應用的上下文容器,為攔截器的配置和管理提供了基礎支持。
    的頭像 發表于 07-26 11:25 ?690次閱讀
    <b class='flag-5'>Spring</b>攔截器:你的請求休想逃過我的五指山!

    fn_u-boot-spl.bin和u-boot-spl.bin區別是什么?請問如何從u-boot-spl.bin生成fn_u-boot-spl.bin?

    fn_u-boot-spl.bin = bootrom頭 + u-boot-spl.bin ;生成過程見后面代碼片段; bootrom頭(格式詳見) + u-boot-spl.bin(標準的一級
    發表于 07-11 07:58

    飛凌嵌入式ElfBoard ELF 1板卡-uboot啟動流程分析之boot ROM階段

    分內容可以去參考硬件手冊),判斷啟動介質,然后初始化內存以及啟動介質,最后讀取uboot代碼程序到內存中開始運行,因此boot ROM需要做這么幾個工作:CPU初始化,時鐘初始化,
    發表于 05-28 10:01

    瑞薩RA芯片的Boot模式簡介

    RA芯片在上電或通過芯片復位引腳進行復位時,會根據MD引腳的電平來進入不同的芯片操作模式:“Single-chip Mode”或者“Boot Mode”。
    的頭像 發表于 04-09 10:52 ?2335次閱讀
    瑞薩RA芯片的<b class='flag-5'>Boot</b>模式簡介

    瑞薩RZT2H CR52雙核BOOT流程和例程代碼分析

    以雙CR52 Core為例,說明了T2H多核系統的BOOT流程。
    的頭像 發表于 04-02 09:28 ?2225次閱讀
    瑞薩RZT2H CR52雙核<b class='flag-5'>BOOT</b>流程和例程代碼分析

    為什么BOOT_CFG1_1和BOOT_CFG1_6為L時不能寫入?

    和“MIMXRT1060-EVKB Board User Manual”使用以下設置進行編寫,但發生了錯誤。 BOOT_MODE0:H BOOT_MODE1:L BOOT_CFG1_0:H
    發表于 03-28 08:11