美文网首页
堆、栈、方法区

堆、栈、方法区

作者: Kitlen | 来源:发表于2017-10-23 20:25 被阅读0次

转载;http://blog.csdn.net/zly921112/article/details/61192747

java的jvm的内存分为三块:

:

实例对象和数组对象。被所有线程共享。

分为新生代(1 Eden +2 survivor)和老年代(old )

为了垃圾回收,根据对象存活期的长短,分为新生代和老年代。垃圾回收时分别采用复制算法(所以有eden区和两个survivor区)、标记整理和标记清除算法

栈:

基础数据类型和自定义对象的引用。每个线程有一个栈区,栈中数据私有,其他栈不可访问

方法区:

java8之前,方法区也叫(永久代)静态区,包含整个程序中的唯一变量,如class、   static等等。被所有线程共享。运行时,常量池分配在这。

首先理清方法区的实现有永久代和元空间。jdk1.8前方法区的实现是永久代;jdk1.8后方法区的实现是元空间,使用的是本地内存。存放类的属性、静态变量、常量、方法等,字符串常量池还是存放在堆中,也仅仅是字符串常量的实例化对象在常量池中。

相关文章

  • JVM内存分配-03-01

    JVM主要内存区域有堆、栈、方法区(非堆)。 堆:对象栈:方法,局部变量,对象引用方法区:静态属性,常量,代码块 ...

  • 运行时数据区域

    主要分为方法区,虚拟机栈,本地方法栈,程序计数器,堆。其中方法区和堆是所有线程共享的数据区,虚拟机栈,本地方法栈,...

  • 2019-07-08 Java面试题

    方法通常存储在进程中的哪一区()A.堆区B.栈区C.全局区D.方法区 解析:一条进程的栈区,堆区,方法区,代码区在...

  • 堆、栈、方法区

    2.1 堆、栈、方法区概念和联系 堆解决的是数据存储的问题,即数据怎么放、放在哪儿。栈解决程序的运行问题,即程序如...

  • 栈、堆、方法区

    JAVA的JVM的内存可分为3个区:栈(stack)、堆(heap)、方法区(method) 栈区: 每个线程包含...

  • 堆,栈,方法区

    对象的引用放在栈中,所以使用完引用就被从栈中销毁了,但是实际的对象仍然存放在堆中,只有在没有任何的引用使用它的时候...

  • 堆、栈、方法区

    转载;http://blog.csdn.net/zly921112/article/details/6119274...

  • 栈 堆 方法区

    栈:存储方法,变量,先进后出,线程私有不能共享,jvm为每个线程创建一个栈用完就销毁,速度快,空间连续 堆:用来存...

  • 堆,方法区,栈

    其中方法区和堆是所有线程共享的,栈,本地方法栈和程序虚拟机则为线程私有的。

  • 八、方法区

    一、栈、堆、方法区的交互关系 1、运行时数据区结构图 2、栈、堆、方法区的交互关系 二、方法区的理解 1、官方文档...

网友评论

      本文标题:堆、栈、方法区

      本文链接:https://www.haomeiwen.com/subject/anfzuxtx.html