a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 學院 > 操作系統 > 正文

Java 減少GC開銷的幾個措施

2024-06-28 16:02:54
字體:
來源:轉載
供稿:網友

具體措施包括以下幾個方面:

  (1) 不要顯式調用System.gc()   此函數建議JVM進行主GC,雖然只是建議而非一定,但很多情況下它會觸發主GC,從而增加主GC的頻率,也即增加了間歇性停頓的次數。      (2) 盡量減少臨時對象的使用   臨時對象在跳出函數調用后,會成為垃圾,少用臨時變量就相當于減少了垃圾的產生,從而延長了出現上述第二個觸發條件出現的時間,減少了主GC的機會。

  (3) 對象不用時最好顯式置為Null

  (4) 盡量使用StringBuffer,而不用String來累加字符串   由于String是固定長的字符串對象,累加String對象時,并非在一個String對象中擴增,而是重新創建新的String對象,如Str5=Str1+Str2+Str3+Str4,這條語句執行過程中會產生多個垃圾對象,因為對次作“+”操作時都必須創建新的String對象,但這些過渡對象對系統來說是沒有實際意義的,只會增加更多的垃圾。避免這種情況可以改用StringBuffer來累加字符串,因StringBuffer是可變長的,它在原有基礎上進行擴增,不會產生中間對象。      (5) 能用基本類型如Int,Long,就不用Integer,Long對象

  (6 ) 盡量少用靜態對象變量   靜態變量屬于全局變量,不會被GC回收,它們會一直占用內存。      (7) 分散對象創建或刪除的時間   集中在短時間內大量創建新對象,特別是大對象,會導致突然需要大量內存,JVM在面臨這種情況時,只能進行主GC,以回收內存或整合內存碎片,從而增加主GC的頻率。集中刪除對象,道理也是一樣的。它使得突然出現了大量的垃圾對象,空閑空間必然減少,從而大大增加了下一次創建新對象時強制主GC的機會。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: www.久久99| 欧美日韩精品久久久久 | 久久com| 成人免费视频观看视频 | 国产精品一区一区三区 | 成人免费视频网站在线观看 | 中文字幕一区二区三区精彩视频 | 成人免费视频网站在线观看 | 精品欧美乱码久久久久久 | 欧美久久视频 | 久草 在线| 久久综合伊人77777 | 色av色av色av| 日本黄色a级 | 亚洲黄色毛片 | 色综合色综合网色综合 | 日韩超碰 | 国产人成免费视频 | 亚洲黄色毛片 | 成人av免费在线 | 国产伦精品一区二区三区电影 | 青草精品| 国产馆一区二区 | 国产婷婷精品av在线 | 在线观看成人精品 | 日本精品二区 | 日韩视频免费在线 | 亚洲精品www | 欧美日韩在线精品 | 精品欧美一区二区三区 | 精品成人| 亚洲97色| 日韩中文字幕国产 | 中文字幕在线第一页 | 精品久久久久久久久久久久 | 91国内精品久久 | 日韩国产在线 | 成人在线免费电影 | 亚洲高清视频一区二区三区 | www.欧美.com| 久久亚洲一区二区三区成人国产 |