Java学习:001 数据存储的位置
数据存储的位置
有5个地方
寄存器
最快的存储区-->处理器内部。
但寄存器的数量极其有限,所以寄存器根据需求进行分配(Java),(C、C++允许向编译器建议寄存器的分配方式),
堆栈
位于通用RAM(随机访问存储器),这是一种快速有效的分配存储的方法,仅次于寄存器。Java系统必须知道存储在堆栈内的所有项的确切生命周期,以便于上下移动堆栈指针。(堆栈指针,向下移动,分配新的内存,向上移动,释放内存)。
堆
一种通用的内存池(也位于ARM区),用于存放所有的JAVA对象。编译器不需要知道存储的数据在堆里存活多长时间,因此,在堆里分配存储有很大的灵活性,但,用堆进行存储分批和清理可能比用堆栈进行存储分配需要更多的时间
常量存储
通常直接存放在程序代码内部
非RAM存储
如果数据完全存活于程序之外,那么它可以不受程序的任何控制,在程序没有运行时,也可以存在。其中两个基本的例子是流对象和持久化对象。在流对象中,对象转化为字节流,通常被发送给另一台机器。在持久化对象中,对象被存放于磁盘上,因此,即使程序终止,它们仍可以保持自己的状态。这种存储方式的技巧在于:把对象转化成可以存放在其它媒介上的事物,在需要时,可以恢复成常规的,基于RAM的对象。Java提供了对轻量级持久化的支持,而诸如JDBC和Hibernate这样的机制,提供了更加复杂的堆在数据库中存储和读取对象信息的支持
我看的旧书,不知道是否过时

浙公网安备 33010602011771号