Java和Scala學習日記2,javascala日記

來源:互聯網
上載者:User

Java和Scala學習日記2,javascala日記

1. equals()

解析:String已經重寫了Object中的equals()方法,String的equals()方法判斷兩個字串相等的標準是:只要兩個字串所包含的字元序列相同,通過equals()比較將返回true,否則將返回false。


2. 介面和抽象類別區別

解析:

(1)介面裡只能包含抽象方法,不包含已經提供實現的方法;抽象類別則完全可以包含普通方法。

(2)介面裡不能定義靜態方法;抽象類別裡可以定義靜態方法。

(3)介面裡只能定義靜態常量屬性,不能定義普通屬性;抽象類別則既可以定義普通屬性,也可定義靜態常量屬性。

(4)介面不包含構造器;抽象類別裡可以包含構造器,抽象類別裡的構造器並不是用於建立對象,而是讓子類調用這些構造器來完成屬於抽象類別的初始化操作。

(5)介面裡不能包含初始化塊,但抽象類別則完全可以包含初始化塊。

(6)一個類最多隻能有一個直接父類,包括抽象類別;但一個類可以直接實現多個介面,通過實現多個介面可以彌補Java單繼承的不足。

說明:在Java類裡只能包含屬性、方法、構造器、初始化塊、內部類和枚舉類等6中成員,其中static可以修飾屬性、方法、初始化塊、內部類和枚舉類,以static修飾的成員就是類成員。


3. Java局部內部類

解析:如果把一個內部類放在方法裡定義,那麼這個內部類就是一個局部內部類,局部內部類僅在該方法裡有效。因此,局部內部類不能在外部類以外的地方使用,那麼局部內部類也無需使用存取控制符和static修飾符修飾。


4. Java強制記憶體回收 

解析:

(1)調用System類的gc()靜態方法:System.gc()。

(2)調用Runtime對象的gc()執行個體方法:Runtime.getRuntime().gc()。


5. 強引用,軟引用,弱引用,虛引用

解析:

(1)強引用(StrongReference):這是Java程式中最常見的引用方式,程式建立一個對象,並把這個對象賦給一個引用變數。程式通過該引用變數來操作實際的對象,對象和數組都是採用了這種強引用的方式。當一個對象被一個或一個以上的引用變數所引用時,它處於啟用狀態,不可能被系統記憶體回收機制回收。

(2)軟引用(SoftReference):軟引用需要通過SoftReference類來實現,當一個對象只具有軟引用時,它有可能被記憶體回收機制回收。對於只有軟引用的對象而言,當系統記憶體空間足夠時,程式也可使用該對象;當系統記憶體空間不足時,系統將會回收它。軟引用通常用於對記憶體敏感的程式中。

(3)弱引用(WeakReference):弱引用通過WeakReference類實現,弱引用和軟引用很像,但弱引用的引用層級更低。對於只有弱引用的對象而言,當系統記憶體回收機制運行時,不管系統記憶體是否足夠,總會回收該對象所佔用的記憶體。當然,並不是說當一個對象只有弱引用時,它就會立即被回收——正如那些失去引用的對象一樣,必須等到系統記憶體回收機制運行時才會被回收。

(4)虛引用(PhantomReference):虛引用通過PhantomReference類實現,虛引用完全類似沒有引用。虛引用對對象本身沒有太大影響,對象設定感覺不到虛引用的存在。如果一個對象只有一個虛引用時,那它和沒有引用的效果大致相同。虛引用主要用於跟蹤對象被記憶體回收的狀態,虛引用不能單獨使用,虛引用必須和引用隊列

(ReferenceQueue)聯合使用。


6. Xms和Xmx參數  

解析:

(1)-Xms是設定JVM初始記憶體的大小。

(2)-Xmx是設定JVM最大能夠使用記憶體的大小。


7. Java集合總結



8. 類型萬用字元上限和下限

解析:

(1)類型萬用字元上限通過形如Box<? extends Number>的形式定義。

(2)類型萬用字元下限通過形如Box<? super Number>的形式定義。

說明:Java中有泛型類,泛型方法,泛型介面的概念,但是沒有泛型數組的概念。


9. Java程式國際化  

解析:Java使用Locale對象封裝一個國家、語言環境,再使用ResourceBundle根據Locale載入語言資源套件,當

ResourceBundle載入了指定Locale對應的語言資源檔後,ResourceBundle對象就可調用getString方法來取出指定key所對應的訊息字串。


10. Java異常總結

解析:

(1)java.lang.Throwable:Throwable是所有異常的根。

(2)java.lang.Error:Error是錯誤。

(3)java.lang.Exception:Exception是異常。


11. Java IO總結

解析:InputStream和OutputStream是位元組流,Reader和Writer是字元流。如下所示:

 


12. 線程的生命週期

解析:

(1)建立(New)

(2)就緒(Runnable)

(3)運行(Running)

(4)阻塞(Blocked)

(5)死亡(Dead)


13. Java反射總結

解析:java.lang.reflect包下的類,包括Class、Method、Field、Constructor和Array等,這些類分別代表類、方法、屬性、構造器和數組。Java程式可以使用這些類動態地擷取某個對象、某個類的運行時資訊,並可以動態地建立Java對象,動態地調用Java方法,訪問並修改指定對象的屬性值。


14. public static class DefaultStyledDocument.ElementSpec extends Object

解析:Specification for building elements.


15. public ElementSpec(AttributeSet a, short type)  

解析:Constructor useful for markup when the markup will not be stored in the document.

(1)a:the attributes for the element.

(2)type:the type of the element (StartTagType, EndTagType, ContentType).


參考文獻:

[1] 《瘋狂Java講義》

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.