首页 > 代码库 > 程序执行时究竟如何放置对象?

程序执行时究竟如何放置对象?

1.寄存器(Registers):这是速度最快的存储场所。

2.Stack(栈):位于一般的RAM(Random-Access Memory,随机访问内存)中,处理器经由其指针(stack pointer)提供直接支持。

3.Heap(堆):Heap是一种通用性质的内存存储空间(也存在于RAM中),用来置放所有Java对象.

4.静态存储空间(Static storage):这里使用"静态"一词,指的是"在固定位置上"(也在RAM里头).

5.常量存储空间(Constant storage):常量值常常会被直接置于程序代码里头.

6.Non-RAM存储空间:如果数据完全存活于程序之外,那么即使程序不执行,数据也能够继续存在,脱离程序的控制。streamed objects(串流化对象)和persistent objects(持久化对象)便是主要的两个例子。

备注:摘自Thinking in Java(Second Edition,Bruce Eckel著)中文翻译版(侯捷译),现在要看《剑指offer》,有时间再补充完整。

程序执行时究竟如何放置对象?