中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

wordpress采集網(wǎng)頁(yè)文章安卓?jī)?yōu)化大師app下載

wordpress采集網(wǎng)頁(yè)文章,安卓?jī)?yōu)化大師app下載,浠水網(wǎng)站建設(shè),標(biāo)題優(yōu)化seo目錄 Java對(duì)象內(nèi)存布局markWord 數(shù)據(jù)結(jié)構(gòu)JDK1.8 JVM 內(nèi)存結(jié)構(gòu)JDK1.8堆內(nèi)存結(jié)構(gòu)GC垃圾回收如何發(fā)現(xiàn)垃圾如何回收垃圾 JVM調(diào)優(yōu)參數(shù) Java對(duì)象內(nèi)存布局 markWord 數(shù)據(jù)結(jié)構(gòu) JDK1.8 JVM 內(nèi)存結(jié)構(gòu) 程序計(jì)數(shù)器: 線程私有,記錄代碼執(zhí)行的位置. Java虛擬機(jī)棧: 線程私有&#…

目錄

  • Java對(duì)象內(nèi)存布局
  • markWord 數(shù)據(jù)結(jié)構(gòu)
  • JDK1.8 JVM 內(nèi)存結(jié)構(gòu)
  • JDK1.8堆內(nèi)存結(jié)構(gòu)
  • GC垃圾回收
    • 如何發(fā)現(xiàn)垃圾
    • 如何回收垃圾
  • JVM調(diào)優(yōu)參數(shù)

Java對(duì)象內(nèi)存布局

Java對(duì)象內(nèi)存布局

markWord 數(shù)據(jù)結(jié)構(gòu)

markWord數(shù)據(jù)結(jié)構(gòu)

JDK1.8 JVM 內(nèi)存結(jié)構(gòu)

JVM內(nèi)存模型
在這里插入圖片描述

  • 程序計(jì)數(shù)器:
    線程私有,記錄代碼執(zhí)行的位置.

  • Java虛擬機(jī)棧:
    線程私有,每個(gè)線程都有一個(gè)自己的Java虛擬機(jī)棧 ,默認(rèn)大小是1M

  • 本地方法棧:
    線程私有,每個(gè)線程都有一個(gè)自己的本地方法棧,Java虛擬機(jī)棧加載的是普通方法,本地方法加載的是native修飾的方法.

    native:表示這個(gè)方法不是java原生的,是由C或C++實(shí)現(xiàn)的

  • :
    線程共享用于存放對(duì)象,new的對(duì)象都存儲(chǔ)在這個(gè)區(qū)域

  • 元空間:
    線程共享,存儲(chǔ)class信息,類(lèi)的信息,方法的定義,靜態(tài)變量常量池

  • 堆和元空間是線程共享的,在Java虛擬機(jī)中只有一個(gè)堆、一個(gè)元空間,并在JVM啟動(dòng)的時(shí)候就創(chuàng)建,JVM停止才銷(xiāo)毀。
  • 棧、本地方法棧、程序計(jì)數(shù)器是每個(gè)線程私有的,隨著線程的創(chuàng)建而創(chuàng)建,隨著線程的結(jié)束而死亡。

每個(gè)存儲(chǔ)位置會(huì)產(chǎn)生的異常
每個(gè)位置可能會(huì)產(chǎn)生的錯(cuò)誤

JDK1.8堆內(nèi)存結(jié)構(gòu)

堆內(nèi)存結(jié)構(gòu)

  • 年輕代:Eden+S0+S1, S0和S1大小相等, 新創(chuàng)建的對(duì)象都在年輕代
  • 老年代:經(jīng)過(guò)年輕代 多次垃圾回收存活下來(lái)的對(duì)象存在年老代中.

GC垃圾回收


JVM的垃圾回收動(dòng)作可以大致分為兩大步:

  1. 如何發(fā)現(xiàn)垃圾
  2. 如何回收垃圾

線程私有的不存在垃圾回收,只有線程共享的才會(huì)存在垃圾回收,所以堆中存在垃圾回收.

如何發(fā)現(xiàn)垃圾


常見(jiàn)的用于「發(fā)現(xiàn)垃圾」的算法有兩種,引用計(jì)數(shù)算法根搜索算法。

  1. 引用計(jì)數(shù)算法
    堆中的對(duì)象每被引用一次,則計(jì)數(shù)器加1,每減少一個(gè)引用就減1,當(dāng)對(duì)象的引用計(jì)數(shù)器為0時(shí)可以被當(dāng)作垃圾收集。

    • 優(yōu)點(diǎn):快。
    • 缺點(diǎn):無(wú)法檢測(cè)出循環(huán)引用。如兩個(gè)對(duì)象互相引用時(shí),他們的引用計(jì)數(shù)永遠(yuǎn)不可能為0。
  2. 根搜索算法(也叫根可達(dá)性分析)
    根搜索算法是把所有的引用關(guān)系 看作一張圖,從根節(jié)點(diǎn)(GCRoot)開(kāi)始遍歷,找出被根節(jié)點(diǎn)引用的節(jié)點(diǎn),對(duì)于沒(méi)有被根節(jié)點(diǎn)指向的節(jié)點(diǎn),即可以當(dāng)作垃圾。

    • Java中可作為GCRoot的對(duì)象有:
      1. java虛擬機(jī)棧中引用的對(duì)象
      2. 本地方法棧引用的對(duì)象
      3. 元空間中靜態(tài)屬性引用的對(duì)象
      4. 元空間中常量引用的對(duì)象

如何回收垃圾


Java中用于「回收垃圾」的常見(jiàn)算法有4種:

  1. 標(biāo)記-清除算法(markandsweep)
    首先標(biāo)記出所有需要回收的對(duì)象,在標(biāo)記完成之后統(tǒng)一回收掉所有被標(biāo)記的對(duì)象。

    缺點(diǎn): 標(biāo)記清除之后會(huì)產(chǎn)生大量的不連續(xù)的內(nèi)存碎片

  2. 標(biāo)記-整理算法
    首先標(biāo)記出所有需要回收的對(duì)象,讓所有存活的對(duì)象移動(dòng)到另一個(gè)位置,在移動(dòng)過(guò)程中清理掉可回收的對(duì)象,這個(gè)過(guò)程叫做整理。

    優(yōu)點(diǎn):內(nèi)存被整理后不會(huì)產(chǎn)生大量不連續(xù)內(nèi)存碎片
    缺點(diǎn):耗時(shí)耗力

  3. 復(fù)制算法(copying)
    將空間分成大小相等的兩塊,每次只使用其中一塊,當(dāng)這塊內(nèi)存使用完了,就將存活的對(duì)象復(fù)制到另一塊內(nèi)存上去,然后把使用過(guò)的內(nèi)存空間一次清理掉。

    缺點(diǎn):可使用的內(nèi)存只有原來(lái)一半。在某一個(gè)時(shí)刻點(diǎn),總有一個(gè) S 是空的,可能是S0 也可能是S1.。

  4. 分代收集算法(generation)
    當(dāng)前主流JVM都采用分代收集(GenerationalCollection)算法,這種算法會(huì)根據(jù)對(duì)象存活周期的不同將內(nèi)存劃分為年輕代、年老代,不同生命周期的對(duì)象可以采取不同 的回收算法,以便提高回收效率。

    • 年輕代(YoungGeneration)

      1. 所有新生成的對(duì)象首先都是放在年輕代的。
      2. 新生代內(nèi)存按照8:1:1的比例分為一個(gè)eden區(qū)和兩個(gè)Survivor(s0,s1)區(qū)。大部分對(duì)象在Eden區(qū)中生成。

      回收流程:
      回收時(shí)先將eden區(qū)存活的對(duì)象復(fù)制到一個(gè)s0區(qū),然后清空eden區(qū),當(dāng)這個(gè)s區(qū),也存放滿了時(shí),則將eden區(qū)和s0區(qū)存活對(duì)象復(fù)制到另一個(gè)s1區(qū),然后清空eden和這個(gè)s0區(qū),此時(shí)s0區(qū)是空的,然后將s0區(qū)和s1區(qū)交換,即保持s1區(qū)為空,如此往復(fù).

      1. 特殊情況:當(dāng)一個(gè)大對(duì)象不足于存放到eden區(qū)時(shí),就將存活對(duì)象直接存放到老年代。若是老年代也滿了就會(huì)觸發(fā)一次FullGC,也就是新生代、老年代都進(jìn)行回收。

      2. 新生代發(fā)生的GC也叫做MinorGC,MinorGC發(fā)生頻率比較高

    • 年老代(OldGeneration)

      1. 在年輕代中經(jīng)歷了 N次垃圾回收后仍然存活的對(duì)象,就會(huì)被放到年老代中。因此,可以認(rèn)為年老代中存放的都是一些生命周期較長(zhǎng)的對(duì)象。默認(rèn)是15次,且最大15次。

      2. 內(nèi)存比新生代也大很多(大概是2倍),當(dāng)老年代內(nèi)存滿時(shí)觸發(fā)FullGC,
        FullGC發(fā)生頻率比較低,老年代對(duì)象存活時(shí)間比較長(zhǎng),存活率比較高。

    • 元空間-持久代(PermanentGeneration)
      用于存放靜態(tài)文件,如Java類(lèi)、方法等。持久代對(duì)垃圾回收沒(méi)有顯著影響。

JVM調(diào)優(yōu)參數(shù)

這里只給出一些常見(jiàn)的性能調(diào)優(yōu)的參數(shù)及其代表的含義。

-Xms8g: 設(shè)置JVM中堆初始堆大小為8g。此值可以設(shè)置與-Xmx相同,以避免每次垃圾回收完成后JVM重新分配內(nèi)存。

-Xmx8g: 設(shè)置JVM中堆最大可用內(nèi)存為8g。

-Xmn4g: 設(shè)置年輕代大小為4G。

-XX:NewRatio=2 設(shè)置年輕代(包括Eden和兩個(gè)Survivor區(qū))與年老代的比值。設(shè)置為2,則年輕 代與年老代所占比值為1:2,年輕代占整個(gè)堆棧的1/3。

-XX:SurvivorRatio=8 ,所以默認(rèn)值 Eden:S0:S1=8:1:1。

-Xss1m:設(shè)置每個(gè)線程的棧大小

-XX:MaxMetaspaceSize=128m: 設(shè)置元空間最大為為128m ,

-XX:MetaspaceSize=128m 用于設(shè)置元空間的初始大小, 默認(rèn)值約21M

-XX:MaxTenuringThreshold=15:設(shè)置垃圾最大年齡。如果設(shè)置為0的話,則年輕代對(duì)象不經(jīng)過(guò)Survivor區(qū),直接進(jìn)入年老代。 對(duì)于年老代比較多的應(yīng)用,可以提高效率。最大不超過(guò)15。

http://www.risenshineclean.com/news/29739.html

相關(guān)文章:

  • 工作總結(jié)ppt模板免費(fèi)寧波優(yōu)化推廣選哪家
  • 桂林做網(wǎng)站的公司seo是哪里
  • 購(gòu)物網(wǎng)站開(kāi)發(fā)技術(shù)河北網(wǎng)站優(yōu)化公司
  • 網(wǎng)站風(fēng)格類(lèi)型百度流量統(tǒng)計(jì)
  • 為什么做電子商務(wù)網(wǎng)站的原因中國(guó)建設(shè)網(wǎng)官方網(wǎng)站
  • 制作一個(gè)買(mǎi)股票的網(wǎng)站怎么做seo比較好的公司
  • 網(wǎng)站畢業(yè)設(shè)計(jì)怎么做網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣活動(dòng)有哪些
  • 合伙做網(wǎng)站怎么分配股權(quán)各地疫情最新消息
  • 大連小型網(wǎng)站建設(shè)關(guān)鍵的近義詞
  • 做本地團(tuán)購(gòu)網(wǎng)站游戲網(wǎng)站交換友情鏈接
  • 合肥網(wǎng)站建設(shè)找佳達(dá)百度seo服務(wù)方案
  • 廣西網(wǎng)站建設(shè)開(kāi)發(fā)外包市場(chǎng)營(yíng)銷(xiāo)方案范文5篇
  • 泗陽(yáng)做網(wǎng)站公司競(jìng)價(jià)托管就選微競(jìng)價(jià)
  • 網(wǎng)站logo用什么做百度網(wǎng)站打不開(kāi)
  • 網(wǎng)站批量做httpsseo優(yōu)化實(shí)訓(xùn)報(bào)告
  • 深圳租房建設(shè)局網(wǎng)站天天外鏈官網(wǎng)
  • 淮安建設(shè)工程協(xié)會(huì)網(wǎng)站查詢站長(zhǎng)之家 seo查詢
  • 淄博網(wǎng)站制作seo優(yōu)化專(zhuān)員
  • 在什么網(wǎng)站可以自承包活來(lái)做搜索引擎入口
  • 廈門(mén)功夫廣告設(shè)計(jì)網(wǎng)站建設(shè)工作室網(wǎng)站優(yōu)化排名資源
  • 市總工會(huì)智慧網(wǎng)站建設(shè)總結(jié)奶茶的營(yíng)銷(xiāo)推廣軟文
  • 綿陽(yáng) 網(wǎng)站設(shè)計(jì)推廣引流哪個(gè)軟件最好
  • 新疆網(wǎng)站建設(shè)一條龍服務(wù)網(wǎng)絡(luò)營(yíng)銷(xiāo)產(chǎn)品的首選產(chǎn)品
  • 做資訊網(wǎng)站要什么手續(xù)公司怎么推廣網(wǎng)絡(luò)營(yíng)銷(xiāo)
  • 網(wǎng)站內(nèi)容注意事項(xiàng)福州關(guān)鍵詞排名優(yōu)化
  • 鄭州做網(wǎng)站公司msgg平臺(tái)推廣是做什么
  • 網(wǎng)絡(luò)營(yíng)銷(xiāo)的特點(diǎn)主要有哪些seo軟件推薦
  • 律所網(wǎng)站建設(shè)方案書(shū)怎么寫(xiě)怎么找推廣渠道
  • 公眾號(hào)做淘寶客接入手機(jī)網(wǎng)站免費(fèi)私人網(wǎng)站建設(shè)
  • 幫別人做網(wǎng)站必須要開(kāi)公司專(zhuān)門(mén)的網(wǎng)頁(yè)制作工具有