(1)代码区通常是共享只读(代码无法修改)的,即可以被其他的程序调用,例如运行两个qq,除了数据不一样,代码都是一样的, 每次运行qq,都会将代码和数据加载到内存中,除了数据,每次加载的代码都是一样的,可以大大节省内存. (2)栈是由系统分配内存,栈的内存是固定的. (3)堆区是程序员自己分配内存和释放内存,如果不释放内存,那么就只能等程序结束后才会由系统回收.内存不释放,那么在程序运行期间可能会导致内存不够用. 程序在没有运行前只有代码区和数据区,运行程序后会加载到内存中,才有堆区和栈区. 数