美文网首页
Java基础之对象存储

Java基础之对象存储

作者: 一生鎻愛 | 来源:发表于2018-09-26 17:12 被阅读0次

    程序运行时,对象是如何安放的?内存又是如何分配的?

    • 有五个地方可以存储数据

    寄存器

    这是最快的存储区,因为它位于处理器内部。但存储器的数量极其有限,并且不被外部所控制和感知。

    堆栈

    位于通用RAM(随机访问存储器),通过堆栈指针操作内存,这同样是一个很快的存储区,仅次于寄存器存储区。创建程序时,java系统必须知道存储在堆栈内所有项的确切生命周期,对象的引用就存储在此,然而java对象并不存储于此。

    一种通用的内存池(也位于RAM),用于存储所有的java对象。堆不同于栈的好处是:编译器不需要知道对象的生命周期,因此在堆里分配存储有很大灵活性,当然,为这种灵活性必须要付出相应的代价,用堆进行存储分配和清理可能比用栈进行存储分配花费更多的时间。

    常量存储

    常量值通常直接存储在程序代码内部,这样做是安全的,因为他们永远不会被改变。

    非RAM存储

    也就是硬盘,流对象和持久化对象存在于此。

    相关文章

      网友评论

          本文标题:Java基础之对象存储

          本文链接:https://www.haomeiwen.com/subject/glcjoftx.html