美文网首页
Java编程思想片段之 Java的存储(二)

Java编程思想片段之 Java的存储(二)

作者: 998584f56259 | 来源:发表于2016-08-08 23:10 被阅读17次

1、寄存器。这是最快的存储区,因为它位于不用于其他存储区的地方--处理器内部。但是寄存器的数量极其有限,所以寄存器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任何迹象(另一方面,C和C++允许你向编辑器建议寄存器的分配方式)。

2、堆栈。位于通用RAM(随机访问存储器)中,但通过堆栈指针可以从处理器那里获得直接支持。堆栈指针若向下移动,则分配新的内存;若向上移动,则释放那些内存。这是一种快速有效的分配存储方法,仅次于寄存器。创建程序时,Java系统必须知道存储在堆栈内错有项的确切的生命周期,以便上下移动堆栈指针。这一约束限制了程序的灵活性,所以虽然某些Java数据存储于堆栈中---特别是对象引用,但是Java对象并不存储于其中。

3、堆。一种通用的内存池(也位于RAM区),用于存放所有的Java对象。堆不同于堆栈的好处是:编译器不需要知道粗糙农户的数据在堆里存活多长时间。因此,在堆里分配粗糙农户有很大的灵活性。当需要一个对象时,只需要new写一行简单的代码,当执行这行代码时,会自动在堆里进行存储分配。当然,为这种灵活性必须付出相应的代价:用堆进行存储分配和清理可能比用堆栈进行存储分配需要更多的时间(如果确实可以在Java中像C++中一样在栈中创建对象)。

4、常量存储。常量值通常直接存放在程序代码内部,这样做事安全的,因为它们永远不会被改变,有时,在嵌入式系统中,常量本身会和其他部分分隔开,所以在这种情况下,可以选择将其存放在ROM(只读存储器)中。

5、非RAM存储。如果数据完全存活于程序之外,那么它可以不受程序的任何控制,在程序没有运行时也可以存在。其中两个基本的例子是流对象和持久化对象。在流对象中,对象转化成字节流,通常被发送给另外一台机器。在“持久化对象”中,对象被存放于磁盘上,因此,即使程序终止,它们仍可以保持自己的状态。这种存储方式的技巧在于:把对象转化成可以存放在其他媒介上的事物,在需要时,可以恢复成常规的,基于RAM的对象。Java提供了轻量级持久化的支持,而诸如JDBC和Hibernate这样的机制提供了更加复杂的对数据库中存储和读取对象信息的支持。

相关文章

  • Java编程思想片段之 Java的存储(二)

    1、寄存器。这是最快的存储区,因为它位于不用于其他存储区的地方--处理器内部。但是寄存器的数量极其有限,所以寄存器...

  • 有追求的程序员书单

    Java经典进阶书籍 Effective Java Java编程思想 Java并发编程实战 Java核心技术卷一 ...

  • 双11Java程序员书单推荐

    Java 《Java核心技术卷I》 《Java核心技术卷II》 《Java编程思想》 《Java并发编程实战》 《...

  • Java编程思想片段(一)

    1、万物皆对象。将对象视为奇特的变量,它可以存储数据,除此之外,你还可以要求它在自身上执行操作。理论上讲,你可以抽...

  • Java——注解(Annotation)入门学习

    学习资料: Java编程思想 ——第20章 公共技术点之 Java 注解 Annotation 注解(Annota...

  • java编程思想---对象存储

    创建一个对象用关键字new.如: 以下内容摘自《java编程思想》第三版: 存储位置 程序运行时,对象怎么设置安排...

  • scala 编程快速入门

    Scala编程思想 作者布鲁斯 埃克尔(Bruce Eckel),也是Java编程思想的作者,本书是入门读本,和之...

  • java的编程思想

    《java的编程思想》 编辑推荐 《Java编程思想(第4版)》获奖历史: ·2003年《Software Dev...

  • 2018-10-16

    Java编程思想 1~12 java多线程编程核心技术 23~57

  • Java架构师阅读书单

    一、内功心法 Java基础: 《Java核心技术》《Java编程思想》《Effective Java》 多线程...

网友评论

      本文标题:Java编程思想片段之 Java的存储(二)

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