❶ 如何修改jvm內存 內存設置過大
-Xmx java Heap最大值,默認值為物理內存的1/4,最佳設值應該視物理內存大小及計算機內其他內存開銷而定;
-Xms Java Heap初始值,Server端JVM最好將-Xms和-Xmx設為相同值,開發測試機JVM可以保留默認值;
-Xmn Java Heap Young區大小,不熟悉最好保留默認值; -Xss 每個線程的Stack大小,不熟悉最好保留默認值;
2. 如何分配JVM內存設置:
(1)當在命令提示符下啟動並使用JVM時(只對當前運行的類Test生效): java -Xmx128m -Xms64m -Xmn32m -Xss16m Test (2)當在集成開發環境下(如eclipse)啟動並使用JVM時:
a. 在eclipse根目錄下打開eclipse.ini,默認內容為(這里設置的是運行當前開發工具的JVM內存分配): -vmargs -Xms40m -Xmx256m
-vmargs表示以下為虛擬機設置參數,可修改其中的參數值,也可添加-Xmn,-Xss,另外,eclipse.ini內還可以設置非堆內存,如:-XX:PermSize=56m,-XX:MaxPermSize=128m.
此處設置的參數值可以通過以下配置在開發工具的狀態欄顯示: 在eclipse根目錄下創建文件options,文件內容為:org.eclipse.ui/perf/showHeapStatus=true
修改eclipse根目錄下的eclipse.ini文件,在開頭處添加如下內容: -debug options -vm javaw.exe
重新啟動eclipse,就可以看到下方狀態條多了JVM信息.
b. 打開eclipse-窗口-首選項-Java-已安裝的JRE(對在當前開發環境中運行的java程序皆生效)
編輯當前使用的JRE,在預設VM參數中輸入:-Xmx128m -Xms64m -Xmn32m -Xss16m
c. 打開eclipse-運行-運行-Java應用程序(只對所設置的java類生效) 選定需設置內存分配的類-自變數,在VM自變數中輸入:-Xmx128m -Xms64m
選定需設置內存分配的類-自變數,在VM自變數中輸入:-Xmx128m -Xms64m -Xmn32m -Xss16m
注:如果在同一開發環境中同時進行了b和c設置,則b設置生效,c設置無效,如:
開發環境的設置為:-Xmx256m,而類Test的設置為:-Xmx128m -Xms64m,則運行Test時生效的設置為: -Xmx256m -Xms64m
(3)當在伺服器環境下(如Tomcat)啟動並使用JVM時(對當前伺服器環境下所以Java程序生效): a. 設置環境變數: 變數名:CATALINA_OPTS
變數值:-Xmx128m -Xms64m -Xmn32m -Xss16m
3
b. 打開Tomcat根目錄下的bin文件夾,編輯catalina.bat,將其中
的%CATALINA_OPTS%(共有四處)替換為:-Xmx128m -Xms64m -Xmn32m -Xss16m
❷ 如何修改jvm啟動參數
用java命令查看。
用java -option進行修改參數。
還有tomcat,eclipse啟動時通過配置文件載入的。
詳細如下:
安裝Java開發軟體時,默認安裝包含兩個文件夾,一個JDK(Java開發工具箱),一個JRE(Java運行環境,內含JVM),其中JDK內另含一個JRE。如果只是運行Java程序,則JRE已足夠;而JDK則只有開發人員才用到。
一、配置JVM內存
1.配置JVM內存的參數
-XmxJavaHeap最大值,默認值為物理內存的1/4,最佳設值應該視物理內存大小及計算機內其他內存開銷而定;
-XmsJavaHeap初始值,Server端JVM最好將-Xms和-Xmx設為相同值,開發測試機JVM可以保留默認值;
2.如何配置JVM內存分配:
(1)當在命令提示符下啟動並使用JVM時(只對當前運行的類生效)
java-Xmx128m-Xms64m-Xmn32m-Xss16mTest
(2)當在集成開發環境下(如eclipse)啟動並使用JVM時:
第一種設置方法:
在eclipse根目錄下打開eclipse.ini,默認內容為(這里設置的是運行當前開發工具的JVM內存分配):
-vmargs-Xms40m-Xmx256m-vmargs表示以下為虛擬機設置參數,可修改其中的參數值,,另外,eclipse.ini內還可以設置非堆內存,如:-XX:PermSize=56m,-XX:MaxPermSize=128m。
此處設置的參數值可以通過以下配置在開發工具的狀態欄顯示:
在eclipse根目錄下創建文件options,文件內容為:org.eclipse.ui/perf/showHeapStatus=true
修改eclipse根目錄下的eclipse.ini文件,在開頭處添加如下內容:
-debugoptions-vmjavaw.exe重新啟動eclipse,就可以看到下方狀態條多了JVM信息。
第二種設置方法:
打開eclipse-窗口-首選項-Java-已安裝的JRE(對在當前開發環境中運行的java程序皆生效)
編輯當前使用的JRE,在預設VM參數中輸入:-Xmx128m-Xms64m-Xmn32m-Xss16m
第三種設置方法:
打開eclipse-運行-運行-Java應用程序(只對所設置的java類生效)
選定需設置內存分配的類-自變數,在VM自變數中輸入:-Xmx128m-Xms64m-Xmn32m-Xss16m
註:如果在同一開發環境中同時進行了第二種和第三種設置,則第二種設置生效,第三種設置無效,如:
開發環境的設置為:-Xmx256m,而類Test的設置為:-Xmx128m-Xms64m,則運行Test時生效的設置為:
-Xmx256m-Xms64m
(3)當在伺服器環境下(如Tomcat)啟動並使用JVM時(對當前伺服器環境下所以Java程序生效):
a.設置環境變數:
變數名:CATALINA_OPTS
變數值:-Xmx128m-Xms64m-Xmn32m-Xss16m
b.打開Tomcat根目錄下的bin文件夾,編輯catalina.bat,將其中的%CATALINA_OPTS%(共有四處)替換為:-Xmx128m-Xms64m-Xmn32m-Xss16m
二、查看配置JVM內存信息
Runtime.getRuntime().maxMemory();//最大可用內存,對應-Xmx
Runtime.getRuntime().freeMemory();//當前JVM空閑內存
Runtime.getRuntime().totalMemory();//當前JVM佔用的內存總數,其值相當於當前JVM已使用的內存及freeMemory()的總和
關於maxMemory(),freeMemory()和totalMemory():
maxMemory()為JVM的最大可用內存,可通過-Xmx設置,默認值為物理內存的1/4,設值不能高於計算機物理內存;
totalMemory()為當前JVM佔用的內存總數,其值相當於當前JVM已使用的內存及freeMemory()的總和,會隨著JVM使用內存的增加而增加;
freeMemory()為當前JVM空閑內存,因為JVM只有在需要內存時才佔用物理內存使用,所以freeMemory()的值一般情況下都很小,而JVM實際可用內存並不等於freeMemory(),而應該等於maxMemory()-totalMemory()+freeMemory()。及其配置JVM內存分配。
❸ 如何從命令提示符運行Java程序
cmd命令提示符有哪些?對於想學DOD系統操作的朋友來說cmd命令提示符是不可或缺的。想成為電腦高手DOS系統也是必學的,下面小編為大家帶來cmd命令提示符大全,希望對大家有所幫助。
cmd命令提示符大全:
winver---------檢查Windows版本
wmimgmt.msc----打開windows管理體系結構(WMI)
wupdmgr--------windows更新程序
wscript--------windows腳本宿主設置
write----------寫字板
winmsd---------系統信息
wiaacmgr-------掃描儀和照相機向導
winchat--------XP自帶區域網聊天
mem.exe--------顯示內存使用情況
Msconfig.exe---系統配置實用程序
mplayer2-------簡易widnows media player
mspaint--------畫圖板
mstsc----------遠程桌面連接
mplayer2-------媒體播放機
magnify--------放大鏡實用程序
mmc------------打開控制台
mobsync--------同步命令
dxdiag---------檢查DirectX信息
drwtsn32------系統醫生
devmgmt.msc---設備管理器
dfrg.msc-------磁碟碎片整理程序
diskmgmt.msc---磁碟管理實用程序
dcomcnfg-------打開系統組件服務
ddeshare-------打開DDE共享設置
dvdplay--------DVD播放器
net stop messenger-----停止信使服務
net start messenger----開始信使服務
notepad--------打開記事本
nslookup-------網路管理的工具向導
ntbackup-------系統備份和還原
narrator-------屏幕「講述人」
ntmsmgr.msc----移動存儲管理器
ntmsoprq.msc---移動存儲管理員操作請求
netstat -an----(TC)命令檢查介面
syncapp--------創建一個公文包
sysedit--------系統配置編輯器
sigverif-------文件簽名驗證程序
sndrec32-------錄音機
shrpubw--------創建共享文件夾
secpol.msc-----本地安全策略
syskey---------系統加密,一旦加密就不能解開,保護windows xp系統的雙重密碼
services.msc---本地服務設置
Sndvol32-------音量控製程序
sfc.exe--------系統文件檢查器
sfc /scannow---windows文件保護
tsshutdn-------60秒倒計時關機命令
tourstart------xp簡介(安裝完成後出現的漫遊xp程序)
taskmgr--------任務管理器
cmd命令提示符有哪些?對於想學DOD系統操作的朋友來說cmd命令提示符是不可或缺的。想成為電腦高手DOS系統也是必學的,下面綠茶小編為大家帶來cmd命令提示符大全,希望對大家有所幫助。
資料來源:厚學網 http://www.houxue.com/news/.html
對於想學習相關課程的朋友來說,可以到厚學網結合自身實際情況找一家專業的培訓機構來進行系統有效的學習,目前厚學網共計入駐了多家國學領域的知名培訓機構,這里可以讓讓客戶了解全新全面的課程信息及真實的用戶評價,讓客戶能夠更放心,省心的選擇到想學的課程。
❹ 在命令提示符中運行帶jar的java程序
可通過對 JDK 工具使用 -classpath 選項(首選方法)或設置 CLASSPATH 環境變數來設置類路徑。
C:> jdkTool -classpath path1;path2...
C:> set CLASSPATH=path1;path2...
每個 path 以文件名或目錄結尾,該文件名或目錄取決於將類路徑設置成什麼:
對於包含 .class 文件的 .zip 或 .jar 文件,路徑以 .zip 或 .jar 文件名結尾。
對於未命名包中的 .class 文件,路徑以包含 .class 文件的目錄結尾。
對於已命名包中的 .class 文件,路徑以包含「root」包(完整包名中的第一個包)的目錄結尾。
用分號來分隔多個項目。使用 set 命令時,需要省略等號兩邊的空格(=)。其中 jdkTool 可以為 java、javac、javadoc,等等。有關詳細列表,參見 JDK 開發工具。
說明
類路徑告訴 Java 應用程序去哪裡查找第三方和自定義類 -- 即不是 Java 擴展或 Java 平台一部分的類。在 JDK 1.2 中,JVM 和其他 JDK 工具通過依次搜索平台庫、庫擴展和類路徑來查找類(有關搜索策略的詳細信息,參見如何查找類)。
多數應用程序的類庫都會充分利用擴展機制。因此,只有想要載入某個類庫 (a) 未位於當前目錄或其分枝包中 且 (b) 未位於擴展機制所指定的位置時,才需設置類路徑。
如果用戶是從舊版本 JDK 升級而來,則啟動設置可能包括不再需要的 CLASSPATH 設置。這時應該刪除任何非應用程序特定的設置。有些使用 Java 虛擬機的第三方應用程序可能修改 CLASSPATH 環境變數以包括它們使用的類庫。這種設置可以保留。
可通過在調用 JVM 或其他 JDK 工具時使用 Java 工具的 -classpath 選項改變類路徑(例如: java -classpath ...)。這是改變類路徑的首選方法。還可通過使用 CLASSPATH 環境變數改變類路徑。
注意:JDK 1.2 預設類路徑是當前目錄。設置 CLASSPATH 變數或使用 -classpath 命令行開關將覆蓋預設值,因而如果想要在搜索路徑中包括當前目錄,則必須在新設置中包括「.」。
類可以存儲在目錄(文件夾)或歸檔文件(例如 classes.zip 或 classes.jar)中。有關歸檔文件的詳細信息和類路徑的工作原理,參見本文檔最後的理解類路徑和包名。
重要說明:JDK 舊版本在預設類路徑中還包括 <jdk-dir>/classes 項。該目錄僅供 JDK 使用,且不用於應用程序類。應用程序類應該放置在 JDK 外部的目錄。這樣,安裝新 JDK 時不必需要重新安裝應用程序庫。為了與舊版本的兼容性,使用 <jdk-dir>/classes 目錄作為類庫的應用程序在當前版本中仍能運行,但不能保證在以後的版本中它們還能運行。
使用 Java 工具的 -classpath 選項
Java 工具 java、jdb、javac 和 javah 具有 -classpath 選項,在工具運行時它將取代預設類路徑或由 CLASSPATH 環境變數所指定的類路徑。這是改變類路徑設置的推薦方法,因為這樣每個應用程序可具有它所需的類路徑而又不會干擾其他應用程序。
運行時工具 java 和 jdb 還具有 -cp 選項。該選項是 -classpath 的縮寫。
對於非常特殊的情況,java 和 javac 都具有開關,使得可改變它們使用的路徑以查找它們自己的類庫。但是,絕大多數用戶從來都不會用到這些開關。
使用 CLASSPATH 環境變數
如前一節中所述,一般用戶將想要使用 -classpath 命令行選項。本節將介紹如何設置 CLASSPATH 環境變數或清除以前安裝遺留下的設置。
設置 CLASSPATH
在 DOS 提示符下,可用 set 命令修改 CLASSPATH 環境變數。其格式為:
set CLASSPATH=path1;path2 ...
路徑應該以指定驅動器的字母開頭,例如 C:...。這樣,在偶然切換到不同驅動器時仍可找到類(例如,如果路徑項以 ... 開頭,並且當前位於驅動器 D: 上,則所需的類將在 D: 而不是 C: 驅動器上找)。
清除 CLASSPATH
如果 CLASSPATH 環境變數被設置成不正確的值,或啟動文件或腳本程序設置了不正確路徑,則可通過使用下列命令清除 CLASSPATH:
C:> set CLASSPATH=
該命令僅清除當前會話的 CLASSPATH。要確保在以後的會話中具有正確的 CLASSPATH 設置,則應該刪除或修改啟動設置。
更改啟動設置
如果在系統啟動時設置 CLASSPATH 變數,則查找它的位置取決於所使用的操作系統:
操作系統 方法
Windows 98 和
Windows 95 檢查 autoexec.bat 文件中的 set 命令。
Windows NT 啟動「控制面板」,選擇「系統」,單擊「環境」選項卡,並在「用戶變數」部分中,檢查 CLASSPATH 變數。
理解類路徑和包名
Java 類被組織成包,而這些包被映射到文件系統中的目錄。但是與文件系統不同的是,無論何時指定包名,都應指定完整包名 -- 永遠不要僅指定它的一部分。例如,java.awt.Button 的包名總是應指定為 java.awt。
例如,假定想要 Java 運行環境在包 utility.myapp 中查找名為 Cool.class 的類。如果該目錄的路徑為 C:javaMyClassesutilitymyapp,則應該將類路徑設置成包含 C:javaMyClasses。
要運行該應用程序,可使用下述 JVM 命令:
C:> java -classpath C:javaMyClasses utility.myapp.Cool
當該應用程序運行時,JVM 使用類路徑設置查找在 utility.myapp 包中定義的任何其他類。
注意:應在命令中指定完整包名。例如,設置類路徑包含 C:javaMyClassesutility 並使用命令 java myapp.Cool 是不可能的,因為這找不到該類。
(您可能想知道用什麼定義類的包名。答案是:包名是類的一部分,並且不能修改,除非重新編譯該類。)
注意:包規范機制一個有趣的結果是,屬於相同包的多個文件實際上可存在於不同的目錄中。對於每個類,包名都是相同的,但是每個文件的路徑可從類路徑中的不同目錄開始。
文件夾和歸檔文件
當類存儲在目錄(文件夾)中時,例如 c:javaMyClassesutilitymyapp,則類路徑項指向包含包名第一個元素的目錄(在這里為 C:javaMyClasses,因為包名是 utility.myapp)。
但是當類存儲在歸檔文件(.zip 或 .jar 文件)中時,類路徑項則是該 .zip 或 .jar 文件的路徑。例如,要使用位於 .jar 文件中的類庫,則命令應該類似下述形式:
java -classpath C:javaMyClassesmyclasses.jar utility.myapp.Cool
多重指定
要在目錄 C:javaMyClasses 和 C:javaOtherClasses 中查找類文件,則可將類路徑設置為:
java -classpath C:javaMyClasses;C:javaOtherClasses ...
注意兩個路徑之間用分號分隔。
指定次序
指定多個類路徑項的次序是相當重要的。Java 解釋器將按照目錄在類路徑變數中的次序在各個目錄中查找類。在上例中,Java 解釋器首先在目錄 C:javaMyClasses 中查找需要的類。只有當它在該目錄中沒有找到該類時,解釋器才能到 C:javaOtherClasses 目錄中查找。
❺ 怎麼用命令提示符運行java程序
這個錯誤顯然是沒有找到對應的.class文件,一般錯誤離不開這幾種
1是,字母拼寫錯了,和你生成的.class文件名稱不一致,所以找不到
2是,路徑錯了。比如你的.class生成在D盤下,可是你現在在C盤運行java命令,顯然也是找不到
3是。你沒有編譯,沒有生成對應的.class文件,重新javac編譯一下
4是你的classpath沒有配置好。一般需要.;%java_home%/lib;%java_home%/lib/tools.jar;這個classpath是從你配置的目錄去找.class文件的。
一般是先找本目錄--也就是.;所以你看一下配置有無問題
%java_home%是你對應的的安裝路徑
首先樓主你先確定你的java和javac沒有錯。
建議樓主首先用 dir 指令查看一下當前目錄下是否生成了.class。然後按上面的幾種試一下解決。
希望能幫到樓主
❻ JVM調優的常見命令行工具有哪些
JVM調優的常見命令工具包括:
1)jps命令用於查詢正在運行的JVM進程,
2)jstat可以實時顯示本地或遠程JVM進程中類裝載、內存、垃圾收集、JIT編譯等數據
3)jinfo用於查詢當前運行這的JVM屬性和參數的值。
4)jmap用於顯示當前Java堆和永久代的詳細信息
5)jhat用於分析使用jmap生成的mp文件,是JDK自帶的工具
6)jstack用於生成當前JVM的所有線程快照,線程快照是虛擬機每一條線程正在執行的方法,目的是定位線程出現長時間停頓的原因。
❼ 如何通過JVM的命令行選項
堆棧是JVM分配的,一般涉及的時候都是啟動JVM時。
eclipse可以在eclipse.ini 配置文件中設置,也可以在eclipse執行一個java類時,通過右鍵的參數添加部分去設置。
一般的像tomcat,weblogic這些web容器,都是應用jvm啟動的,所以在他們的啟動腳本中都會去調用JVM,就可以在他們的啟動腳本中設置堆棧的大小。
再就是直接通過java 命令去執行class文件的時候,應該也可以設置JVM參數,eg : java -Xms512m -Xmx1024m HelloWorld
在cmd中設置,也必須是執行java命令時,否則我覺得沒有意義。
❽ 如何設置Java虛擬機JVM啟動內存參數
-Xmx Java Heap最大值,默認值為物理內存的1/4,最佳設值應該視物理內存大小及計算機內其他內存開銷而定;
-Xms Java Heap初始值,Server端JVM最好將-Xms和-Xmx設為相同值,開發測試機JVM可以保留默認值;
-Xmn Java Heap Young區大小,不熟悉最好保留默認值;
-Xss 每個線程的Stack大小,不熟悉最好保留默認值;
2. 如何設置JVM內存分配:
(1)當在命令提示符下啟動並使用JVM時(只對當前運行的類Test生效):
java -Xmx128m -Xms64m -Xmn32m -Xss16m Test
(2)當在集成開發環境下(如eclipse)啟動並使用JVM時:
a. 在eclipse根目錄下打開eclipse.ini,默認內容為(這里設置的是運行當前開發工具的JVM內存分配)