美文网首页
Java 内存分配策略

Java 内存分配策略

作者: QM | 来源:发表于2017-03-31 10:47 被阅读0次

Java 程序运行时的内存分配策略有三种,分别是静态分配,栈式分配,和堆式分配,对应的,三种存储策略使用的内存空间主要分别是静态存储区(也称方法区)、栈区和堆区。

  • 静态存储区(方法区):主要存放静态数据、全局 static 数据和常量。这块内存在程序编译时就已经分配好,并且在程序整个运行期间都存在。

  • 栈区 :当方法被执行时,方法体内的局部变量(其中包括基础数据类型、对象的引用)都在栈上创建,并在方法执行结束时这些局部变量所持有的内存将会自动被释放。因为栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。

  • 堆区 : 又称动态内存分配,通常就是指在程序运行时直接 new 出来的内存,也就是对象的实例。这部分内存在不使用时将会由 Java 垃圾回收器来负责回收。

结论:

  • 局部变量的基本数据类型和引用存储于栈中,引用的对象实体存储于堆中。—— 因为它们属于方法中的变量,生命周期随方法而结束。

  • 成员变量全部存储与堆中(包括基本数据类型,引用和引用的对象实体)—— 因为它们属于类,类对象终究是要被new出来使用的。

相关文章

  • Android性能优化之常见的内存泄漏

    内存泄漏 Java 内存分配策略 Java 程序运行时的内存分配策略有三种,分别是静态分配,栈式分配,和堆式分配,...

  • android 内存泄漏分析与优化(一)

    java中内存分配的策略 java程序运行时的内存分配策略有三种,分别是静态分配,栈式分配和堆分配,对应的三种策略...

  • Android内存管理及内存泄露

    Java 内存分配策略 Java 程序运行时的内存分配策略有三种,分别是静态分配,栈式分配,和堆式分配,对应的,三...

  • Android 内存泄露小结

    java内存的分配策略 Java 程序运行时的内存分配策略有三种,分别是静态分配,栈式分配,和堆式分配,对应的,三...

  • Android性能优化之常见的内存泄漏

    Java内存分配策略 java程序运行时的内存分配策略有三种,分别是静态分配,栈式分配,堆式分配。对应的三种存储策...

  • Android 内存泄漏相关总结

    一.Java内存分配结构复习 1.Java内存分配策略 上一篇Android内存管理分析总结中我们提到了Java内...

  • [贝聊科技]使用Android Studio和MAT进行内存泄漏

    作者:小强 贝聊移动开发部 Android工程师 1.Java内存分配策略 Java 程序运行时的内存分配策略有三...

  • 内存泄漏 快速过一下

    java 内存泄漏 基础知识 java 内存的分配策略 静态分配, 栈式分配,堆式分配对应的 静态存储区,也叫方法...

  • Java垃圾回收

    垃圾回收 Java内存分配 Java程序运行时内存分配有三种策略,分别是静态分配、栈式分配和堆式分配。三种分配方式...

  • Interview Plan 0213

    0213 1.Android内存泄露总结 (1)Java内存分配策略:分别是静态分配,栈式分配,和堆式分配,对应的...

网友评论

      本文标题:Java 内存分配策略

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