美文网首页
Java - 一切都是对象

Java - 一切都是对象

作者: 司鑫 | 来源:发表于2017-08-01 13:38 被阅读30次

    1 用引用操作对象

    在 Java 语言中我们知道一切都是对象,但操作的标识符其实是一个“引用”,一个引用并不一定需要和一个对象关联。

    String str ;
    

    这时 str 就是一个引用而不是一个对象。当我们对一个为初始化的引用进行操作时便会遇到运行时异常。

    2 对象的创建

         存储到什么地方

    当程序运行时,对象所存放的位置:

    • 寄存器:这是最快的存储区,它位于处理器内部,但是存储器的数量是极其有限的,所以存储器是按需分配,我们不可以进行操作。
    • 堆栈:仅次于寄存器,位于通用 RAM(随机访问存储器),通过堆栈指针可以从存储器中分配/释放内存,java 系统必须知道存储在堆栈内所有项的确切的生命周期,以便于上下移动指针,这一约束限制了程序的灵活性,所以对象一般不会被存储着堆栈中,堆栈一般存储对象的引用。
    • 堆:一种通用的内存池(位于RAM),用于存放 java 对象,在堆中分配有很大的灵活性,因为不需要知道存储在堆中的数据的生命周期,但分配/清理可以消耗的时间要长于堆栈。
    • 常量存储:常量值通常被存储在程序代码内部,因为其永远都不会被改变。
    • 非 RAM 存储

         基本类型

    基本类型 默认值 大小
    boolean false -
    char null 16b
    byte (byte)0 8b
    short (short)0 16b
    int 0 32b
    long 0L 64b
    float 0f 32b
    double 0.0d 64b

    相关文章

      网友评论

          本文标题:Java - 一切都是对象

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