好程序員Java分享零基礎學Java要掌握哪些技能?初學者先弄清這些Java的基本概念也是必不可少的,死記硬背確定是不行的,重在理解,理解它們之間的區別與聯繫,分別有哪些應用。想一想這些代碼中用到了哪些知識點。不要一味地照着書本敲代碼。先了解什麼是Java的四個方面。c++
1.Java編程語言,即語法。程序員
2.Java文件格式,即各類文件夾、文件的後綴。數據庫
3.Java虛擬機(JVM),即處理*.class文件的解釋器。編程
4.Java應用程序接口(Java API)。數組
1、掌握靜態方法和屬性緩存
靜態方法和屬性用於描述某一類對象羣體的特徵,而不是單個對象的特徵。Java中大量應用了靜態方法和屬性,這是一個一般的技巧。可是這種技巧在不少語言中不被頻繁地使用。服務器
理解靜態方法和屬性對於理解類與對象的關係是十分有幫助的,在大量的Java規範中,靜態方法和屬性被頻繁使用。所以學習者應該理解靜態方法和屬性。Java在方法和屬性的調用上是一致的,區別只表如今聲明的時候,這和c++是不一樣的。數據結構
2、Java的三個技術平臺的關係框架
Java分爲三個體系,分別爲Java SE(J2SE,Java2 Platform Standard Edition,標準版)。JavaEE(J2EE,Java 2 Platform, Enterprise Edition,企業版)。Java ME(J2ME,Java 2 Platform Micro Edition,微型版)。jvm
要知道Java是分兩部分的:一個是編譯,一個是運行。
Javac:負責的是編譯的部分,當執行Javac時,會啓動Java的編譯器程序。對指定擴展名的.Java文件進行編譯。 生成了jvm能夠識別的字節碼文件。也就是class文件,也就是Java的運行程序。
Java:負責運行的部分.會啓動jvm.加載運行時所需的類庫,並對class文件進行執行.一個文件要被執行,必需要有一個執行的起始點,這個起始點就是main函數。
3、掌握Java代碼的基本格式
一、Java註釋儘量全面
對於方法的註釋應該包含詳細的入參和結果說明,有異常拋出的狀況也要詳細敘述:類的註釋應該包含類的功能說明、做者和修改者。
二、屢次使用的相同變量最好概括成常量
多處使用的相同值的變量應該儘可能概括爲一個常量,方便往後的維護。
三、儘可能少的在循環中執行方法調用
儘可能在循環中少作一些可避免的方法調用,這樣能夠節省方法棧的建立。例如:
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);
}
四、常量的定義能夠放到接口中
在Java中,接口裏只容許存在常量,所以把常量放到接口中聲明就能夠省去public static final這幾個關鍵詞。
五、ArrayList和LinkedList的選擇
這個問題比較常見。一般程序員最好可以對list的使用場景作出評估,而後根據特性做出選擇。ArrayList底層是使用數組實現的,所以隨機讀取數據會比LinkedList快不少,而LinkedList是使用鏈表實現的,新增和刪除數據的速度比ArrayList快很多。
六、String,StringBuffer和StringBuilder
這個問題也比較常見。在進行字符串拼接處理的時候,String一般會產生多個對象,並且將多個值緩存到常量池中。例如:
String a=「a」;
String b=「b」;
a=a+b;
這種狀況下jvm會產生「a」,「b」,「ab」三個對象。並且字符串拼接的性能也很低。所以一般須要作字符串處理的時候儘可能採用StringBuffer和StringBuilder來。
七、包裝類和基本類型的選擇
在代碼中,若是可使用基本數據類型來作局部變量類型的話儘可能使用基本數據類型,由於基本類型的變量是存放在棧中的,包裝類的變量是在堆中,棧的操做速度比堆快不少。
八、儘早的將再也不使用的變量引用賦給null
這樣作能夠幫助jvm更快的進行內存回收。固然不少人其實對這種作法並不感冒。
九、在finally塊中對資源進行釋放
典型的場景是使用io流的時候,不管是否出現異常最後都應該在finally中對流進行關閉。
十、在HashMap中使用一個Object做爲key時要注意如何區分Object是否相同
在jdk的HashMap實現中,判斷兩個Object類型的key是否相同的標準是hashcode是否相同和equals方法的返回值。若是業務上須要對兩個數據相同的內存對象看成不一樣的key存儲到hashmap中就要對hashcode和equals方法進行覆蓋。
Java描述複雜數據結構的主要方式是集合框架。Java沒有指針,而是經過強大的集合框架描述數組、對象數組等複雜的數據結構。
學好這些數據結構的描述方法對於應用程序編寫,特別是涉及到服務器方、3層結構編程相當重要。程序員在這個時候不能再用諸如數據庫結果集之類的結構描述數據了。
因爲不少語言沒有這麼強大的集合框架體系,不少零基礎學習Java的小夥伴不知道須要掌握哪些基礎技能?更不知道拿來作什麼用,所以應該引發足夠的重視。