`

jvm内存模型

    博客分类:
  • jvm
阅读更多
JVM 的早期版本并没有进行分区管理;这样的 后果是JVM 进行垃圾回收时,不得不扫描JVM 所管理的整片内存,所以搜集垃圾 是很耗费资源的事情,也是早期JAVA 程序的性能低下的主要原因。随着JVM 的 发展,JVM 引进了分区管理的机制。
采用分区管理机制的JVM 将JVM 所管理的所有内存资源分为2 个大的部分:
永久存储区(Permanent Space)和堆空间(The Heap Space)。其中堆空间又分为新生区(Young (New) generation space)和养老区(Tenure (Old) generation space),新生区又分为伊甸园(Eden space),幸存者0 区(Survivor 0 space)和幸存者1 区(Survivor 1 space)。

永久存储区(Permanent Space):永久存储区是JVM 的驻留内存,用于存放JDK自身所携带的Class,Interface 的元数据,应用服务器允许必须的Class,Interface 的元数据和Java 程序运行时需要的Class 和Interface 的元数据。被装载进此区域的数据是不会被垃圾回收器回收掉的,关闭JVM 时,释放此区域所控制的内存。

堆空间(The Heap Space):是JAVA 对象生死存亡的地区,JAVA 对象的出生,成长,死亡都在这个区域完成。堆空间又分别按JAVA 对象的创建和年龄特征分为养老区和新生区。
新生区(Young (New) generation space):新生区的作用包括JAVA 对象的创建和从JAVA 对象中筛选出能进入养老区的JAVA 对象。伊甸园(Eden space):JAVA 对空间中的所有对象在此出生,该区的名字因此而得名。也即是说当你的JAVA 程序运行时,需要创建新的对象,JVM 将在该区为你创建一个指定的对象供程序使用。创建对象的依据即是永久存储区中的元数据。

幸存者0 区(Survivor 0 space)和幸存者1 区(Survivor1 space):当Eden区的空间用完时,程序又需要创建对象;此时JVM 的垃圾回收器将对Eden区进行垃圾回收,将伊甸园区中的不再被其他对象所引用的对象进行销毁工作。同时将伊甸园中的还有其他对象引用的对象移动到幸存者0 区。幸存者0 区就是用于存放伊甸园垃圾回收时所幸存下来的JAVA 对象。当将伊甸园中的还有其他对象引用的对象移动到幸存者0 区时,如果幸存者0 区也没有空间来存放这些对象时,JVM 的垃圾回收器将对幸存者0 区进行垃圾回收处理,将幸存者0 区中不在有其他对象引用的JAVA 对象进行销毁,将幸存者0 区中还有其他对象引用的对象移
动到幸存者1 区。幸存者1 区的作用就是用于存放幸存者0 区垃圾回收处理所幸存下来的JAVA 对象。

养老区(Tenure (Old) generation space):用于保存从新生区筛选出来的JAVA对象。
分享到:
评论

相关推荐

    JVM内存模型

    JVM内存模型详解 JVM内存模型是Java虚拟机(JVM)中的一种内存管理机制,它将内存区分为永久区内存(Permanent space)和堆内存(heap space)两大块。永久区内存用于存放加载的Class类级对象,如class本身、method...

    JVM内存模型深度剖析与优化.pdf

    JVM内存模型深度剖析与优化 JVM内存模型是Java虚拟机的核心组件之一,它直接影响着Java应用程序的性能和可靠性。本文将深入剖析JVM内存模型的结构和工作机理,并讨论如何优化JVM参数以提高Java应用程序的性能。 一...

    jvm内存模型.pdf

    jvm内存模型.pdf

    JVM内存模型详解

    jvm内存模型,jvm脑图,jvm调优,jvm垃圾回收算法,jvm垃圾回收器,逃逸算法等总结。

    三问JMM--有关JVM内存模型的PPT

    ### 三问JMM——有关JVM内存模型的深度解析 #### 前言 近期,在诚信通开源研究小组的专题学习分享会上,我们针对Java内存模型(JMM)进行了深入探讨,现将JMM相关的一些核心概念进行梳理,以便更好地理解和把握JMM的...

    JVM内存模型以及垃圾回收相关资料

    JVM内存模型与垃圾回收是Java性能优化的关键部分。JVM(Java Virtual Machine)内存模型分为多个区域,包括新生代(New Generation)、老年代(Old Generation)和永久代(Permanent Generation)。新生代又细分为...

    深入详解JVM内存模型与JVM参数详细配置.pdf

    "深入详解JVM内存模型与JVM参数详细配置" 本资源详细介绍了JVM内存模型的结构和组成部分,包括堆内存、方法区、栈内存、程序计数器等。同时,还详细介绍了JVM参数的配置和调整方法,以提高JVM的性能和效率。 ...

    JVM内存模型及分区 JVM内存模型及分区

    理解JVM内存模型对于优化Java程序性能至关重要,合理分配和管理内存能有效避免内存泄漏和性能瓶颈。例如,通过调整堆大小、设置合理的垃圾回收策略,可以优化应用的运行效率。此外,了解这些内存区域的工作原理也能...

    Java 虚拟机JVM内存模型

    ### Java 虚拟机JVM内存模型知识点 #### 1. JVM概述 ##### 1.1 Java的特性与JVM的应用 Java语言的特性包括跨平台性、面向对象、安全性等。JVM是Java程序能够跨平台运行的关键,它负责将Java源代码转换成与平台无关...

    推荐一些JVM原理,JVM调优,JVM内存模型,JAVA并发 电子书1

    标题中提到了JVM原理、JVM调优、JVM内存模型和JAVA并发,这些都是Java虚拟机(JVM)相关的核心概念。JVM是运行Java字节码的虚拟计算机,为Java提供了一个跨平台的环境,确保Java程序可以在不同的操作系统上运行而...

    JVM入门实战/arthas实战/垃圾回收算法/垃圾回收器/jvm内存模型分析

    第二节:JVM内存模型 1.1 概念 1.2 JVM内存模型 1.3 Heap堆内存模型 第三节:定位垃圾对象的依据 1.1 引用计数法 1.2 可达性算法 第四节:垃圾回收算法 1.1标记清除算法 1.2复制算法 1.3 标记整理(标记压缩)...

    java jvm内存模型

    "Java JVM内存模型" Java虚拟机(JVM)内存模型是Java虚拟机的核心组件之一,它定义了Java程序在运行时的内存布局和管理方式。JVM内存模型主要分为五个部分:程序计数器、虚拟机栈、本地方法栈、堆、方法区。 1. ...

    JVM内存模型和性能优化.docx

    JVM内存模型内置了基于内存的并发模型,支持多线程机制,提供了同步锁(Synchronization)功能,使得在多线程环境下能够确保数据一致性。此外,JVM还提供了大量的线程安全的库包,这些特性使得开发者可以灵活控制...

    java毕业设计-JVM内存模型和垃圾收集PPT37页-JVM内存模型和垃圾收集

    jvm--java毕业设计-JVM内存模型和垃圾收集PPT37页--JVM内存模型和垃圾收集

    02-VIP-JVM内存模型深度剖析(1)1

    总结来说,理解JVM内存模型和参数设置对于优化Java应用程序性能至关重要。正确配置JVM参数可以防止内存溢出,降低垃圾回收频率,提升系统响应速度。同时,逃逸分析等优化技术也是提高程序执行效率的有效手段。在实际...

    jvm内存模型.doc

    jvm内存模型

    JVM内存模型(通俗易懂)

    JVM内存模型则是理解Java程序性能优化的关键,因为它规定了程序中的数据如何在内存中分配和访问。本文将深入浅出地探讨JVM内存模型,帮助你快速掌握这一核心概念。 首先,我们要知道JVM内存模型主要分为以下几个...

Global site tag (gtag.js) - Google Analytics