亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

JVM Perm方法存儲(chǔ)區(qū),后面有一點(diǎn)跑題

系統(tǒng) 2564 0

?

      在一個(gè)jvm實(shí)例的內(nèi)部,類型信息被存儲(chǔ)在一個(gè)稱為方法區(qū)的內(nèi)存邏輯區(qū)中。類型信息是由類加載器在類加載時(shí)從類文件中提取出來(lái)的。類(靜態(tài))變量也存儲(chǔ)在方法區(qū)中
如果上面寫的是對(duì)的,那么在我們靜態(tài)變量用多了的情況下,就會(huì)出現(xiàn)java.lang.OutOfMemoryError: PermGen space

所以那個(gè)permSize一直不釋放是合理的,因?yàn)閟tatic變量JVM一般情況下是不會(huì)去回收。我剛才看了一下我們狀態(tài)的所有JAR包也只有一百二十幾M,但是為什么我們?cè)O(shè)年MaxPermSize為占用百分之九十幾?而且一直在往上增長(zhǎng),這就說(shuō)明初始化加載class的時(shí)候加載class字節(jié)碼,meta信息之外,Perm方法區(qū)會(huì)隨著程序的運(yùn)行而不斷增大,這時(shí)候,問(wèn)題就來(lái)了。所以static變量得慎用啊。。。。。

    
      
        
          除了上述的內(nèi)容會(huì)存儲(chǔ)在方法存儲(chǔ)區(qū)或永久存儲(chǔ)區(qū)之外(Pernanet Gerneration)
        
      
    
      
        
          ,還有:要加載類的信息(名稱,修飾符等),類中的靜態(tài)變量,類中定義為final
        
      
    
      
        
          類型的常量,類中的Field信息,類中的方法,當(dāng)開發(fā)人員在程序中通過(guò)Class對(duì)象
        
      
    
      
        
          的getName,isInterface等方法來(lái)獲取信息時(shí),這些數(shù)據(jù)都來(lái)源瑜方法區(qū),
        
      
    
      
        
          在一定的條件下也會(huì)被GC,當(dāng)方法區(qū)域要使用的內(nèi)存超過(guò)其允許的大小時(shí),
        
      
    
      
        
          會(huì)拋出OutOfMemory的錯(cuò)誤信息。
        
      
      ?
    
      ?
    
      static成員變量得慎用 有木有? 特別是那種會(huì)一直增加的static成員變量
    
      ?
    
      那有的東西必須保存在內(nèi)存中,那怎么辦?除了perm永久方法存儲(chǔ)區(qū)之外,不是不家堆棧嗎?
    
      ?
    
      那我們就可以把我們的程序設(shè)置單實(shí)例的,或者搞一個(gè)工廠方法去取這個(gè)類的實(shí)例就OK了。
    
      ?
    
      說(shuō)到單實(shí)例,必須說(shuō)明一點(diǎn),我們靠Spring去維護(hù)單實(shí)例不靠譜,Spring的單實(shí)例只限于單個(gè)IOC容器內(nèi),但是一個(gè)JVM中可以存在多個(gè)IOC容器,特別是多人開發(fā),然后又是基于JAR包的作合作時(shí),出出問(wèn)題還搞不清楚到底是哪里的問(wèn)題。所以。。。。利用Spring來(lái)保持程序的單實(shí)例可以,但最好這種單例只有某個(gè)模塊用,而不會(huì)涉及到別的部門會(huì)引用到的情況,比如那個(gè)狀態(tài)中的緩存隊(duì)列用Spring來(lái)維持它的單實(shí)例,從設(shè)計(jì)的角度看,這是不靠譜的,一個(gè)服務(wù)需要單實(shí)例,需要從設(shè)計(jì)的角度讓其去單實(shí)例,而不是基于使用者合理的使用Spring的基礎(chǔ)上去控制其單實(shí)例,如果有一個(gè)人new ApplicationContext(.. ) 創(chuàng)建了一個(gè)IOC怎么辦?那不就造成了上次狀態(tài)造成的OOM了嗎?
    
      ?
    
      保證唯一實(shí)例的方法多的去了,工廠行嗎?單實(shí)例行嗎?
    

大笑

      ?
    
      ?
    
      隨感一下。
    
      ?
    
      ?
    
      ?
    

JVM Perm方法存儲(chǔ)區(qū),后面有一點(diǎn)跑題


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 亚洲欧美自拍另类图片色 | 99re6这里有精品热视频在线 | 第一国内永久免费福利视频 | www激情五月| 老子影院午夜伦手机不卡6080 | 亚洲综合网在线观看 | 久久亚洲免费视频 | 亚洲国产成人精品91久久久 | 亚洲一区二区三区免费视频 | 爱爱小视频在线观看网站 | 久久频精品99香蕉国产 | 久久久久久久免费 | 免费一级大毛片a一观看不卡 | 一区二区三区网站在线免费线观看 | 亚洲一区二区三区精品国产 | 婷婷激情视频 | 九九热在线视频观看这里只有精品 | 国产日产综合 | 亚洲精品一区二区三区在线播放 | 中文字幕国产欧美 | 国产高清不卡一区二区 | 青草久草 | 国产亚洲精品国产一区 | 久久久免费视频观看 | 99精品在免费线视频 | 亚洲色图国产精品 | 91成人影院未满十八勿入 | 亚洲精品日本一区二区在线 | 久草免费新视频 | 国产 欧美 在线 | 国产精品高清在线观看地址 | 色婷婷精品视频 | 久色国产 | 久久久久香蕉视频 | 国产 在线 | 日韩 | www.99爱| 美女视频久久 | 青青草狠狠干 | 91精品久久久久久久久久 | 久久精品国1国二国三在 | 国产精品久久网 |