Flyingis

Talking and thinking freely !
Flying in the world of GIS !
随笔 - 156, 文章 - 16, 评论 - 589, 引用 - 0
数据加载中……

Java中存储数据的地方

   作者:Flyingis

   在
Java
程序运行时有6个地方可以存储数据:

1.寄存器:这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。
2.
堆栈:位于通用RAM中,但通过堆栈指针可以从处理器那里获得直接支持。
3.
堆:一种通用的内存池(也位于RAM),用于存放所有的Java对象。
4.
静态存储:这里的静态指的是在固定的位置”(尽管也在RAM),存放程序运行时一直存在的数据。
5.
常量存储:常量值通常直接存放在程序代码内部,这样做是安全的,因为它们永远不会被改变。
6.
RAM存储:如果数据完全存活于程序之外,那么它可以不受程序的任何控制,在程序中没有运行时也可以存在。

       
Java程序设计时经常用到一系列类型,比如char/byte/int/long/float等等,我们有两种方式创建方式,例如创建一个String类型的引用并初始化为“Java”

        String s = "Java";
       
 String s = new String("Java");

       
采用第一种方式创建了一个并非是引用的变量,它的值为“Java”,置于堆栈之中。而第二种方式创建了一个对象,它被存储在堆里,不及在堆栈中高效。因此,当我们需要创建一个很小的、简单的变量时,采用第一种方式更好。这是Java数据存储的一个细节。

posted on 2005-10-28 15:48 Flyingis 阅读(952) 评论(3)  编辑  收藏 所属分类: JavaSE

评论

# re: Java中存储数据的地方  回复  更多评论   

关于你的举例,你怎么确定一个在堆栈,一个在堆的?请教!
2005-10-28 21:51 | weidagang2046

# re: Java中存储数据的地方  回复  更多评论   

基本数据类型是存放在堆栈中,对象是存在堆中,Java就是这样设计的。用new声明的是对象,自然就放在了堆中:)
2005-10-28 22:01 | Flyingis

# re: Java中存储数据的地方[未登录]  回复  更多评论   

今天搜arcIMS来到了您的宝地,呵呵,发现这里真的是个好地方
新起步的我,很高兴发现了并来到这里,
因为才开始,还不知道要问什么问题,暂时就不问了,呵呵
由衷的说一句,您的这些文字对很多人都很有用
为我以后可能要问您问题,提起说声谢谢
2007-06-12 10:28 | rock

只有注册用户登录后才能发表评论。


网站导航: