怎么回收寫好高并發的東西

Xmx4000M -Xms4000M -Xmn2000M -XX:PermSize=500M -XX:MaxPermSize=500M -Xss256K -XX:+DisableExplicitGC -XX:SurvivorRatio=1 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:+CMSClassUnloadingEnabled -XX:LargePageSizeInBytes=128M -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=80 -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+PrintClassHistogram -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC -Xloggc:log/gc.log
uj5u.com熱心網友回復:
GC是垃圾收集的意思,記憶體處理是編程人員容易出現問題的地方,忘記或者錯誤的記憶體回識訓導致程式或系統的不穩定甚至崩潰,Java提供的GC功能可以自動監測物件是否超過作用域從而達到自動回收記憶體的目的,Java語言沒有提供釋放已分配記憶體的顯示操作方法。 Java程式員不用擔心記憶體管理,因為垃圾收集器會自動進行管理。要請求垃圾收集,可以呼叫下面的方法之一:System.gc() 或Runtime.getRuntime().gc() ,但JVM可以屏蔽掉顯示的垃圾回收呼叫。 垃圾回收可以有效的防止記憶體泄露,有效的使用可以使用的記憶體。垃圾回收器通常是作為一個單獨的低優先級的執行緒運行,不可預知的情況下對記憶體堆中已經死亡的或者長時間沒有使用的物件進行清除和回收,程式員不能實時的呼叫垃圾回收器對某個物件或所有物件進行垃圾回收。 在Java誕生初期,垃圾回收是Java最大的亮點之一,因為服務器端的編程需要有效的防止記憶體泄露問題,然而時過境遷,如今Java的垃圾回識訓制已經成為被詬病的東西。移動智能終端用戶通常覺得iOS的系統比Android系統有更好的用戶體驗,其中一個深層次的原因就在于Android系統中垃圾回收的不可預知性。補充:垃圾回識訓制有很多種,包括:分代復制垃圾回收、標記垃圾回收、增量垃圾回收等方式。標準的Java行程既有堆疊又有堆。堆疊保存了原始型區域變數,堆保存了要創建的物件。Java平臺對堆記憶體回收和再利用的基本演算法被稱為標記和清除,但是Java對其進行了改進,采用“分代式垃圾收集”。這種方法會跟Java物件的生命周期將堆記憶體劃分為不同的區域,在垃圾收集程序中,可能會將物件移動到不同區域:
伊甸園(Eden):這是物件最初誕生的區域,并且對大多數物件來說,這里是它們唯一存在過的區域。
幸存者樂園(Survivor):從伊甸園幸存下來的物件會被挪到這里。
終身頤養園(Tenured):這是足夠老的幸存物件的歸宿。年輕代收集(Minor-GC)程序是不會觸及這個地方的。當年輕代收集不能把物件放進終身頤養園時,就會觸發一次完全收集(Major-GC),這里可能還會牽扯到壓縮,以便為大物件騰出足夠的空間。
與垃圾回收相關的JVM引數:
-Xms / -Xmx — 堆的初始大小 / 堆的最大大小
-Xmn — 堆中年輕代的大小
-XX:-DisableExplicitGC — 讓System.gc()不產生任何作用
-XX:+PrintGCDetails — 列印GC的細節
-XX:+PrintGCDateStamps — 列印GC操作的時間戳
-XX:NewSize / XX:MaxNewSize — 設定新生代大小/新生代最大大小
-XX:NewRatio — 可以設定老生代和新生代的比例
-XX:PrintTenuringDistribution — 設定每次新生代GC后輸出幸存者樂園中物件年齡的分布
-XX:InitialTenuringThreshold / -XX:MaxTenuringThreshold:設定老年代閥值的初始值和最大值
-XX:TargetSurvivorRatio:設定幸存區的目標使用率
uj5u.com熱心網友回復:
建議你有具體的問題在來問。這樣的提問無非是別人把網路上的文章粘貼一遍給你看,你還不如自己去搜索。uj5u.com熱心網友回復:
同上,你要有自己的理解,懂自己的想明白什么,再自己的研究上別人可以給與見解,直接問與百度毫無差別加油~
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/41390.html
標籤:Java SE
上一篇:Java基礎
下一篇:Java解構式
