JVM内存管理之JVM内存分配策略
来源:互联网 发布:学而知不足,思而得远虑 编辑:程序博客网 时间:2024/06/04 19:14
一:操作系统的内存分配策略
操作系统的内存分配策略主要分为三种
静态内存分配栈内存分配堆内存分配
静态内存分配
静态内存分配是在程序编译时就能够确定的每个数据的在运行时所需的内存空间。这种分配策略不允许程序中有可变的数据结构,也不允许有递归或嵌套结构出现。
栈内存分配
即动态内存分配,通过栈来实现。在动态内存分配方案中,程序对数据区的需求在编译时是完全未知的,直到运行时才知道,但是规定程序在运行中进入一个程序模块时,必须知道该程序模块所需的数据区内存大小才能够为其分配内存。栈式内存分配按照先进后出的原则进行内存分配。
堆内存分配
只有到程序运行到相应的代码是才知道内存分配空间的大小,就需要使用堆内存分配策略。
二:java的内存分配
jvm的内存分配主要是基于堆和栈的内存分配
1):栈内存分配
栈内存分配和java线程绑定,每创建一个线程是,java就会创建一个与之对应的java栈。线程的方法调用对应java栈的压栈和出栈。每一个java方法对应一个栈帧。帧用来保存当前方法的参数,局部变量,中间计算过程和其他数据。
栈中主要存放基本类型数据和对象引用。
2):堆内存分配
java堆中存放应用程序运行时创建的所有类的实例或数组。java在创建一个对象是,在堆中分配该对象的存储空间,在栈中建立一个指向这个对象的指针(引用)。java堆是一个运行时数据区,内存空间的回收由GC负责。
0 0
- JVM内存管理之JVM内存分配策略
- JVM > 内存分配策略
- JVM内存分配策略
- JVM---内存分配策略
- JVM 内存分配策略
- JVM中的内存分配策略
- JVM内存结构及内存分配策略
- jvm内存分配、管理小结
- 细说JVM系列:自动内存管理内存分配:内存分配和回收策略
- JVM之垃圾收集器与内存分配策略
- JVM之垃圾收集器与内存分配策略
- JVM之垃圾收集器与内存分配策略
- jvm内存管理-堆内存分配
- JVM之---GC内存分配
- JVM内存分配之二
- JVM之堆内存分配
- java jvm 内存分配和回收策略
- JVM(二)内存分配和回收策略
- 数据库连接池,设置连接池数量、plsql工具查询待连接数据库的排队数量,工程设置最大最小连接数量
- JS滚轮事件(mousewheel/DOMMouseScroll)了解
- memcache实现session共享
- stm32 外部中断
- invalid mode 'kCFRunLoopCommonModes' provided to CFRunLoopRunSpecific - break on _CFRunLoopError_Run
- JVM内存管理之JVM内存分配策略
- spring中bean的scope
- android JNI的调用
- 同步机制——“读写锁“的实现
- no rights, selfish with system reason
- SQL语言16种基本命令
- Java多线程之生产者与消费者实现(1p1c)
- javascript基础:数据类型的转换
- 查看Oracle数据库所有的用户及表空间等