Java heap terminology: young, old and permanent generations
来源:互联网 发布:梨园淘宝城拆了吗 编辑:程序博客网 时间:2024/05/13 12:05
This seems like a common misunderstanding. In Oracle's JVM, the permanent generation is not part of the heap. It's a separate space for class definitions and related data. In Java 6 and earlier, interned strings were also stored in the permanent generation. In Java 7, interned strings are stored in the main object heap.
Here is a good post on permanent generation.
I like the descriptions given for each space in Oracle's guide on JConsole:
For the HotSpot Java VM, the memory pools for serial garbage collection are the following.
- Eden Space (heap): The pool from which memory is initially allocated for most objects.
- Survivor Space (heap): The pool containing objects that have survived the garbage collection of the Eden space.
- Tenured Generation (heap): The pool containing objects that have existed for some time in the survivor space.
- Permanent Generation (non-heap): The pool containing all the reflective data of the virtual machine itself, such as class and method objects. With Java VMs that use class data sharing, this generation is divided into read-only and read-write areas.
- Code Cache (non-heap): The HotSpot Java VM also includes a code cache, containing memory that is used for compilation and storage of native code.
Java uses generational garbage collection. This means that if you have an object foo (which is an instance of some class), the more garbage collection events it survives (if there are still references to it), the further it gets promoted. It starts in the young generation (which itself is divided into multiple spaces - Eden and Survivor) and would eventually end up in the tenured generation if it survived long enough.
- Java heap terminology: young, old and permanent generations
- 转 static allocation in java - heap, stack and permanent generation
- JVM GC的内存结构:Young Generation(Eden,from,to)、Old Generation、Permanent Generation
- JVM年轻代(young generation)老年代(old generation tenured)持久代(permanent generation)GC
- JVM年轻代(young generation)老年代(old generation tenured)持久代(permanent generation)GC
- JVM年轻代(young generation)老年代(old generation tenured)持久代(permanent generation)GC
- 6.从OOM推导出JVM GC时候基于的内存结构:Young Generation(Eden、From、To)、Old Generation、Permanent Generation
- Permanent Space 和 Heap Space
- Java stack and heap
- java的世界里young区,old区分别有哪些收集器
- Permanent and Session-only Cookies
- Heap and stack in java
- Java stack and heap definitions
- young and beautiful
- terminology
- Java内存管理-Permanent Space
- Java内存管理-Permanent Space
- java之Secure communication terminology
- Verilog代码标准
- Web开发中的用户角色权限设计总结
- Ruby函数lambda知识讲解
- 输入输出流的理解
- 如何在TOMCAT下指定JDK的路径
- Java heap terminology: young, old and permanent generations
- 第7周项目求a和b两个数之和
- 学习python动态扩展包stevedore
- pc 机上串口代码
- poj 3376 Finding Palindromes(扩展kmp+trie)
- Verilog 设计技巧
- Java并发系列(四)并发构建模块
- How to get position of key/value in LinkedHashMap using its key
- hdu 2896 病毒侵袭(AC自动机)