数据存储到什么地方
来源:互联网 发布:好听的网络歌曲女生 编辑:程序博客网 时间:2024/04/30 22:08
程序运行时,对象是怎么进行放置安排的呢?内存是怎样分配的呢?对这些方面的了解会对你有很大的帮助.
有六个不同的地方可以存储数据:1.寄存器(register)
这是最快的存储区,因为它位于不同于其他存储区的地方----处理器的内部.
但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配.
你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象.
创建程序时,java编译器必须知道存储在堆栈内所有数据的确切大小和生命周期,因为它必须生成相应的代码,以便上下移动堆栈指针.
这一约束限制了程序的灵活性,所以虽然某些java数据存储于堆栈中----特别事对象引用,但是java对象并不存储于其中.
堆不同于堆栈的好处是:编译器不需要知道要从堆里分配多少存储区域,也不必知道存储的数据在堆里存活多长时间.
因此,在堆里分配存储有很大的灵活性.当你需要创建一个对象时,只需要用new写一行简单的代码,当执行这行代码时,会自动在堆里进行存储分配.
当然,为这种灵活性必须要付出相应的代价.用堆进行存储分配比用堆栈进行存储需要更多的时间.
静态存储里存放程序运行时一直存在的数据.你可以用static关键字来标识一个对象的特定元素是静态的,但java对象本身从来不会存放在静态存储空间里.
5.常量存储(constant storage).常量值通常直接存放在程序代码内部,这样做是安全的,因为它们永远不会被改变.有时候,在嵌入式系统中,常量本身会喝其他部分隔离开,在这种情况下,可以选择将其存放在ROM(read-only memory只读存储器)中.
在"流对象"中,对象转化成字节流,通常被发送给另一台机器.
在"持久化对象"中,对象被存放于磁盘上,因此即使程序终止,它们仍然可以保持自己的状态.
这种存储方式的技巧在于:把对象转化成可以存放在其他媒介上的事物,在需要时,可恢复成常规的.基于RAM的对象.
0 0
- 数据存储到什么地方
- 数据存储到什么地方?--内存分配
- 存储到什么地方
- 对象存储到什么地方
- Java 存储到什么地方
- Java对象存储到什么地方
- NSUserDefaults数据存储在什么地方?
- NSUserDefaults数据存储在什么地方?
- NSUserDefaults数据存储在什么地方
- java程序运行时会存储到什么地方
- 数据保存到什么地方(THINKING IN JAVA)
- 程序开发,数据变量常量对象等保存到什么地方?
- 程序运行时Java数据保存到什么地方
- 程序的局部变量 全局变量 动态申请数据分别存储在什么地方
- 程序的局部变量 全局变量 动态申请数据分别存储在什么地方?
- 程序的局部变量 全局变量 动态申请数据分别存储在什么地方?
- java 数据存放在什么地方
- 文件应该存储在手机的什么地方?
- C# winform中keyDown事件用法
- Cython 0.15,用 OpenMP 并行多核加速 Python!
- Character set 'utf8mb4' is not a compiled character set
- 获得真实IP地址
- Session和Application实现网络在线聊天室实例
- 数据存储到什么地方
- django发送邮件send_mail的问题
- redmine
- Win7开启远程桌面——图文详解
- 尝试cython和openmp
- Unable to execute dex: Multiple dex files define 解决方法
- vmware9安装ubuntu13.04后,装完vmware tool看不到共享文件
- linux 定时备份
- OUYA游戏开发快速入门教程第1章了解OUYA及其设备