A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曾祥旭 中级黑马   /  2012-11-5 12:45  /  1630 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

当程序在运行时,对象是怎么进行安排的呢?特别是内存是怎么分配的?下面简单的总结一下:
(1)寄存器。这是最快的存储区,位于处理器内部。但是寄存器的数量是有限的,它是根据需求进行分配的。
(2)堆栈。位于通用的RAM中,创建程序时,Java系统必须知道存储在堆栈的所有的确切的生命周期,以便上下移动堆栈指针。
(3)堆。一种通用的内存池,用于存放所有的Java对象。
(4)常量存储。通常直接存放在程序代码内部。这样做是安全的,因为他们不会被改变。
(5)非RAM存储。如果数据完全存活于程序之外,那么它可以不受程序的任何控制,在程序没有运行时也可以存在。其中两个基本的例子是流对象和持久化对象。在流对象中,对象转换成字节流,通常被发送到另一台机器。在“持久化对象”中,对象被存放于磁盘上,因此即使程序结束,它们仍可以保持自己的状态。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马