欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Java垃圾回收的過程是怎樣的

本篇內(nèi)容介紹了“Java垃圾回收的過程是怎樣的”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

員工經(jīng)過長期磨合與沉淀,具備了協(xié)作精神,得以通過團隊的力量開發(fā)出優(yōu)質(zhì)的產(chǎn)品。創(chuàng)新互聯(lián)堅持“專注、創(chuàng)新、易用”的產(chǎn)品理念,因為“專注所以專業(yè)、創(chuàng)新互聯(lián)網(wǎng)站所以易用所以簡單”。公司專注于為企業(yè)提供做網(wǎng)站、網(wǎng)站建設、微信公眾號開發(fā)、電商網(wǎng)站開發(fā),小程序開發(fā),軟件定制網(wǎng)站等一站式互聯(lián)網(wǎng)企業(yè)服務。

Java語言中一個顯著的特點就是引入了垃圾回收機制,這個大家都清楚,垃圾回收的概念這里也不做介紹,重點是垃圾回收是在什么時候開始?對什么東西,做了什么事情?

GC何時開始:

所有的回收器類型都是基于分代技術(shù)來實現(xiàn)的,那就必須要清楚對象按其生命周期是如何劃分的。

  • 年輕代:劃分為三個區(qū)域:原始區(qū)(Eden)和兩個小的存活區(qū)(Survivor),兩個存活區(qū)按功能分為From和To。絕大多數(shù)的對象都在原始區(qū)分配,超過一個垃圾回收操作仍然存活的對象放到存活區(qū)。垃圾回收絕大部分發(fā)生在年輕代。

  • 年老代:存儲年輕代中經(jīng)過多個回收周期仍然存活的對象,對于一些大的內(nèi)存分配,也可能直接分配到永久代。

  • 持久代:存儲類、方法以及它們的描述信息,這里基本不產(chǎn)生垃圾回收。

有了以上這些鋪墊之后開始回答GC何時開始:

Eden內(nèi)存滿了之后,開始Minor GC(從年輕代空間回收內(nèi)存被稱為 Minor GC);升到老年代的對象所需空間大于老年代剩余空間時開始Full GC(但也可能小于剩余空間時,被HandlePromotionFailure參數(shù)強制Full GC)

對什么東西操作,即垃圾回收的對象是什么:

從root開始搜索沒有可達對象,而且經(jīng)過第一次標記、清理后,仍然沒有復活的對象。 

做了什么東西:

主要做了清理對象,整理內(nèi)存的工作。具體的引申如下

垃圾回收器的類型:

  • 串行垃圾回收器(Serial Garbage Collector)

  • 并行垃圾回收器(Parallel Garbage Collector)

  • 并發(fā)標記掃描垃圾回收器(CMS Garbage Collector)

  • G1垃圾回收器(G1 Garbage Collector)

垃圾回收算法:

  • 引用計數(shù)法

  • 標記清除法

  • 復制算法

  • 標記壓縮算法

  • 分代算法

  • 分區(qū)算法

以上這些,可以自己了解一下,這里列舉幾篇相關(guān)文章:

JVM的內(nèi)存區(qū)域劃分

JVM知識點梳理

JVM內(nèi)存分配與回收

JVM內(nèi)存管理機制

Java虛擬機學習 - 垃圾收集器

類在虛擬機中的加載過程

加載Loading:

通過一個類的全限定名來獲取一個二進制字節(jié)流、將這個字節(jié)流所代表的靜態(tài)存儲結(jié)構(gòu)轉(zhuǎn)化為方法區(qū)的運行時數(shù)據(jù)結(jié)構(gòu)、在內(nèi)存中生成一個代表這個類的java.lang.Class對象,作為方法區(qū)這個類的各種數(shù)據(jù)的訪問入口。

驗證Verification:

確保Class文件的字節(jié)流中包含的信息符合當前虛擬機的要求,并不會危害虛擬機的自身安全。

準備Preparation:

正式為類變量分配內(nèi)存并設置類變量初始值。

解析Resolution:

虛擬機將常量池內(nèi)的符號引用替換為直接引用的過程。

初始化Initialization:

類加載過程的最后一步,到了這個階段才真正開始執(zhí)行類中定義的Java程序代碼。

使用Using:

根據(jù)你寫的程序代碼定義的行為執(zhí)行。

卸載Unloading:

GC負責卸載,這部分一般不用討論。

以上這些拋磚引玉,歡迎留言更清晰的類加載過程,相關(guān)文章可以閱讀:

類加載器詳解

詳解java類的生命周期

談談我對面向?qū)ο笠约邦惻c對象的理解

強引用、軟引用、弱引用、虛引用與GC的關(guān)系

強引用:new出的對象之類的引用,只要強引用還在,永遠不會回收。

軟引用:引用但非必須的對象,內(nèi)存溢出異常之前回收。 

弱引用:非必須的對象,對象只能生存到下一次垃圾收集發(fā)生之前。 

虛引用:對生存時間無影響,在垃圾回收時得到通知。

“Java垃圾回收的過程是怎樣的”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

分享標題:Java垃圾回收的過程是怎樣的
文章地址:http://aaarwkj.com/article42/jesihc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、Google、網(wǎng)站設計公司、全網(wǎng)營銷推廣、用戶體驗、品牌網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
精品av一区二区在线| 国产不卡的视频在线观看| 亚洲av乱码一区二区三区观影| 亚洲综合色一区二区三区四区| 2022国产精品一区| 成人免费大片在线观看视频| 国产亚洲精品麻豆一区二区| 丝袜美腿蜜汁一龙二凤| 国产精品三级玖玖玖电影| 亚洲欧美日韩国产精品专区| 国产亚洲一区二区三区av| 日本大胆高清人体艺术| 国产中文字幕自拍视频| 白小白的视频在线观看| 国产在线91精品入口| 一区二区亚洲欧美精品| 久久精品国产成人综合| 国产成人三级在线影院| 欧美成人黄色免费在线网站| 国产成人久久精品二区三区| 国产精品呻吟久久人妻| 国产精品久久久久精品三级下载| 丰满人妻被黑人猛烈进入免费| 久国产精品一区国产精品| 成年人性生活一级视品| 射精视频在线观看免费| 乱码人妻精品一区二区三区| 久久精品中文字幕有码日本道| 久久精品国产一区电影| 久久精品国产精油按摩| 日本理论午夜三级在线观看| av毛片高清在线观看| 天天日天天天干夜夜操| 国产成人一区二区三区影| 97视频精品在线播放| 日韩人妖视频在线观看| 日本一区二区中文字幕在线| 九九在线视频免费观看精品视频| 欧美视频在线观看香蕉| 日韩看片一区二区三区高清| 91人妻一区二区三区久久|