作为数据结构
作为内存分配
虚拟内存,物理内存,虚拟内存和物理内存的映射
栈
虚拟内存的组织形式是数据结构中的栈,连续,先入后出。
- 系统自动分配。在程序运行结束后系统释放。栈上的数据的生存周期只是在函数的运行过程中,运行后就释放掉,不可以再访问。
- 栈的空间有限,1M或2M,当栈的空间满了时,就会报stackoverflow的异常。由于栈的大小有限,所以用子函数还是有物理意义的,而不仅仅是逻辑意义。
- 栈区向地址减小的方向增长
堆
虚拟内存中组织形式是各个空闲区域通过链表构成的堆组织起来。
- 编程人员手动分配,由编程人员手动或垃圾回收器释放。如果忘记释放会造成内存泄露。
- 分配的速度较慢,地址不连续,容易碎片化.