Java千百问_07JVM架构(003)_内存分配有哪些策略

Posted 幽灵雾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java千百问_07JVM架构(003)_内存分配有哪些策略相关的知识,希望对你有一定的参考价值。

点击进入_更多_Java千百问

1、内存分配有哪些策略

我们从编译原理讲起,不同的开发环境、开发语言都会有不同的策略。一般来说,程序运行时有三种内存分配策略:静态的栈式的堆式的

  • 静态存储
    是指在编译时就能够确定每个数据目标在运行时的存储空间需求,因而在编译时就可以给它们分配固定的内存空间。
    这种分配策略要求程序代码中不允许有可变数据结构的存在,也不允许有嵌套或者递归的结构出现,因为它们都会导致编译程序无法计算准确的存储空间。

  • 栈式存储
    栈式存储分配是动态存储分配,是由一个类似于堆栈的运行栈来实现的,和静态存储的分配方式相反
    在栈式存储方案中,程序对数据区的需求在编译时是完全未知的,只有到了运行的时候才能知道,但是规定在运行中进入一个程序模块的时候,必须知道该程序模块所需要的

以上是关于Java千百问_07JVM架构(003)_内存分配有哪些策略的主要内容,如果未能解决你的问题,请参考以下文章

Java千百问_07JVM架构(005)_显示内存管理有什么弊端

Java千百问_07JVM架构(015)_XmnXmsXmxXss有什么区别

Java千百问_07JVM架构(013)_java什么情况会内存溢出

Java千百问_07JVM架构(016)_java内存如何优化

Java千百问_07JVM架构(006)_java堆和栈有什么区别

Java千百问_07JVM架构(017)_jvm常见配置都有哪些