溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

好程序員Java培訓分享初學入門須掌握4大核心基礎(chǔ)!

發(fā)布時間:2020-08-11 21:15:16 來源:ITPUB博客 閱讀:148 作者:好程序員 欄目:編程語言

  好程序員 Java 培訓分享 初學入門須掌握4 大核心基礎(chǔ)!很多 Java 編程初學者在剛接觸 Java 語言程序的時候,不知道該學習掌握哪些必要的基礎(chǔ)知識。本文小編總結(jié)了零基礎(chǔ)學習 Java 編程語言的幾個基礎(chǔ)知識要點。希望能夠?qū)側(cè)腴T的 Java 新手有幫助。

  01 先了解什么是 Java 的四個方面

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

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

  2.Java 文件格式,即各種文件夾、文件的后綴。

  3.Java 虛擬機 (JVM) ,即處理 *.class 文件的解釋器。

  4.Java 應用程序接口 (Java API) 。

  02 掌握靜態(tài)方法和屬性

  靜態(tài)方法和屬性用于描述某一類對象群體的特征,而不是單個對象的特征。Java 中大量應用了靜態(tài)方法和屬性,這是一個通常的技巧。但是這種技巧在很多語言中不被頻繁地使用。

  理解靜態(tài)方法和屬性對于理解類與對象的關(guān)系是十分有幫助的,在大量的Java 規(guī)范中,靜態(tài)方法和屬性被頻繁使用。因此學習者應該理解靜態(tài)方法和屬性。 Java 在方法和屬性的調(diào)用上是一致的,區(qū)別只表現(xiàn)在聲明的時候,這和 c++ 是不同的。

  03JAVA 的三個技術(shù)平臺的關(guān)系

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

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

  javac :負責的是編譯的部分,當執(zhí)行 javac 時,會啟動 java 的編譯器程序。對指定擴展名的 .java 文件進行編譯。 生成了 jvm 可以識別的字節(jié)碼文件。也就是 class 文件,也就是 java 的運行程序。

  java :負責運行的部分 . 會啟動 jvm. 加載運行時所需的類庫 , 并對 class 文件進行執(zhí)行 . 一個文件要被執(zhí)行 , 必須要有一個執(zhí)行的起始點 , 這個起始點就是 main 函數(shù)。

  04 掌握 JAVA 代碼的基本格式

  1 Java 注釋盡可能全面

  對于方法的注釋應該包含詳細的入?yún)⒑徒Y(jié)果說明,有異常拋出的情況也要詳細敘述:類的注釋應該包含類的功能說明、作者和修改者。

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

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

  3 、盡量少的在循環(huán)中執(zhí)行方法調(diào)用

  盡量在循環(huán)中少做一些可避免的方法調(diào)用,這樣可以節(jié)省方法棧的創(chuàng)建。例如:

  for int i=0;i<list.size (); i++ {

  System.out.println i );

  }

  可以修改為:

  for int i=0,size=list.size (); i<size;i++ {

  System.out.println i );

  }

  4 、常量的定義可以放到接口中

  在Java 中,接口里只允許存在常量,因此把常量放到接口中聲明就可以省去 public static final 這幾個關(guān)鍵詞。

  5 、 ArrayList LinkedList 的選擇

  這個問題比較常見。通常程序員最好能夠?qū)?/span>list 的使用場景做出評估,然后根據(jù)特性作出選擇。 ArrayList 底層是使用數(shù)組實現(xiàn)的,因此隨機讀取數(shù)據(jù)會比 LinkedList 快很多,而 LinkedList 是使用鏈表實現(xiàn)的,新增和刪除數(shù)據(jù)的速度比 ArrayList 快不少。

  6 String,StringBuffer StringBuilder

  這個問題也比較常見。在進行字符串拼接處理的時候,String 通常會產(chǎn)生多個對象,而且將多個值緩存到常量池中。例如:

  String a= a ;

  String b= b ;

  a=a+b;

  這種情況下jvm 會產(chǎn)生“ a , b , ab ”三個對象。而且字符串拼接的性能也很低。因此通常需要做字符串處理的時候盡量采用 StringBuffer StringBuilder 來。

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

  在代碼中,如果可以使用基本數(shù)據(jù)類型來做局部變量類型的話盡量使用基本數(shù)據(jù)類型,因為基本類型的變量是存放在棧中的,包裝類的變量是在堆中,棧的操作速度比堆快很多。

  8 、盡早的將不再使用的變量引用賦給 null

  這樣做可以幫助jvm 更快的進行內(nèi)存回收。當然很多人其實對這種做法并不感冒。

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

  典型的場景是使用io 流的時候,不論是否出現(xiàn)異常最后都應該在 finally 中對流進行關(guān)閉。

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

  在jdk HashMap 實現(xiàn)中,判斷兩個 Object 類型的 key 是否相同的標準是 hashcode 是否相同和 equals 方法的返回值。如果業(yè)務上需要對兩個數(shù)據(jù)相同的內(nèi)存對象當作不同的 key 存儲到 hashmap 中就要對 hashcode equals 方法進行覆蓋。

  Java 描述復雜數(shù)據(jù)結(jié)構(gòu)的主要方式是集合框架。 Java 沒有指針,而是通過強大的集合框架描述數(shù)組、對象數(shù)組等復雜的數(shù)據(jù)結(jié)構(gòu)。

  學好這些數(shù)據(jù)結(jié)構(gòu)的描述方法對于應用程序編寫,特別是涉及到服務器方、3 層結(jié)構(gòu)編程至關(guān)重要。程序員在這個時候不能再用諸如數(shù)據(jù)庫結(jié)果集之類的結(jié)構(gòu)描述數(shù)據(jù)了。

  由于很多語言沒有這么強大的集合框架體系,很多初學者不知所措,更不知道拿來做什么用,因此應該引起足夠的重視。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI