java啟動參數
① javaWeb程序啟動時怎麼獲取或設置系統參數
方法都是想出來的,介紹一種, 可以把要在啟動時運行的放在一個單獨的Servlet的init()方法中 在web.xml中配置這個servlet的load-on-startup 屬性值大於等於0就行了,如果小於0或不設置則是在訪問此servlet時才載入 至於設置為幾如果要優先其他執行那就設置的低些,相反就設置高些 程序啟動時會根據load-on-startup的值由低到高順序載入
② 啟動JAVA程序時,參數-Xms及Xmx有什麼用
-Xms是用來設置你的應用程序能夠使用的最大內存數,如果程序要花很大內存的話,那就需要修改增加此數的值。
Xms是用它來設置程序初始化的時候內存棧的大小,增加這個值的話你的程序的啟動性能會得到提高。
所以根據程序的大小,還有電腦的實際配置,來進行這兩個的參數配置即可,參數的單位都是m(兆)。
Java簡介
Java是一種可以撰寫跨平台應用軟體的面向對象的程序設計語言。Java 技術具有卓越的通用性、高效性、平台移植性和安全性,廣泛應用於PC、數據中心、游戲控制台、科學超級計算機、行動電話和互聯網,同時擁有全球最大的開發者專業社群。
主要組成
Java由四方面組成:
●Java編程語言,即語法。
●Java文件格式,即各種文件夾、文件的後綴。
●Java虛擬機(JVM),即處理*.class文件的解釋器。
●Java應用程序介面(Java API)。
體系
Java分為三個體系,分別為:
Java SE(J2SE,Java2 Platform Standard Edition,標准版),
JavaEE(J2EE,Java 2 Platform, Enterprise Edition,企業版),
Java ME(J2ME,Java 2 Platform Micro Edition,微型版)。
③ linux 如何查看java啟動參數
public static void main(String args[]){
//args 就是命令行參數
}
環境參數
System
static Map<String,String>
getenv()
Returns an unmodifiable string map view of the current system environment.
static Properties
getProperties()
Determines the current system properties.
④ 怎麼給JVM加啟動參數
有時候程序會碰到java.lang.OutOfMemoryError,這個主要是JVM啟動參數沒有配好引起的,打開eclipse的eclipse.ini會看到如下參數:
-vmargs
-Xms128M
-Xmx512M
-XX:PermSize=64M
-XX:MaxPermSize=128M
-vmargs:用來說明後面的就是JVM的參數了
-Xms:JVM初始分配的堆內存
-Xmx:JVM最大允許分配的堆內存,按需分配
-XX:PermSize:JVM初始分配的非堆內存
-XX:MaxPermSize:JVM最大允許分配的非堆內存,按需分配
⑤ 如何修改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啟動參數重復時,是前面的參數生效還是後面的生效
Java的參數實際上是傳給main的字元串數組的,所以所有參數都會生效,相當於這個數組含有如下內容。
至於程序要使用哪些參數就不知道了。如果使用的是後面的前面的就沒用。
jvm的參數里應該是後面的參數生效,因為後面的參數會覆蓋前面的參數。
⑦ java main函數怎麼設置參數
如果用抄命令的方式運襲行java程序,在運行命令後面添加參數值即可,例如:
普通java運行命令:java helloworld
加參數運行命令:java helloworld 張三
普通java運行命令:java -jar test.jar
加參數運行命令:java -jar test.jar 張三
張三就是第一個參數,第二個參數依次掛在後面即可,在mian函數的args參數中可以獲取到的。
如果是eclipse這樣的開發環境,應該可以找到配置程序啟動參數的地方。例如:
elipse配置方式為:Run As-->Run Configurations->Arguments->Program arguments 中輸入 參數值即可,空格隔開。
其他開發工具類似。