java的數據類型分兩大類:java
基本類型是經過諸如 int a = 5; long b = 6L;的形式來定義的,稱爲自動變量,自動變量存放的是字面值,不是類的實例,它存放在內存的堆棧中,數據大小和生存期必須是肯定的,存取速度比較快,在堆棧中的字面值能夠共享,也就是說咱們定義一個int a = 5;而後又定義了一個int b = 5;這時a與b在內存中指向的是同一個字面常量。數組
四類八種接口
四類:整形、浮點型、布爾型、字符型內存
八種:編譯器
8種基本類型在java中都有對應的封裝類型,也就是引用類型:
整數類型 Byte、Short、Integer(-128~127)、Long
浮點數類型 Float、Double
字符型 Character
布爾類型 Boolean編譯
在參數傳遞時,基本類型都是傳值,也就是傳遞的都是原變量的值得拷貝,改變這個值不會改變原變量變量
除了基本數據就是引用數據類型垃圾回收
基本數據類型加上[] 就變成引用數據類型數據類型
類、接口、數組引用
引用類型通常是經過new關鍵字來建立,好比Integer num = new Integer(3);它存放在內存的堆中,能夠在運行時動態的分配內存大小,生存期也沒必要事先告訴編譯器,當引用類型變量不被使用時,Java內部的垃圾回收器GC會自動回收走。引用變量中存放的不是變量的內容,而是存放變量內容的地址。
引用類型傳遞的是地址,也就是參數與原變量指向的是同一個地址,因此若是改變參數的值,原變量的值也會改變