『壹』 java虛擬機內存的設置,在windows下設置,雙擊執行jar文件時有足夠內存,不用命令行執行jar文件
我明白樓主的意思,實際上很可能是因為循環的問題導致jvm虛擬內存不夠導致的溢出。一般指定jvm運行的虛擬內存都是在諸如tomcat或者weblogic之類的中間件或者eclipse或者jboss之類的東西,但是樓主的是一個jar,我推薦這樣做,新建一個文件,命名為XX.bat,裡面寫java -jar -Xms128m -Xmx128m XX.jar,雙擊bat文件即可執行jar,如果你需要定時運行這個jar也很容易,將bat加入到計劃任務中即可。
『貳』 4g內純java可以設置多少虛擬內存
建議將初始大小和最大值同時設置為你物理內存的1-2倍,比如:4G內存先設置為4096MB(4G的1倍不夠在加,初始大小和最大值設置要一致)。
設置虛擬內存方法:右擊我的電腦/屬性/高級/性能中的設置/高級/虛擬內存中的更改/選自定義大小,在初始大小和最大值,同時設為你的物理內存的1-2倍。
如果你的內存是4G,就將初始大小和最大值同時設置為4096MB。
設置後需按「設置」按鈕,然後再按確定和應用,重新啟動電腦設置生效。
『叄』 java -jar my.jar 調大虛擬內存
1:java -Xmx1024m -jar my.jar 與 java -Xms512m -Xmx1024m -jar my.jar 有什麼區別
答復:-Xms 最小值 -Xmx 最大值
2:這個虛擬內存最高能調到多少?(2G內存的xp)
答復:1536MB
『肆』 Java 以下兩個要求 怎麼在Java中以程序的方式實現 (圍繞CORBA和IOR)
最近在看JAVANIO 的相關知識,了解一下IO的底層實現原理。
IO涉及到的底層的概念大致如下:
1) 緩沖區操作。2) 內核空間與用戶空間。3) 虛擬內存。4) 分頁技術。
一,虛擬存儲器
虛擬存儲器是硬體異常(缺頁異常)、硬體地址翻譯、主存、磁碟文件和內核軟體的完美交互,它為每個進程提供了一個大的、一致的和私有的地址空間。
虛擬存儲器的三大能力:①將主存看成是一個存儲在磁碟上的地址空間的高速緩存。②為每個進程提供了一個一致的地址空間。③保護每個進程的地址空間不被其他進程破壞。
虛擬內存的兩大好處:① 一個以上的虛擬地址可指向同一個物理內存地址。② 虛擬內存空間可大於實際可用的硬體內存。
二,用戶空間與內核空間
設虛擬地址為32位,那麼虛擬地址空間的范圍為0~4G。操作系統將這4G分為二部分,將最高的1G位元組(虛擬地址范圍為:0xC0000000-0xFFFFFFFF)供內核使用,稱為內核空間。而將較低的3G位元組供各個進程使用,稱為用戶空間。
每個進程可以通過系統調用進入內核,因為內核是由所有的進程共享的。對於每一個具體的進程,它看到的都是4G大小的虛擬地址空間,即相當於每個進程都擁有一個4G大小的虛擬地址空間。
三,IO操作
一般IO緩沖區操作:
1) 用戶進程使用read()系統調用,要求其用戶空間的緩沖區被填滿。
2) 內核向磁碟控制器硬體發命令,要求從磁碟讀入數據。
3) 磁碟控制器以DMA方式(數據不經過CPU)把數據復制到內核緩沖區。
4) 內核將數據從內核緩沖區復制到用戶進程發起read()調用時指定的用戶緩沖區。
四,JAVA中的IO,本質上是把數據移進或者移出緩沖區。
read()和write()系統調用完成的作用是:把內核緩沖區映射的物理內存空間中的數據 拷貝到 用戶緩沖區映射的物理內存空間中。
因此,當使用內存映射IO時,可視為:用戶進程直接把文件數據當作內存,也就不需要使用read()或write()系統調用了。
當發起一個read()系統調用時,根據待讀取的數據的位置生成一個虛擬地址(用戶進程使用的是虛擬地址),由MMU轉換成物理地址,若內核中沒有相應的數據,產生一個缺頁請求,內核負責頁面調入從而將數據從磁碟讀取到內核緩沖區映射的物理內存中。對用戶程序而言,這一切都是在不知不覺中進行。
總之,從根本上講數據從磁碟裝入內存是以頁為單位通過分頁技術裝入內存的。
五,JAVA NIO中的直接緩存和非直接緩存
直接緩存:不是分配於堆上的存儲,位於JVM之外,它不受JAVA的GC管理,相當於內核緩沖區。非直接緩存:建立在JAVA堆上的緩存,受JVM管理,相當於用戶緩沖區。
根據上面第三點,將直接緩存中的數據寫入通道的速度要快於非直接緩存。因為,連接到通道的另一端是文件(磁碟,FileChannel)或者網路(Socket通道),這些都是某種形式上的硬體。那麼,對於非直接緩存而言,數據從緩沖區傳遞到硬體,要經過內核緩沖區中轉。而對於直接緩存而言,就不需要了,因為直接緩存已經直接映射到內核緩沖區了。
『伍』 myeclipse 怎麼改java虛擬內存
有幾種解決方法:
1. 從Intalled JREs里修改;window->Preferences->Java->Installed JREs,選擇當前的JRE,然後edit它;在新窗口裡設置Default VM Arguments為 -Xms128M -Xmx512M即可;這個設置應該對所有的工程都有效;
2. 如果僅僅是想對某個工程的有效的話,從Debug... 或Run...里修改,在(x)=Arguments里設置和上面相同的參數即可;
3. 如果是Tomcat的話,window->Preferences->Application Servers->Tomcat->Tomcat 6.x,選擇JDK設置即可;
『陸』 一個開發java的人需要多大內存
最少是4G。
分析:
java開發需要安裝jdk、eclipse、oracle等軟體;
java運行需要tomcat 、JVM和程序的運行內存;
以上的這版些軟體基本都運行起來的權話,大概需要2G多內存,而電腦本身還需要一部分,所以最低配置也得4G,建議開發用6G或者是8G。
『柒』 運行jar文件前,我需要設置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內存分配):
-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信息。
『捌』 如何解決 用於 actionscript 3.0 編譯的 java 虛擬機內存不足
增加 Java 虛擬機的內存限制:在啟動 animate 時,使用 "-Xmx" 選項增加可用的內存量。例如,"-Xmx1024m" 表示最多可分配 1024 MB 的內存。
減小彎爛叢 Actionscript 3.0 編譯的文件大小:減小編譯文件的大小可以減少內存需求。可以考慮刪除不埋櫻必要的資源,壓縮圖像文件,或者使用更有效的圖像格式。
使用 64 位 Java 虛擬機:64 位 Java 虛擬機具有更大的可用內存,因此可以使用它來避免內存不足的問題。
拆分 Actionscript 3.0 編譯的文件:將大型的 Actionscript 3.0 編譯的文件拆分成較小的文件歷拆,可以減少單個文件所需的內存。
希望以上步驟可以幫助你解決 animate 用於 Actionscript 3.0 編譯時 Java 虛擬機內存不足的問題。