Java知識點總結基礎篇(1-5)

編程語言 Java 面向對象程序編程 選擇比機遇更重要 2017-06-09

Java知識點總結基礎篇(1-5)

一、JDK常用的包

java.lang: 這個是系統的基礎類,比如String、Math、Integer、System和Thread, 提供常用功能。

java.io: 這裡面是所有輸入輸出有關的類,比如文件操作等

java.net: 這裡面是與網絡有關的類,比如URL,URLConnection等。

java.util : 這個是系統輔助類,特別是集合類Collection,List,Map等。

java.sql: 這個是數據庫操作的類,Connection, Statememt,ResultSet等

二、Get和Post的區別

1.get是從服務器上獲取數據,post是向服務器傳送數據,

2.get傳送的數據量較小,不能大於2KB。post傳送的數據量較大,一般被默認為不受限制。

3.get安全性非常低,post安全性較高。但是執行效率卻比Post方法好。

4.在進行文件上傳時只能使用post而不能是get。

三、Java多態的具體體現

面向對象編程有四個特徵:抽象,封裝,繼承,多態。

多態有四種體現形式:

1. 接口和接口的繼承。

2. 類和類的繼承。

3. 重載。

4. 重寫。

其中重載和重寫為核心。

重載:重載發生在同一個類中,在該類中如果存在多個同名方

法,但是方法的參數類型和個數不一樣,那麼說明該方法被重

載了。

重寫:重寫發生在子類繼承父類的關係中,父類中的方法被子

類繼承,方法名,返回值類型,參數完全一樣,但是方法體不

一樣,那麼說明父類中的該方法被子類重寫了。

抽象:抽象就是忽略一個主題中與當前目標無關的那些方面,以便更充分地注意與當前目標有關的方面,抽象並不打算了解全部問題,而只是選擇其中的一部分,暫時不用部分細節。抽象包括兩個方面,一是過程抽象,二是數據抽象。

繼承:繼承是一種聯結類的層次模型,並且允許和鼓勵類的重用,它提供了一種明確表述共性的方法。對象的一個新類可以從現有的類中派生,這個過程稱為類繼承。新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類)。派生類可以從它的基類那裡繼承方法和實例變量,並且類可以修改或增加新的方法使之更適合特殊的需要。

封裝:封裝是把過程和數據包圍起來,對數據的訪問只能通過已定義的界面。面向對象計算始於這個基本概念,即現實世界可以被描繪成一系列完全自治、封裝的對象,這些對象通過一個受保護的藉口訪問其他對象。

多態:多態性是指允許不同類的對象對同一消息作出相響。多態性包括參數化多態性和包含多態性。多態性語言具有靈活、抽象、行為共享、代碼共享的優勢,很好的解決了應用程序函數同名問題。

四、StringBuffer StringBuilder String 區別

String 字符串常量 不可變 使用字符串拼接時是不同的2個空間

StringBuffer 字符串變量 可變 線程安全 字符串拼接直接在字符串後追加

StringBuilder 字符串變量 可變 非線程安全 字符串拼接直接在字符串後追加

1.StringBuilder執行效率高於StringBuffer高於String.

2.String是一個常量,是不可變的,所以對於每一次+=賦值都會創建一個新的對象, StringBuffer和StringBuilder都是可變的,當進行字符串拼接時採用append方 法,在原來的基礎上進行追加,所以性能比String要高,又因為StringBuffer 是 線程安全的而StringBuilder是線程非安全的,所以StringBuilder的效率高於 StringBuffer.

3.對於大數據量的字符串的拼接,採用StringBuffer,StringBuilder.

五、Hashtable與HashMap的區別

HashMap不是線程安全的,HashTable是線程安全。

HashMap允許空(null)的鍵和值(key),HashTable則不允許。

HashMap性能優於Hashtable。

Map

1.Map是一個以鍵值對存儲的接口。Map下有兩個具體的實現,分別是HashMap和HashTable.

2.HashMap是線程非安全的,HashTable是線程安全的,所以HashMap的效率高於HashTable.

3.HashMap允許鍵或值為空,而HashTable不允許鍵或值為空.

相關推薦

推薦中...