小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Java分享JVM從哪方面入手學(xué)習(xí)

 好程序員IT 2019-09-19

  Java分享JVM從哪方面入手學(xué)習(xí),無(wú)論什么級(jí)別的Java從業(yè)者,JVM都是進(jìn)階時(shí)必須邁過(guò)的坎。不管是工作還是面試中,JVM都是必考題。如果不懂JVM的話,薪酬會(huì)非常吃虧。掌握了JVM機(jī)制,就等于學(xué)會(huì)了深層次解決問(wèn)題的方法。對(duì)于Java開(kāi)發(fā)者而言,只有熟悉底層虛擬機(jī)的運(yùn)行機(jī)制,才能通過(guò)JVM日志深入到字節(jié)碼的層次去分析排查問(wèn)題,發(fā)現(xiàn)隱性的系統(tǒng)缺陷,進(jìn)而提升系統(tǒng)性能。

  一些技術(shù)人員開(kāi)發(fā)工具用得很熟練,觸及JVM問(wèn)題時(shí)卻是模棱兩可,甚至連內(nèi)存模型和內(nèi)存區(qū)域,HotSpot和JVM規(guī)范,都混淆不清。工作很長(zhǎng)時(shí)間,在生產(chǎn)時(shí)還在用缺省參數(shù)來(lái)直接啟動(dòng),以致系統(tǒng)運(yùn)行時(shí)出現(xiàn)性能、穩(wěn)定性等問(wèn)題時(shí)束手無(wú)措,不知該如何追蹤排查。久而久之,這對(duì)自己的職業(yè)成長(zhǎng)是極為不利的.

  學(xué)習(xí)JVM首先需要了解Java的運(yùn)行時(shí)數(shù)據(jù)區(qū)域,Java的數(shù)據(jù)區(qū)域包括程序記錄器,Java

  虛擬機(jī)棧,本地方法棧,堆,方法區(qū),運(yùn)行時(shí)常量池和直接內(nèi)存.在這些內(nèi)存區(qū)域內(nèi),最為重要的是方法棧和堆內(nèi)存。

  其次需要了解到對(duì)象的構(gòu)建過(guò)程,對(duì)象的內(nèi)存布局,內(nèi)存的布局包括三塊區(qū)域——對(duì)象頭、實(shí)例數(shù)據(jù)和對(duì)其填充。更為重要的是關(guān)于對(duì)象創(chuàng)建后的訪問(wèn)方式,包含句柄和直接指針的方式。在這里句柄的訪問(wèn)方式最為重要,句柄的最大好處是 reference 中存儲(chǔ)的是穩(wěn)定的句柄地址,在對(duì)象移動(dòng)(GC)是只改變實(shí)例數(shù)據(jù)指針地址,reference 自身不需要修改。直接指針訪問(wèn)的最大好處是速度快,節(jié)省了一次指針定位的時(shí)間開(kāi)銷(xiāo)。如果是對(duì)象頻繁 GC 那么句柄方法好,如果是對(duì)象頻繁訪問(wèn)則直接指針訪問(wèn)好。

  最后需要了解到JVM的垃圾回收機(jī)制和內(nèi)存分配機(jī)制,需要了解到引用計(jì)數(shù)法,可達(dá)性分析法,這兩種方法是配合使用的,引用計(jì)數(shù)計(jì)算對(duì)象的引用次數(shù),而可達(dá)性分析法會(huì)分析對(duì)象的訪問(wèn)情況。在垃圾回收中,需要針對(duì)每一代的算法進(jìn)行了解,涉及到新生代的標(biāo)記-清除算法,老年代的標(biāo)記整理算法,以及分代算法。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多