Java?Jar包項(xiàng)目內(nèi)存設(shè)置方法舉例
一、默認(rèn)占用內(nèi)存
64位操作系統(tǒng),默認(rèn)最小堆內(nèi)存大小256M,最大內(nèi)存為1/4可用系統(tǒng)內(nèi)存。
二、設(shè)置指定內(nèi)存大小
2.1 Java8之前
-Xms512M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M
-Xms128m JVM初始分配的堆內(nèi)存
-Xmx512m JVM最大允許分配的堆內(nèi)存,按需分配
-XX:PermSize=64M JVM初始分配的永久代內(nèi)存大小
-XX:MaxPermSize=128M JVM最大允許分配的永久代內(nèi)存,按需分配
java -jar -Xms512M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M xxx-0.0.1-SNAPSHOT.jar
2.2 Java8之后
-Xms512M -Xmx512M -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=128M
-XX:MetaspaceSize=128M (元空間默認(rèn)大?。?/p>
-XX:MaxMetaspaceSize=128M (元空間最大大?。?/p>
元空間(Metaspace)在Java8之后取代了永久代(Permanent Generation (PermGen))
Metaspace 的大小是動態(tài)變化的,并且默認(rèn)情況下沒有明確的上限(取決于系統(tǒng)內(nèi)存大?。?。
java -jar -Xms512M -Xmx512M -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=128M xxx-0.0.1-SNAPSHOT.jar
三、-Xms = -Xmx的好處
優(yōu)點(diǎn):避免由于heap內(nèi)存擴(kuò)大或縮小導(dǎo)致應(yīng)用停頓。
避免垃圾回收完成后JVM重新分配內(nèi)存。
不足:減少垃圾回收的頻率,增加垃圾回收時的暫停時間。
附:后臺運(yùn)行Jar包并設(shè)置內(nèi)存參數(shù)
nohup java -Xms800m -Xmx800m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:MaxNewSize=512m -jar 你的jar包 >>/dev/null &
總結(jié)
到此這篇關(guān)于Java Jar包項(xiàng)目內(nèi)存設(shè)置方法的文章就介紹到這了,更多相關(guān)Java Jar包內(nèi)存設(shè)置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot使用AOP+注解實(shí)現(xiàn)簡單的權(quán)限驗(yàn)證的方法
這篇文章主要介紹了SpringBoot使用AOP+注解實(shí)現(xiàn)簡單的權(quán)限驗(yàn)證的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05
Java后臺實(shí)現(xiàn)瀏覽器一鍵導(dǎo)出下載zip壓縮包
這篇文章主要為大家詳細(xì)介紹了Java后臺實(shí)現(xiàn)瀏覽器一鍵導(dǎo)出下載zip壓縮包,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-07-07
mybatis調(diào)用mysql存儲過程并獲取返回值方式
這篇文章主要介紹了mybatis調(diào)用mysql存儲過程并獲取返回值方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08
詳解Spring Cloud Netflix Zuul中的速率限制
這篇文章主要介紹了詳解Spring Cloud Netflix Zuul中的速率限制,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11
Spring?Cache+Redis緩存數(shù)據(jù)的實(shí)現(xiàn)示例
本文主要介紹了Spring?Cache+Redis緩存數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01
Java項(xiàng)目防止SQL注入的幾種方法總結(jié)
SQL注入是比較常見的網(wǎng)絡(luò)攻擊方式之一,在客戶端在向服務(wù)器發(fā)送請求的時候,sql命令通過表單提交或者url字符串拼接傳遞到后臺持久層,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的SQL命令,下面這篇文章主要給大家總結(jié)介紹了關(guān)于Java項(xiàng)目防止SQL注入的幾種方法,需要的朋友可以參考下2023-04-04
Java深入數(shù)據(jù)結(jié)構(gòu)理解掌握抽象類與接口
在類中沒有包含足夠的信息來描繪一個具體的對象,這樣的類稱為抽象類,接口是Java中最重要的概念之一,它可以被理解為一種特殊的類,不同的是接口的成員沒有執(zhí)行體,是由全局常量和公共的抽象方法所組成,本文給大家介紹Java抽象類和接口,感興趣的朋友一起看看吧2022-05-05

