簡體   English   中英

我可以在單台PC上運行多個JVM嗎?

[英]can I run more than one JVM on my single PC?

我可以運行多個JVM嗎? 如果是,那我怎樣才能找到一個特定的類加載在哪個JVM上?

你的意思並不完全清楚,但是:

  • 您可以在同一台計算機上安裝多個VM(版本/品牌等)
  • 您可以運行多個java進程,無論是相同的JVM版本還是不同的JVM版本

除非您正在運行調試代理或類似的東西,否則我不知道有任何方法可以詢問JVM進程是否加載了特定的類。 這似乎有點奇怪的要求 - 你為什么要這樣做?

您可以在磁盤和內存中運行盡可能多的JVM :)

每當啟動Java應用程序時,您首先啟動JVM,然后告訴它運行哪個應用程序。 “哪個JVM”的答案很簡單:你加載應用程序的JVM!

有可能對類加載器進行一些深奧的調整,這將證明我剛才所說的例外。 但在一般情況下和大多數應用程序中都是如此。

是的,您可以在一台計算機上運行多個JVM。

Sun以幾種不同的方式打包工具以運行jvm。 通常,您要么安裝了Java開發工具包(jdk)或java標准版(jse)作為默認設置。 這些包包括一個被調用來啟動jvm的java程序。 此外,jdk還包含一些用於開發人員的附加命令(如javac )。

您可以在一台計算機上使用多個jdk和/或jse。 在Windows上,jdk和jse包通常安裝在Program Files/java (這是來自內存,因為我目前沒有便攜式電腦)

在Mac上查看/System/Library/Frameworks/JavaVM.framework/Versions。

在Linux上,我將使用which java命令來確定安裝默認java命令的位置(通常是/ usr / bin)。 然后做一個ls -al | grep java ls -al | grep java (例如在/ usr / bin中)並注意符號鏈接指向的位置,以便找出可能安裝了其他版本的位置。

一旦你弄清楚你的系統中各種jdk和jse的位置,你就可以開始找出用於啟動每個程序的java版本。

每個java程序都將使用默認的jvm啟動。 打開命令窗口或終端並嘗試使用java -version確定哪個版本是當前默認版本。

程序也可以啟動使用特定的java版本,而不是使用默認的java版本。 例如,有時我使用特定版本的jdk創建一個自定義窗口快捷方式來打開Eclipse。

從java 5開始,有一個名為jconsole的工具,它可能還可以幫助您確定哪些程序正在運行哪些jvms版本。 只需打開一個控制台,然后鍵入jconsole ,您就會得到一個漂亮的GUI,顯示在默認的jvm中運行的所有程序。 我想你甚至可以檢查程序類路徑。

希望有所幫助,祝你好運!

我可以運行多個JVM嗎?

是的 - 只需運行'java'進程

如果是,那我怎樣才能找到一個特定的類加載在哪個JVM上?

與JAVA SDK一起分發的'jps'程序將列出在您的機器上破壞的所有Java進程(JVM),每個JVM正在執行的主類和類路徑。 您必須查看每個類路徑上的哪個jar或類,以確定是否加載了類。

試試跑步

jps -mlvV

看看你得到了什么

是的,您可以在PC中安裝多個jvm,因為操作系統會在RAM中加載jvm(不是整個jvm)的實例。 我們可以通過設置路徑來調用JDK 1.4或JDK 1.6之類的不同jvm。

您可以在同一台計算機上運行任意數量的JVM。 您只需要打開幾個CommandPrompt窗口並通過javajavaw應用程序運行您想要的內容。 每個JVM運行的類都是包含main()方法的THAT類。 Main()方法是您啟動某個Java應用程序時首先運行的方法。 當然,main()位於你的一些課程中。 就這樣。

多個JRE (Java Runtime Enviroment)非常有可能。 我這樣做了。 問題是JVM並不總是在您的系統上運行。 它就像任何其他軟件一樣。 當您運行jar文件時,它開始運行。

默認JRE在環境變量中設置JAVA_HOME (右鍵單擊我的計算機 - >屬性 - >高級選項卡 - >環境變量)

要運行jar文件,只需運行以下命令:

C:\\ Program Files \\ Java \\ j2re1.4.2_04 \\ bin \\ javaw.exe“-jar Myfile.jar

您可以使用任何其他jre javaw來運行jar文件。

請注意,j2re1.4.2_04可能不是您的jre版本。

編輯:

jar文件中的所有類都在單個JVM上運行。 你可能猜到了。 查看您的JAVA_HOME,這是默認設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM