JAVA把存储器分为5种:
1.寄存器Register
2.栈Stack:栈在RAM中,CPU可通过栈指针直接访问数据,栈指针向上则建立新的存储区,向下则释放存储区。栈中的数据必须有确切的大小和生命期(什么时候建立数据,什么时候撤消数据),不然指针如何知道该移动多少呢?通常对象的引用放在栈中,但是对象本身不在这里。由于栈在RAM中,因此速度比寄存器慢。基本数据类型也在栈中,因为其大小和生命期是确定的。
3.堆Heap:堆在RAM中,JAVA对象就放在这里。堆的好处是其中的数据的大小和生命期都可以不确定。每当用new关键字创建对象时,编译程序就会在堆中分配响应的存储区给对象。
4.静态存储区Static:静态存储区也在RAM中,看到Static,就可以猜测,那些加在static关键字的数据和方法都放在这里,确实这样。不过对象即便是静态的也不放在这儿。
5.常量存储区Constant:常量存储区在RAM中,与静态存储区类似,程序中的常量(由final关键字修饰)都放在这里。
posted on 2007-01-03 23:38
xrzp 阅读(786)
评论(1) 编辑 收藏 所属分类:
JAVA