JAVA存储数据的5个地方
2016-07-23 18:26
190 查看
1 寄存器
这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。寄存器的数量及其有限,所以其会根据需求自动配置,不能直接控制。
2 堆栈
位于通用RAM(随机访问存储器),但通过堆栈指针可以从处理器那里获得直接支持。 堆栈指针向下移动,分配新的内存;向上移动,释放那些内存。 速度仅次于寄存器。 创建程序时,java系统必须知道存储在堆栈内所有的确切生命周期,以便上下移动指针。一般来说对象引用存在这里,但是对象并不在这里。 基本类型的变量也存储在这里。而基本类型的包装器类存放在堆中。
3 堆
一种通用的内存池(也位于RAM区),用于存放所有的java对象。 编译器不需要知道存储的数据在堆里存活多长时间。 new的时候,自动在堆里进行存储分配。
4 常量存储
常量值通常直接存放在程序代码内部。 可选择将其放在ROM(只读存储器)中,比如字符串池。
5 非RAM存储
如果数据完全存活于程序之外,那么它可以不受程序的任何控制,在程序没有运行时也可以存在。比如流对象和持久化对象。在流对象中,对象转化为字节流,发送给另一台机器;持久化对象中,对象被存放在磁盘上。
相关文章推荐
- 基于spring-boot的rest微服务框架
- ubuntu14.04安装JDK1.8和eclipse
- java 排序算法
- Java 文件加密传输与解密算法终极产品版(三)
- Java I/O通过输入输出流进行文件读写(二)用户界面
- Java中通过输入输出流进行文件的读写
- dubbo(一)dubbo+zookeeper 之 Hello World
- SpringMvc整合ehcaech
- Java Notes: Containers
- Java Notes: Containers
- Java Notes: Containers
- Java Notes: Containers
- Java Notes: Containers
- Java Notes: Containers
- Java Notes: Containers
- 关于java中继承抽象类和实现接口的区别
- Android开发工具:Eclipse与Android Studio 快捷键对比
- java多线程都有几种方式实现
- Java加密解密算法-PBE加密解密
- Java 锁机机制——浅析 Synchronized