Java 内存模型

来源:互联网 发布:中华网络一条龙可靠么 编辑:程序博客网 时间:2024/06/06 03:35

    与C/C++一样,Java程序的内存也分为两个部分:栈内存和堆内存。

    在函数中定义的8种基本类型的变量(boolean/byte/char/short/int/long/float/double),以及对象的引用变量,都是在函数的栈空间中分配内存。当超过变量的作用域后,Java会自动释放掉为该变量分配的内存空间。该内存空间可以立即被另作他用。

    堆内存用来存放由new产生的对象。当超出该对象的作用域之后,该变量所占用的内存也不会被释放。对象只有在没有引用变量指向它的时候,才变为垃圾,不能再被使用,但仍然占据内存空间。在随后的不确定时间内,由GC(garbage collector)自动回收垃圾对象。

原创粉丝点击