在java的运行环境中,我们一般会关注,对象的存储位置。在java中,一般有5个存储空间。
1.寄存器
寄存器就是最快的存储区,位于处理器内部
2.堆栈
位于通常的RAM中,通过堆栈指针获取。如果需要分配新的内存空间,需要将指针下移。如果需要释放存储空间,需要将指针上移。一般,我们需要知道生命周期。
3.堆
堆的位置一般在内存池中,用于存放所有的JAVA对象,我们无需知晓存活的时间,但是比堆栈进行存储分配和清理耗费更多的时间。
4.常量存储
常量通常存放在程序代码中,也可以放在ROM中
5.非RAM存储
在流对象中,对象转化为字节流发送给另一台机器。
在持久化对象中,对象存放在磁盘上。
注意:把对象转化为可以存放在其他媒介上的事物时,在需要时可以恢复成常规的基于RAM的对象。
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————
如果,我们关注数据的存储,那么我们同样需要关注Java中的GC机制。虽然说在java中,GC由系统控制,但是不正常的数据引用和错误的赋予其过长的生命周期,将导致内存泄漏等一系列问题。因此,关注java的存储空间,为以后的学习打好基础显得由为重要!
新闻热点
疑难解答