jvm的永久代
記得曾經在課本上看到了永久代的概念,但是沒有看過在哪裡會有用到,最近準備面試,想深入的瞭解永久代到底是什麼
jvm的語言規範裡面定義了方法區(為了區分叫做“非堆”)的概念,方法區主要用於儲存類的資訊、常量池、方法資料、方法程式碼等資訊。但是不同的虛擬機器有不同的實現,其中hotspot實現通過永久代來實現了方法區。
在java程式碼中如果在一個while迴圈裡面不停的創造物件的話就會發生永久代溢位。
在java8中完全移除了永久代概念,使用元空間來代替,元空間不在虛擬機器中,而是使用的本地記憶體。
為什麼需要將永久代替換成元空間?(工程上方案的改進都是在修補前面的漏洞,都不是剛開始就有一個頂級的設計)
永久代gc代價大、oracle將來會合並hotspot和jrockit
參考:http://www.cnblogs.com/paddix/p/5309550.html
相關文章
- JVM永久代JVM
- JVM 中的永久代JVM
- JVM - 方法區(永久代)的垃圾回收JVM
- 對jvm堆中年輕代,老年代,永久代的理解JVM
- JVM記憶體管理、JVM垃圾回收機制、新生代、老年代以及永久代JVM記憶體
- JVM垃圾回收——新生代,老年代,永久代,Minor GC,Full GCJVMGC
- 【深入理解JVM】方法區 永久代 元空間JVM
- 對JVM中垃圾回收機制的個人理解--新生代,老年代,永久代JVM
- 深入理解JVM虛擬機器1:JVM記憶體的結構與消失的永久代JVM虛擬機記憶體
- 關於jvm的永久代會發生垃圾垃圾回收嗎?進來便知JVM
- Java永久代去哪兒了Java
- 聊聊JVM的年輕代JVM
- 常用的jvm配置引數 :永久區引數配置JVM
- Java 虛擬機器永久代的垃圾收集Java虛擬機
- Java面試題虛擬機器為什麼使用元空間替換了永久代(JVM篇)Java面試題虛擬機JVM
- 輕鬆理解JVM的分代模型JVM模型
- JVM 年輕代和年老代 大小設定JVM
- jvm的新生代和老年代簡介JVM
- jvm垃圾分代回收演算法JVM演算法
- JDK8-廢棄永久代(PermGen)迎來元空間(Metaspace)JDK
- JVM 記憶體分代、垃圾回收漫談JVM記憶體
- Java8記憶體模型—永久代(PermGen)和元空間(Metaspace)Java記憶體模型
- 深入理解JVM——(三)為什麼JVM新生代需要兩個Survivor區JVM
- JVM調優總結-分代垃圾回收詳述1JVM
- JVM調優總結-分代垃圾回收詳述2JVM
- Java虛擬機器:JVM記憶體分代策略Java虛擬機JVM記憶體
- JVM調優總結(九)-新一代的垃圾回收演算法JVM演算法
- JVM調優總結(五)-分代垃圾回收詳述1JVM
- JVM調優總結(六)-分代垃圾回收詳述2JVM
- 一文吃透JVM分代回收機制(以SerialGC為例)JVMGC
- 永久化alias命令
- JVM(六)為什麼新生代有兩個Survivor分割槽?JVM
- 從原理聊JVM(三):詳解現代垃圾回收器Shenandoah和ZGCJVMNaNGC
- Ubuntu下修改為永久DNS的方法UbuntuDNS
- JVM的概述JVM
- SELinux如何永久禁用Linux
- Ubuntu 永久修改 ulimit -nUbuntuMIT
- [Linux] alias永久生效Linux