Java初學者必備4大核心基礎知識

小咖啡111發表於2019-05-20

  很多Java程式設計初學者在剛接觸Java語言程式的時候,不知道該學習掌握哪些必要的基礎知識。本文達妹總結了零基礎學習Java程式語言的幾個基礎知識要點。希望能夠對剛入門的Java新手有幫助。

  1先了解什麼是Java的四個方面

  初學者先弄清這些Java的基本概念也是必不可少的,死記硬背肯定是不行的,重在理解,理解它們之間的區別與聯絡,分別有哪些應用。想想這些程式碼中用到了哪些知識點。不要一味地照著書本敲程式碼。而不去理解。

  1.Java程式語言,即語法。

  2.Java檔案格式,即各種資料夾、檔案的字尾。

  3.Java虛擬機器(JVM),即處理*.class檔案的直譯器。

  4.Java應用程式介面(Java API)。

  2掌握靜態方法和屬性

  靜態方法和屬性用於描述某一類物件群體的特徵,而不是單個物件的特徵。Java中大量應用了靜態方法和屬性,這是一個通常的技巧。但是這種技巧在很多語言中不被頻繁地使用。

  理解靜態方法和屬性對於理解類與物件的關係是十分有幫助的,在大量的Java規範中,靜態方法和屬性被頻繁使用。因此學習者應該理解靜態方法和屬性。Java在方法和屬性的呼叫上是一致的,區別只表現在宣告的時候,這和c++是不同的。

  3初學者還需明白JAVA的三個技術平臺的關係

  Java分為三個體系,分別為Java SE(J2SE,Java2 Platform Standard Edition,標準版)。JavaEE(J2EE,Java 2 Platform, Enterprise Edition,企業版)。Java ME(J2ME,Java 2 Platform Micro Edition,微型版)。

  要知道java是分兩部分的:一個是編譯,一個是執行。

  javac:負責的是編譯的部分,當執行javac時,會啟動java的編譯器程式。對指定副檔名的.java檔案進行編譯。 生成了jvm可以識別的位元組碼檔案。也就是class檔案,也就是java的執行程式。

  java:負責執行的部分.會啟動jvm.載入執行時所需的類庫,並對class檔案進行執行.一個檔案要被執行,必須要有一個執行的起始點,這個起始點就是main函式。

  4掌握JAVA程式碼的基本格式

  1、Java註釋儘可能全面

  對於方法的註釋應該包含詳細的入參和結果說明,有異常丟擲的情況也要詳細敘述:類的註釋應該包含類的功能說明、作者和修改者。

  2、多次使用的相同變數最好歸納成常量

  多處使用的相同值的變數應該儘量歸納為一個常量,方便日後的維護。

  3、儘量少的在迴圈中執行方法呼叫

  儘量在迴圈中少做一些可避免的方法呼叫,這樣可以節省方法棧的建立。例如:

  for(int i=0;i<1list.size();i++){<1 p="">

  System.out.println(i);

  }

  可以修改為:

  for(int i=0,size=list.size();i<1size;i++){<1 p="">

  System.out.println(i);

  }

  4、常量的定義可以放到介面中

  在Java中,介面裡只允許存在常量,因此把常量放到介面中宣告就可以省去public static final這幾個關鍵詞。

  5、ArrayList和LinkedList的選擇

  這個問題比較常見。通常程式設計師最好能夠對list的使用場景做出評估,然後根據特性作出選擇。ArrayList底層是使用陣列實現的,因此隨機讀取資料會比LinkedList快很多,而LinkedList是使用連結串列實現的,新增和刪除資料的速度比ArrayList快不少。

  6、String,StringBuffer和StringBuilder

  這個問題也比較常見。在進行字串拼接處理的時候,String通常會產生多個物件,而且將多個值快取到常量池中。例如:

  String a=“a”;

  String b=“b”;

  a=a+b;

  這種情況下jvm會產生“a”,“b”,“ab”三個物件。而且字串拼接的效能也很低。因此通常需要做字串處理的時候儘量採用StringBuffer和StringBuilder來。

  7、包裝類和基本型別的選擇

  在程式碼中,如果可以使用基本資料型別來做區域性變數型別的話儘量使用基本資料型別,因為基本型別的變數是存放在棧中的,包裝類的變數是在堆中,棧的操作速度比堆快很多。

  8、儘早的將不再使用的變數引用賦給null

  這樣做可以幫助jvm更快的進行記憶體回收。當然很多人其實對這種做法並不感冒。

  9、在finally塊中對資源進行釋放

  典型的場景是使用io流的時候,不論是否出現異常最後都應該在finally中對流進行關閉。

  10、在HashMap中使用一個Object作為key時要注意如何區分Object是否相同

  在jdk的HashMap實現中,判斷兩個Object型別的key是否相同的標準是hashcode是否相同和equals方法的返回值。如果業務上需要對兩個資料相同的記憶體物件當作不同的key儲存到hashmap中就要對hashcode和equals方法進行覆蓋。

  Java描述複雜資料結構的主要方式是集合框架。Java沒有指標,而是透過強大的集合框架描述陣列、物件陣列等複雜的資料結構。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31560357/viewspace-2644916/,如需轉載,請註明出處,否則將追究法律責任。

相關文章