Chinaunix首页 | 论坛 | 博客
  • 博客访问: 147010
  • 博文数量: 49
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 576
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-17 11:27
文章分类

全部博文(49)

文章存档

2011年(1)

2010年(15)

2009年(33)

我的朋友

分类: 嵌入式

2009-09-17 21:37:39

(1)Registers(寄存器):在CPU内部,是最快的存储场所,但程序员无法直接控制。   
(2)Stack(栈):位于一般的RAM(随机访问内存),速度仅次于Registers。存放基本类型的数据和对象的reference,但对象本身不存放在stack中,而是存放在Heap中。  
(3)Heap(堆):也位于RAM,存放用new产生的数据。他比stack好在编译器不需要知道实际在heap中存储数据的大小,也不知道这个空间需要分配多长时间,弹性好,但分配空间的速度比Stack慢很多。  
(4)Static   storage(静态存储空间):位于RAM,存放在对象中用static定义的静态成员,它是“程序执行期间”一直存在的数据,Java对象本身是不会被分配在这里的。  
(5)Constant   storage(常量存储空间):存放常量。  
(6)NON-RAM存储空间:硬盘等永久存储空间,实现对象的持久化存储。  
 
 
 
1,堆是放实例和数组的。
  stack是程序运行(或者叫线程更合适)的时候JVM分配给他的,里面有该程序当前的状态。
2,static修饰的变量的特点是new一个对象的时候就分配了内存。而其他是要初始化的时候才分配。也是作为一个变量而已。
 
 
 

 

阅读(1663) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~