你的位置:首页 > Java教程

[Java教程]Java程序运行时数据存储位置

 

  1. 寄存器: 这是最快的存储区, 但是寄存器的数量极其有限, 所以寄存器根据需求进行分配, 而且不能直接控制.
  2. 堆栈: 位于通用的RAM(随机访问存储器), Java系统必须知道存储在堆栈内所有项的确切生命周期, 以便上下移动堆栈指针. 这一约束限制了程序的灵活性,所以虽然某些Java数据存储于堆栈中, 特别是对象的引用, 但是Java对象并不存储于其中.
  3. 堆: 一种通用的内存池(也位于RAM区), 用于存放所有的Java对象. 堆不同于堆栈的好处是编译器不需要知道存储的数据在堆里存活多久.
  4. 常量存储: 常量值通常直接存放在程序代码内部. 这样做是安全的, 因为它们永远不会被改变.
  5. 非RAM存储: 如果数据完全存活于程序之外, 那么它可以不受程序的任何控制. 其中两个基本的盒子是流对象和持久化对象. 这种存储方式的技巧在于把对象转化成可以存放在其它媒介上, 在需要时可恢复成常规的, 基于RAM的对象. Java提供了对轻量级持久化的支持, 如JDBC和Hibernate.