JAVA 基础知识 存储到什么地方

存储到什么地方:

1 . 寄存器。 这是最快的的存储器 ,因为这是位于处理器内部,但是寄存器并不大。所以寄存器是按需分配,你不能进行直接控制。也不能在程序中感觉到寄存器的任何迹象(但是C和C++允许向编译器建议寄存器的分配方式)

2 .堆栈(一般来说是栈)。 位于通用的RAM(随即访问存储器)中。但通过堆栈指针可以从处理器那里直接得到支持。堆栈若向下移动,则分配新的内存;若向上移动,则释放内存。这是一种快速有效的方法,仅次于寄存器,创建程序时Java必须知存储在堆栈中的所有项的确切生命周期,以便上下移动堆栈指针。这一约束限制了程序的灵活性,所以某些Java数据存在duizhan中——特别时对象的引用,但是却并不把对象存储到堆栈中。

3 .堆 。 一种通用的内存池(也位于RAM区),用于存放所有的Java的对象。堆不同于堆栈的好处是:编译器不需要知道存储的数据在堆利存活多长时间。因此,在堆里分配存储有很大的灵活性。当需要一个对象时,只需要永new写一行代码,当执行这段代码的时候就自动的在堆里进行分配。当然者中灵活性必须要付出相应的代价:用堆进行存储分配和清理比用堆栈花的时间长的多(如果Java确实能项C和C++一样可以在堆栈里创建对象)。

4 . 常量存储。 常量的值直接就饿放在程序代码的内部,这样做时安全的。因为他们呢永远不会改变。有时。在嵌入式系统中,常量本身会和其他的部分隔离开,在这种情况下,可以选择将其放在ROM中(只读存储器)。

此外当然还有你的硬盘之类的东西。不过那是独立于程序之外的东西,另外还有一个叫 流对象 和 另一个 持久化对象 的两个东西我不明白是什么东西。 慢慢来吧。

posted on 2013-08-06 17:11  千樱硕  阅读(177)  评论(0)    收藏  举报

导航