【Java基础】程序执行过程中的内存管理

最近研究了一下程序执行过程中,内存是怎样管理的。理解的比较浅显,欢迎大家多多和我交流。

【Java基础】程序执行过程中的内存管理


例如我们写的一个程序,存放在硬盘的某个区域,如果不执行此程序,它就会默默的存放在那里。当我们执行它时,它执行的过程如下:

1.将程序Load到内存区域

2.操作系统自己会找到程序的main方法,从main开始执行程序

3.当程序开始执行时,程序中的数据会被内存分类管理起来。基本有四类内存管理:heap(堆内存)、stack(栈内存)、data segment(数据段)、code segment(代码段)

code segment:(代码段):存放代码,代码首先放在code segment中,操作系统找到main方法后,执行后面的代码。

stack(栈):局部变量

heap(堆):new出来的东西

data segment(数据段):静态变量、字符串常量

先简单介绍到这里,以后还会继续深入的学习。