@OverWrite BlogJava

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            128 隨筆 :: 0 文章 :: 29 評論 :: 0 Trackbacks

          -Xms<size>

          設置虛擬機可用內存堆的初始大小,缺省單位為字節,該大小為1024的整數倍并且要大于1MB,可用k(K)m(M)為單位來設置較大的內存數。初始堆大小為2MB。

          例如:-Xms6400K,-Xms256M



          -Xmx<size>

          設置虛擬機內存堆的最大可用大小,缺省單位為字節。該值必須為1024整數倍,并且要大于2MB??捎?font face="Times New Roman, serif">k(K)m(M)為單位來設置較大的內存數。缺省堆最大值為64MB。

          例如:-Xmx81920K,-Xmx80M

          當應用程序申請了大內存運行時虛擬機拋出java.lang.OutOfMemoryError: Java heap space錯誤,就需要使用-Xmx設置較大的可用內存堆。


          -Xss<size>

          設置線程棧的大小,缺省單位為字節。與-Xmx類似,也可用KM來設置較大的值。通常操作系統分配給線程棧的缺省大小為1MB

          另外也可在java中創建線程對象時設置棧的大小,構造函數原型為Thread(ThreadGroup group, Runnable target, String name, long stackSize)。


          -client-server

          這兩個參數用于設置虛擬機使用何種運行模式,client模式啟動比較快,但運行時性能和內存管理效率不如server模式,通常用于客戶端應用程序。相反,server模式啟動比client慢,但可獲得更高的運行性能。

          windows上,缺省的虛擬機類型為client模式,如果要使用server模式,就需要在啟動虛擬機時加-server參數,以獲得更高性能,對服務器端應用,推薦采用server模式,尤其是多個CPU的系統。在LinuxSolaris上缺省采用server模式。


          -classpath,-cp

          虛擬機在運行一個類時,需要將其裝入內存,虛擬機搜索類的方式和順序如下:

          Bootstrap classes,Extension classes,User classes

          Bootstrap 中的路徑是虛擬機自帶的jarzip文件,虛擬機首先搜索這些包文件,用System.getProperty("sun.boot.class.path")可得到虛擬機搜索的包名。


          Extension是位于jre\lib\ext目錄下的jar文件,虛擬機在搜索完Bootstrap后就搜索該目錄下的jar文件。用System. getProperty("java.ext.dirs”)可得到虛擬機使用Extension搜索路徑。

          User classes搜索順序為當前目錄、環境變量 CLASSPATH-classpath。

          -classpath告知虛擬機搜索目錄名、jar文檔名、zip文檔名,之間用分號;分隔。

          例如當你自己開發了公共類并包裝成一個common.jar包,在使用common.jar中的類時,就需要用-classpath common.jar 告訴虛擬機從common.jar中查找該類,否則虛擬機就會拋出java.lang.NoClassDefFoundError異常,表明未找到類定義。

          在運行時可用System.getProperty(“java.class.path”)得到虛擬機查找類的路徑。


          使用-classpath后虛擬機將不再使用CLASSPATH中的類搜索路徑,如果-classpathCLASSPATH都沒有設置,則虛擬機使用當前路徑(.)作為類搜索路徑。


          推薦使用-classpath來定義虛擬機要搜索的類路徑,而不要使用環境變量CLASSPATH的搜索路徑,以減少多個項目同時使用CLASSPATH時存在的潛在沖突。例如應用1要使用a1.0.jar中的類G,應用2要使用a2.0.jar中的類G,a2.0.jara1.0.jar的升級包,當a1.0.jara2.0.jar都在CLASSPATH中,虛擬機搜索到第一個包中的類G時就停止搜索,如果應用1應用2的虛擬機都從CLASSPATH中搜索,就會有一個應用得不到正確版本的類G。

          posted on 2008-03-05 16:39 vesung 閱讀(1668) 評論(0)  編輯  收藏 所屬分類: Java
          主站蜘蛛池模板: 鹿邑县| 江口县| 武安市| 晋州市| 汝阳县| 南川市| 安西县| 徐水县| 甘德县| 双牌县| 阿拉善右旗| 美姑县| 祁阳县| 滁州市| 新绛县| 余庆县| 樟树市| 裕民县| 咸丰县| 商南县| 临泉县| 梁山县| 黎城县| 梓潼县| 高阳县| 鹤峰县| 富平县| 轮台县| 汤原县| 博兴县| 崇州市| 鹤峰县| 阳江市| 鄂州市| 贞丰县| 舞阳县| 上饶市| 新巴尔虎右旗| 沁阳市| 乐清市| 武川县|