新版idea如何開啟多臺(tái)JVM虛擬機(jī)的流程步驟
流程如下:
- 打開 IntelliJ IDEA: 啟動(dòng)你的 IntelliJ IDEA。
- 打開新的項(xiàng)目或窗口: 可以打開一個(gè)新的項(xiàng)目,或者在當(dāng)前項(xiàng)目中打開一個(gè)新的窗口。
- 配置新的運(yùn)行/調(diào)試配置: 在 IntelliJ IDEA 的工具欄中,找到并點(diǎn)擊右側(cè)的編輯配置按鈕(位于運(yùn)行/調(diào)試配置的旁邊,通常是一個(gè)小下拉箭頭)。
- 選擇 Edit Configurations: 在彈出的菜單中,選擇 "Edit Configurations"。
- 添加新的配置: 在打開的配置窗口左上角,點(diǎn)擊加號(hào)按鈕或復(fù)制按鈕,以添加一個(gè)新的配置。
- 選擇 Application 配置類型: 在彈出的菜單中,選擇 "Application" 配置類型。
- 配置新的運(yùn)行/調(diào)試配置: 在右側(cè)的配置窗口中,配置以下參數(shù):
- Name(名稱): 為你的配置起一個(gè)名稱,以便區(qū)分。
- Main class(主類): 指定你的 Java 主類。
- VM options(虛擬機(jī)選項(xiàng)): 在這里輸入你想要配置的虛擬機(jī)選項(xiàng),比如
-Duser.language=en。 - Program arguments(程序參數(shù)): 如果你的程序需要參數(shù),可以在這里添加。
- 保存配置: 確保點(diǎn)擊窗口底部的 "OK" 按鈕來保存你的配置。
- 運(yùn)行新的配置: 在 IntelliJ IDEA 的工具欄中選擇你剛剛配置的運(yùn)行/調(diào)試配置,點(diǎn)擊運(yùn)行按鈕。
通過以上步驟,你就可以在 IntelliJ IDEA 中同時(shí)運(yùn)行多個(gè)不同的 JVM 虛擬機(jī)實(shí)例。你可以通過創(chuàng)建多個(gè)配置,每個(gè)配置對(duì)應(yīng)一個(gè)虛擬機(jī)實(shí)例,方便地管理和切換。這在需要模擬多個(gè)環(huán)境或進(jìn)行并發(fā)調(diào)試時(shí)非常有用。
手把手教學(xué)
1.看看自己的項(xiàng)目

2.可能開始的時(shí)候啥也沒有,就點(diǎn)Run Configuration Type

3.再點(diǎn)擊Edit Configurations...

4.點(diǎn)擊+號(hào)添加SpringBoot

5.主類選擇一下,一般就一個(gè),點(diǎn)他選了就行。
6.然后點(diǎn)擊Modify Options 選擇添加add VM Options

7.點(diǎn)擊apply 再OK就有了?。?!
拓展:IDEA 設(shè)置啟動(dòng) JVM 參數(shù)
一、設(shè)置方式
1. 通過 IDEA 設(shè)置

2. 編輯配置文件
IDEA 安裝目錄 / bin 目錄,其中有兩個(gè) vmoptions 文件,針對(duì)不同的 JDK 進(jìn)行配置
二、參數(shù)說明
1. 通用參數(shù)說明
| 參數(shù) | 說明 |
|---|---|
| -Xms | 初始化堆內(nèi)存大小, eg. -Xms1G |
| -Xmx | 堆內(nèi)存最大值,eg. -Xms1G,通常與 -Xms 設(shè)置相同的值 |
| -XX:ReservedCodeCacheSize | “代碼緩存”,它是用來存儲(chǔ)已編譯方法生成的本地代碼。代碼緩存確實(shí)很少引起性能問題,但是一旦發(fā)生其影響可能是毀滅性的。如果代碼緩存被占滿,JVM會(huì)打印出一條警告消息,并切換到interpreted-only 模式:JIT編譯器被停用,字節(jié)碼將不再會(huì)被編譯成機(jī)器碼。因此,應(yīng)用程序?qū)⒗^續(xù)運(yùn)行,但運(yùn)行速度會(huì)降低一個(gè)數(shù)量級(jí),直到有人注意到這個(gè)問題。就像其他內(nèi)存區(qū)域一樣,我們可以自定義代碼緩存的大小。它們的參數(shù)都是字節(jié)值。eg. -XX:ReservedCodeCacheSize=240m |
| -XX:InitialCodeCacheSize | “代碼緩存” 初始大小,eg. -XX:InitialCodeCacheSize=240m |
| -XX:+UseCodeCacheFlushing | 如果代碼緩存不斷增長(zhǎng),例如,因?yàn)闊岵渴鹨鸬膬?nèi)存泄漏,那么提高代碼的緩存大小只會(huì)延緩其發(fā)生溢出。為了避免這種情況的發(fā)生,當(dāng)代碼緩存被填滿時(shí)讓JVM放棄一些編譯代碼。通過使用這個(gè)參數(shù),我們至少可以避免當(dāng)代碼緩存被填滿的時(shí)候 JVM 切換到 interpreted-only 模式, 該值默認(rèn)是開啟的 |
| -XX:+AutoBoxCacheMax | JVM 在加載 Integer 這個(gè)類時(shí),會(huì)優(yōu)先加載靜態(tài)的代碼。當(dāng) JVM 進(jìn)程啟動(dòng)完畢后, -128 ~ +127 范圍的數(shù)字會(huì)被緩存起來,調(diào)用 valueOf 方法的時(shí)候,如果是這個(gè)范圍內(nèi)的數(shù)字,則直接從緩存取出。eg. -XX:AutoBoxCacheMax=20000 |
| -XX:+AlwaysPreTouch | JAVA 進(jìn)程啟動(dòng)的時(shí)候,雖然我們可以為 JVM 指定合適的內(nèi)存大小,但是這些內(nèi)存操作系統(tǒng)并沒有真正的分配給 JVM ,而是等 JVM 訪問這些內(nèi)存的時(shí)候,才真正分配,這樣會(huì)造成以下問題。 GC 的時(shí)候,新生代的對(duì)象要晉升到老年代的時(shí)候,需要內(nèi)存,這個(gè)時(shí)候操作系統(tǒng)才真正分配內(nèi)存,這樣就會(huì)加大 young gc 的停頓時(shí)間; 可能存在內(nèi)存碎片的問題。可以在 JVM 啟動(dòng)的時(shí)候, eg. -XX:+AlwaysPreTouch |
| -XX:PermSize | JVM 初始分配的非堆內(nèi)存,就是永久代,JDK 1.7 適用。 eg. -XX:PermSize=64M |
| -XX:MaxPermSize | JVM 最大允許分配的非堆內(nèi)存,按需分配, JDK 1.7 適用,eg. -XX:MaxPermSize=128M |
| -XX:MetaspaceSize | 初始元空間大小,達(dá)到該值就會(huì)觸發(fā)垃圾收集進(jìn)行類型卸載,同時(shí) GC 會(huì)對(duì)該值進(jìn)行調(diào)整:如果釋放了大量的空間,就適當(dāng)降低該值;如果釋放了很少的空間,那么在不超過 MaxMetaspaceSize 時(shí),適當(dāng)提高該值, JDK 8 適用。eg. -XX:MetaspaceSize=128M |
| -XX:MaxMetaspaceSize | 最大元空間,默認(rèn)是沒有限制的,JDK 8 適用。 eg. -XX:MaxMetaspaceSize =128M |
2. 使用 CMS 垃圾回收
| 參數(shù) | 說明 |
|---|---|
| -XX:+UseConcMarkSweepGC | 采用 CMS 垃圾回收機(jī)制 |
3. 使用 G1 垃圾回收
| 參數(shù) | 說明 |
|---|---|
| -XX:+UseG1GC | G1 垃圾回收機(jī)制 |
| -XX:+UseStringDeduplication | G1垃圾回收器的時(shí)候,通過該參數(shù)我們可以通過刪除重復(fù)的字符串,只保留一個(gè)char[]來優(yōu)化堆內(nèi)存。 |
三、樣例
1. 采用 CMS 垃圾回收
-server -Xms1024m -Xmx2048m -XX:MaxPermSize=1024m -XX:ReservedCodeCacheSize=512m -XX:+UseConcMarkSweepGC -XX:+UseCodeCacheFlushing -XX:SoftRefLRUPolicyMSPerMB=50 -ea -Dsun.io.useCanonCaches=false -Dsun.awt.keepWorkingSetOnMinimize=true -Djava.net.preferIPv4Stack=true -Djdk.http.auth.tunneling.disabledSchemes="" -Djsse.enablesSNIExtension=false -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Dfile.encoding=UTF-8 // -Duser.name=
2. 采用 G1垃圾回收配置
-server -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=512M -XX:+AlwaysPreTouch -Xms128m -Xmx4g -XX:ReservedCodeCacheSize=512m -XX:+UseG1GC -XX:+UseStringDeduplication -XX:AutoBoxCacheMax=20000 -ea -Dsun.io.useCanonCaches=false -Dsun.awt.keepWorkingSetOnMinimize=true -Djava.net.preferIPv4Stack=true -Djdk.http.auth.tunneling.disabledSchemes="" -Djsse.enablesSNIExtension=false -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Dfile.encoding=UTF-8 // -Duser.name=
到此這篇關(guān)于新版idea如何開啟多臺(tái)JVM虛擬機(jī)的流程步驟的文章就介紹到這了,更多相關(guān)idea開啟多臺(tái)JVM內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaWeb項(xiàng)目中classpath路徑詳解
今天小編就為大家分享一篇關(guān)于JavaWeb項(xiàng)目中classpath路徑詳解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-12-12
探索Java中private方法添加@Transactional事務(wù)未生效原因
你又遇到過明明給private方法添加了@Transactional但是事務(wù)依然沒有生效的情況嗎,具體原因本篇文章將詳細(xì)告訴你,有需要的朋友跟著小編往下看吧2021-11-11
Spring實(shí)戰(zhàn)之Bean的作用域request用法分析
這篇文章主要介紹了Spring實(shí)戰(zhàn)之Bean的作用域request用法,結(jié)合實(shí)例形式分析了spring中Bean的request作用域相關(guān)使用技巧與操作注意事項(xiàng),需要的朋友可以參考下2019-11-11
java通過AOP實(shí)現(xiàn)全局日志打印詳解
最近自己一直再看現(xiàn)有微服務(wù)的日志模塊,發(fā)現(xiàn)就是使用AOP來做controller層的日志處理,加上項(xiàng)目在進(jìn)行架構(gòu)優(yōu)化,這篇文章主要給大家介紹了關(guān)于java通過AOP實(shí)現(xiàn)全局日志打印的相關(guān)資料,需要的朋友可以參考下2022-01-01
SpringData JPA中查詢接口Repository的使用
本文主要介紹了SpringData JPA中查詢接口Repository的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
Java FtpClient 實(shí)現(xiàn)文件上傳服務(wù)
本文主要對(duì)Java FtpClient實(shí)現(xiàn)簡(jiǎn)單的圖片上傳到服務(wù)器的方法進(jìn)行介紹,并且展示的小demo中,對(duì)配置過程中主要碰到的問題:關(guān)于文件權(quán)限的問題也進(jìn)行了說明,下面跟著小編一起來看下吧2016-12-12
Java詳解實(shí)現(xiàn)ATM機(jī)模擬系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了如何利用Java語言實(shí)現(xiàn)控制臺(tái)版本的ATM銀行管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06
springcloud如何使用Feign后臺(tái)內(nèi)部傳遞MultipartFile
這篇文章主要介紹了springcloud如何使用Feign后臺(tái)內(nèi)部傳遞MultipartFile,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03

