當前位置:
首頁 > 知識 > Java編程語言基礎知識的 要點

Java編程語言基礎知識的 要點


很多Java編程初學者在剛接觸Java語言程序的時候,不知道該學習掌握哪些必要的基礎知識。下面就說說Java零基礎學習Java編程語言基礎知識的幾個要點。希望能夠對Java編程基礎入門學習的新手有幫助。



Java編程語言基礎知識的 要點



一、先明白了解什麼是Java的四個方面。


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

Java編程語言,即語法。


Java文件格式,即各種文件夾、文件的後綴。


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


Java應用程序介面(Java API)。


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


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


java:負責運行的部分.會啟動jvm.載入運行時所需的類庫,並對class文件進行執行.


一個文件要被執行,必須要有一個執行的起始點,這個起始點就是main函數.


二、掌握靜態方法和屬性


靜態方法和屬性用於描述某一類對象群體的特徵,而不是單個對象的特徵。Java中大量應用了靜態方法和屬性,這是一個通常的技巧。但是這種技巧在很多語言中不被頻繁地使用。理解靜態方法和屬性對於理解類與對象的關係是十分有幫助的,在大量的Java規範中,靜態方法和屬性被頻繁使用。因此學習者應該理解靜態方法和屬性。Java在方法和屬性的調用上是一致的,區別只表現在聲明的時候,這和c++是不同的。

三、初學者還需明白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函數.


四、掌握JAVA代碼的基本格式


1、Java注釋儘可能全面

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


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


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


3、盡量少的在循環中執行方法調用


盡量在循環中少做一些可避免的方法調用,這樣可以節省方法棧的創建。例如:


for(int i=0;i


}


可以修改為:


for(int i=0,size=list.size();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描述複雜數據結構的主要方式是集合框架。Java沒有指針,而是通過強大的集合框架描述數組、對象數組等複雜的數據結構。學好這些數據結構的描述方法對於應用程序編寫,特別是涉及到伺服器方、3層結構編程至關重要。程序員在這個時候不能再用諸如資料庫結果集之類的結構描述數據了。


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

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 java學習吧 的精彩文章:

這些計算機 網路知識應該作為程序員的入門基礎
成為Java高手的 25個學習要點
別人眼中的程序員 VS 現實中的程序員

TAG:java學習吧 |

您可能感興趣

數據領域最強編程語言Python和R要合作了!
C語言/C加加編程嵌入式基礎學習之volatile關鍵字
Pony 編程語言簡介
Go 語言編程
一圖看懂編程語言遷移模式:終點站是Python、Go、JS
符合語言習慣的Python優雅編程技巧
符合語言習慣的 Python 優雅編程技巧
你第一門真正學習的編程語言——Python
GitHub趨勢榜第二名:解析、對比不同編程語言的Semantic庫
再見 Python!Yann LeCun 警告:深度學習需要新編程語言
再見Python!Yann LeCun警告:深度學習需要新編程語言
程序員為什麼愛用Julia語言?這裡有五點理由
Python編程語言學習得怎麼樣,看你是否正真入行Python領域
哪門編程語言更賺錢?看看 Stack Overflow 的最新調查
Rockstar:能寫出詩歌般代碼的編程語言
最適合兒童的編程語言-Python
自製Monkey編程語言編譯器:增加數組操作API和Mapsh數據類型
在眾多編程語言中,我為什麼要學Python?
C++無法滿足超算編程需求,斯坦福研發專用語言Regent
RedMonk發布編程語言排行榜:Swift成為全球增長最快的編程語言