美文网首页
Java内存(栈、堆)

Java内存(栈、堆)

作者: 蜻鸣 | 来源:发表于2019-03-04 11:28 被阅读0次

Java把内存分为两种,一种是栈内存,一种是堆内存

栈内存:在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。定义一个变量就在栈中给这个变量分配空间,当超出这个变量的作用域后就自动释放这个空间作为他用


堆内存:堆内存用来存放new出来的对象和数组。在堆中分配的内存,由Java虚拟机自动垃圾回收器来进行管理。在堆中定义了一个数组或者实例化了一个对象之后,还可以在栈中定义一个特殊的变量,即引用变量。保存的是堆中数组或对象的首地址,就可以使用栈内存中的引用来访问堆内存中的数组或者对象,


但是引用变量也是普通变量,当超出它的作用域时便会被释放。但是在堆中的对象或数组即使超出了产生它的代码块也不会被释放,当没有引用变量指向它时变成垃圾,不能再被使用,但是仍然占用内存,直到被垃圾回收器释放掉

相关文章

  • 10.11java中的堆和栈

    java高级-堆和栈 java堆 /栈 栈内存 / 堆内存的区别 1. java堆 /栈 2. 栈内存 / 堆内存的区别

  • 堆和栈

    一 java 堆内存和栈内存 java把内存分为两种:一种是堆内存,一种是栈内存 堆: 堆内存主要存储实例化对象,...

  • JVM内存模型

    Java内存模型把Java虚拟机内部划分为线程栈和堆。 Java 内存中堆和栈有什么区别: Stack栈是存放方法...

  • java中栈内存和堆内存有什么区别

    java中栈内存和堆内存有什么区别 栈内存和堆内存的区别: 1、栈内存用来存放基本类型的变量和引用变量,堆内存用来...

  • Java 工程师成神之路(2018 年修订版)

    基础篇 1.1 JVM JVM内存结构 堆、栈、方法区、直接内存、堆和栈区别。 Java内存模型 内存可见性、重排...

  • Java中的堆内存、栈内存和方法区总结[转]

    Java内存管理堆内存栈内存方法区 Java中内存分成两种,一种叫做栈内存,一种叫做堆内存。还有一个方法区,也...

  • Java程序员需要掌握的技能

    一、基础篇 1.JVM JVM内存结构 堆、栈、方法区、直接内存、堆和栈区别 Java内存模型 内存可见性...

  • java基础、进阶、高级到架构的各种知识分类!

    一、基础篇 JVM JVM内存结构 堆、栈、方法区、直接内存、堆和栈区别 Java内存模型 内存可见性、重排序、顺...

  • Java工程师成神之路

    一、基础篇 JVM JVM内存结构 堆、栈、方法区、直接内存、堆和栈区别 Java内存模型 内存可见性、重排序、顺...

  • 高级程序员晋级之路

    一、基础篇JVM JVM内存结构 堆、栈、方法区、直接内存、堆和栈区别 Java内存模型 内存可见性、重排序、顺序...

网友评论

      本文标题:Java内存(栈、堆)

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