零基礎學Android:Java存儲和基本數據類型

也有很多初學的朋友說,我java可不可以不學,直接學Android?

在此我說下我的理解:

Android目前主流的開發語言是java和kotlin,作爲開發語言本身,如果你掌握得不夠深,也許你依然能夠依葫蘆畫瓢寫出程序,但是深入到性能調優、內存泄露時,排查一些由於多線程或引用替換引發的Bug時,你會覺得力不從心,因爲你對語言還只是停留在用的層面,而沒到駕馭的程度。所以建議一定要學好java的基本功。如果你熟練掌握了,你會發現再去學習另一門語言,很快就能融入進去。

java書籍推薦如下:

Android學習書籍推薦如下:


Java的存儲

言歸正傳,今天我們來學習java的存儲。程序在運行時,對象是存儲在哪裏的,數據又是怎麼存放的?這塊也是面試官特別喜歡問的技術點:

  • 寄存器

    最快的存儲區域。java中代碼不可控制,C/C++可以代碼申請該區域

    在函數中定義的一些基本類型的變量數據和對象的引用變量都在函數的棧內存中分配。

    堆內存用來存放由new創建的對象和數組。 在堆中分配的內存,由Java虛擬機的自動垃圾回收器來管理。

  • 方法區

    被Java虛擬機加載的類信息、常量、靜態變量。

Java的數據類型分爲兩種:基本數據類型和引用類型。

基本數據類型






























public class Test {    static boolean bool;     static byte by; // 8 bit    static char ch; // 16 bit        static double d; // 64 bit    static float f; // 32 bit    static int i; // 32 bit    static long l; // 64 bit     static short sh; //16 bit     public static void main(String[] args) {        System.out.println("Bool :" + bool);        System.out.println("Byte :" + by);        System.out.println("Character:" + ch);        System.out.println("Double :" + d);        System.out.println("Float :" + f);        System.out.println("Integer :" + i);        System.out.println("Long :" + l);        System.out.println("Short :" + sh);    }} 打印結果如下:Bool     :falseByte     :0Character:Double   :0.0Float    :0.0Integer  :0Long     :0Short    :0

註釋中標明瞭每種數據類型所佔的位數。

PS: 這裏再簡單科普下字符,字節,位 ,B,KB,M這些的關係

Bit 意爲“位”或“比特”,是計算機運算的基礎,屬於二進制的範疇;Byte意爲“字節”,是計算機文件大小的基本計算單位;

1個字節(Byte) = 8 位(Bit)

1個字符 = 2 個字節

1KB = 1024 Byte(字節) = 1024*8 Bit( 位)

1MB = 1024KB

這樣大家應該理解我們平時文件大小含義了。

品略圖書館 http://www.pinlue.com/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章