您的位置:首页 > 编程语言 > Java开发

java存储数据的几种方式

2010-11-24 14:20 405 查看
1,寄存器,这个无疑是计算机上面存取数据最快的地方,但他的空间是有限的,所以由编译器来分配,我们不能直接控制存储器。

2,栈,位于“常规内存器”。处理器可以通过栈指针来对他进行直接访问,栈指针向上移动就释放了空间,向下移动就分配了内存空间,他是仅仅次于寄存器的存储方式。因为java编译器必须生成栈指针要移动的代码,所以编译器必须要知道了存储在栈内对象的生命周期。这样对灵活性就大大的打了折扣。所以java只把对象的引用放在栈里面,而对象放在堆里面。

3,堆,是一段“多用途的内存池”,所有java的对象都存储在这里,和栈不同,在堆中创建对象的时候是不需要让编译器知道对象的生命周期和大小,所以在堆中创建对象有一定的灵活性,当然他也是有缺点的,那就是效率不如在栈中创建对象的快,还有就是要用垃圾回收器才能自动释放内存。

4,静态存储,静态存储就是在固定的位置,他能保证在整个程序中都能访问到里面的东西,在java中可以用static来指定一个变量就是静态变量,但是java不会把对象放到静态存储里面。

5,固定存储,常量一般放在这里,因为这样他就不会被改动了,也就更安全了。

6,非内存的存储,如果数据完全独立也程序,那么即使程序不运行了,那么他应该在,如果程序对数据失去控制了,那么他也应该在。流对象和序列化对象就是此类的存储。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: