发布网友 发布时间:2022-05-07 18:47
共1个回答
热心网友 时间:2022-07-01 03:11
2、堆栈(栈)位于通用RAM(随机访问存储器)中,但是通过堆栈指针可以直接从堆栈指针那里获得直接支持。堆栈指针向下移动,则分配新的内存;向上移动,则释放那些内存。其快速有效性仅次于寄存器。创建程序时,JAVA必须知道存储在堆栈区的所有项的确切生命周期,以便上下移动堆栈指针。比如,JAVA对象引用存储于堆栈区,但对象并不存储于其中。3、堆一种通用的内存池(也位于RAM区),用于存放所有的JAVA对象。堆不同于堆栈的好处是:编译器不需要知道存储的数据在堆里存活多长时间,因此堆里分配存储有很大的灵活性。当需要一个对象时,只需要new一个即可,当执行这行代码时,会自动在堆里进行存储分配。不过,用堆进行存储分配和清理可能比用堆栈进行存储分配需要更多的时间。4、常量存储常量值通常在直接放在程序代码内部,这样做是安全的,因为它永远不会被改变。5、非RAM存储如果数据完全存活于程序之外,那么它可以不受程序的任何控制,在程序没有运行时也可以存在。流对象:在流对象中,对象转成字节流,通常被发送给另外一台机器。持久化对象:对象被存放于磁盘上。