1. gzyueqian
      13352868059

      Java培訓:Java中垃圾收集的最佳做法

      更新時間: 2022-11-02 12:01:32來源: 粵嵌教育瀏覽量:8360

        垃圾收集使Java內(nèi)存變得高效,因為它從堆內(nèi)存中移除未引用的對象,并為新對象騰出空間。那么在垃圾收集的過程中,我們應該怎么做才能更系統(tǒng)更高效的運行呢?想學習Java中垃圾收集的技巧和方法,不妨報名參加java培訓,在專業(yè)老師和系統(tǒng)課程的指導教學下,可以快速提升自己。

        避免手動觸發(fā)

        除了垃圾收集的基本機制之外,要了解Java中垃圾收集的最重要的一點是它是不確定性的。這意味著無法預測垃圾收集在運行時何時發(fā)生。

        可以在代碼中包含一個提示,用System.gc()或者Runtime.gc()方法,但它們不能保證垃圾收集器實際運行。

        使用工具進行分析

        如果你沒有足夠的內(nèi)存來運行你的應用程序,你將會遇到速度變慢、長時間的垃圾收集、“stop the world”事件,并最終出現(xiàn)內(nèi)存不足的錯誤。這可能表明你的堆太小,但也可能意味著你的應用程序中存在內(nèi)存泄漏。

        你可以從監(jiān)控工具中獲得幫助,如jstat或者Java飛行記錄器查看堆使用量是否無限增長,這可能表明你的代碼中存在錯誤。如果你也對垃圾回收感興趣,不妨報個java培訓班,有專業(yè)講師面授指導教學,還有更加系統(tǒng)全面的課程,讓學習更科學,更有效。

        默認設置是好的

        如果你正在運行一個小型的獨立Java應用程序,你很可能不需要任何類型的垃圾收集調(diào)優(yōu)。默認設置應該就可以了。

        使用JVM標志進行調(diào)優(yōu)

        調(diào)優(yōu)Java垃圾收集的最佳方法是在JVM上設置標志。標志可以調(diào)整要使用的垃圾收集器(例如串行、G1等等)、堆的初始和最大大小、堆段的大小(例如年輕代、老代)等等。

        選擇正確的收集器

        被調(diào)優(yōu)的應用程序的性質是設置的良好初始指南。例如,并行垃圾收集器是高效的,但會頻繁地導致“停止世界”事件,這使它更適合后端處理,在后端處理中,長時間的垃圾收集暫停是可以接受的。

        另一方面,CMS垃圾收集器旨在最大限度地減少暫停,使其成為基于web的應用程序的理想選擇,在這些應用程序中,響應性是非常重要的。在java培訓學習中,既有理論知識課程,又有實訓項目操作課程,讓你學以致用,真正掌握有用的技能。

        

        如何選擇正確的垃圾收集器

        如果你的應用程序沒有嚴格的暫停時間要求,你應該運行你的應用程序并允許JVM選擇正確的收集器。

        大多數(shù)時候,默認設置應該就可以了。如有必要,你可以調(diào)整堆大小以提高性能。如果性能仍然不能滿足你的目標,你可以根據(jù)你的應用要求修改收集器:

        l 串行—如果應用程序具有較小的數(shù)據(jù)集(最多約100 MB)和/或將在無暫停時間要求的單個處理器上運行

        l 并行—如果應用程序性能達到峰值,并且沒有暫停時間要求或暫停一秒或更長時間是可以接受的

        l CMS/G1—如果響應時間比總吞吐量更重要,垃圾收集暫停時間必須保持在大約1秒以內(nèi)

        l ZGC—如果響應時間是高優(yōu)先級的,和/或你使用的是非常大的堆

        結論

        對于許多簡單的應用程序來說,Java垃圾收集不是程序員需要有意識地考慮的事情。然而,對于想要提高Java技能的程序員來說,參加java培訓理解Java垃圾收集是如何工作的非常重要。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 亚洲免费国产2020 | 亚洲精品熟女国产老熟女 | 午夜福利国产在线观看 | 羞羞视频在线观看网页 | 亚洲成AV人综合在线观看 | 亚洲欧美偷拍五月天 |