最近研究了一下程序执行过程中,内存是怎样管理的。理解的比较浅显,欢迎大家多多和我交流。
例如我们写的一个程序,存放在硬盘的某个区域,如果不执行此程序,它就会默默的存放在那里。当我们执行它时,它执行的过程如下:
1.将程序Load到内存区域
2.操作系统自己会找到程序的main方法,从main开始执行程序
3.当程序开始执行时,程序中的数据会被内存分类管理起来。基本有四类内存管理:heap(堆内存)、stack(栈内存)、data segment(数据段)、code segment(代码段)
code segment:(代码段):存放代码,代码首先放在code segment中,操作系统找到main方法后,执行后面的代码。
stack(栈):局部变量
heap(堆):new出来的东西
data segment(数据段):静态变量、字符串常量
先简单介绍到这里,以后还会继续深入的学习。