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沒有指針,而是通過強大的集合框架描述數組、對象數組等複雜的數據結構。學好這些數據結構的描述方法對於應用程序編寫,特別是涉及到伺服器方、3層結構編程至關重要。程序員在這個時候不能再用諸如資料庫結果集之類的結構描述數據了。
由於很多語言沒有這麼強大的集合框架體系,很多初學者不知所措,更不知道拿來做什麼用,因此應該引起足夠的重視。
※web前端 開發學習誤區及正確學方法
※Java程序員應聘必須知道的那些事
※面試求職中你需要了解的Java面向對象
※Java設計模式中 單例設計模式
※Java程序猿初學必看 的常用英語
TAG:java學習吧 |
※學習python你需要熟知的基礎知識
※python基礎知識
※學習Python需要哪些基礎知識?
※python爬蟲知識點2-selenium的基礎知識點
※Python基礎知識系列——函數
※知識篇│義大利有種任性叫「I Don t Care」
※Python基礎知識系列——字典
※WolframAlpha-未來的語義知識引擎
※Python基礎知識系列——列表和元組
※seo入門基礎知識
※Python文件操作知識點全解
※OpenStack關鍵技術系列:Libvirt基礎知識
※Hreflang標籤知識與多國語言網站SEO優化
※Python基礎知識系列——字元串
※Fantastic Reading 知識的目的
※掌握這些Photoshop中顏色的基礎知識,提升你的設計能力
※再也不會忘記知識點!科普記憶軟體SuperMemo和Anki
※完美Python入門基礎知識點總結
※用 Emoji 表情符號,為你科普比特幣知識
※csgo破點必須掌握的知識