[Thinking in Java]这些必须先了解

时间:2024-07-29 23:36:44

2.基本概念和认识

2.1 Java引用

Java中一切皆是对象,一切对象实例的标识符号(对象名称)都只是对象的引用。

2.2 对象的创建

  1. 通过new关键字创建,但是要注意基础类型和String类型的特殊之处并且还有常量池的概念。
  2. 放在哪里:
  • 寄存器:位于CPU内部,这是存取最快的区域,但是Java并不能直接控制,程序运行过程中也并不能感知到这一块的分配和操作情况;
  • 堆栈:位于RAM,存放基础类型变量数据和对象、数组的引用,但是对象本身并不在堆栈中,而是在堆中或常量池中;
  • 堆:位于RAM,存放new出来的对象;
  • 静态存储:位于RAM,存放static变量;
  • 常量存储:可以放在ROM,存放public final static变量;
  • 非RAM存储:硬盘等永久存储空间,存放持久化对象。
  • 存取速度:寄存器>堆栈>堆>其它
  • 基本类型:基本类型不是创建对象并放在堆中而是直接将值放在堆栈中,这样更加高效,这些基本类型有:
    基本类型 大小 最小值 最大值 包装类
    boolean - - - Boolean
    char 16bit unicode 0 unicode 216 - 1 Character
    byte 8bit -128 +127 Byte
    short 16bit -215 +215 - 1 Short
    int 32bit -231 +231 - 1 Integer
    long 64bit -263 +263 - 1 Long
    float 32bit IEEE754 IEEE754 Float
    double 64bit IEEE754 IEEE754 Double
    void - - - Void
  •   5.数组:创建数组就等于创建了一个引用数组,数组里保存每个元素对象的引用。

    2.3 GC

    不需要程序员主动释放内存。

    2.4 类

    1. class关键字。
    2. 默认值:类中基本类型的成员变量,如果没有初始化,他们将被初始化为0(泛),但是局部变量未初始化却会在编译阶段报错。

    2.5 方法参数返回值

    ReturnType methodName(/* Argument list */) {
    /* Method body */
    }

    2.6 Java程序

    1. 包命名规范:域名反转,解决冲突;
    2. import关键字:告诉编译器将要引用的类的位置;
    3. static关键字:方法、成员变量、域