堆区、栈区、全局区、代码区

来源:互联网 发布:mac alias 配置 编辑:程序博客网 时间:2024/06/10 06:30

栈区(stack)

由系统的编译器自动的释放,主要用来存放方法中的参数,一些临时的局部变量等,并且方法中的参数一般在操作完后,会由编译器自动的释放掉。


堆区(heap)

由程序员决定,在Java中,如果程序员不释放的话,一般会由垃圾回收机制自动的清理掉。此区域主要用来存放我们经常创建的对象、动态的申请的临时空间等。
对象是保存在堆区的。


数据区(data seg)

也称全局区或者静态区,根据名称我们就应该知道用来存放一些全局的东西,比如我们经常用到的静态变量、全局变量等都会存放到数据区,此区域上的东西都被全局所共享。比如我们可以采取类名.的方式就可以访问到方法,这就是所谓的静态方法,存放到数据区的。


代码区

存放程序编译后可以执行代码的地方。比如执行代码时写的While语句、if条件语句等,都会存放到此。


尊重原创:数据区、代码区、栈区、堆区

阅读全文
0 0
原创粉丝点击