原创 String和StringBuffer的區別

(1)String:是對象不是原始類型.爲不可變對象,一旦被創建,就不能修改它的值.對於已經存在的String對象的修改都是重新創建一個新的對象,然後把新的值保存進去.String 是final類,即不能被繼承(2)StringBuffe

原创 使用運算符“==”和equals()方法的區別

(1)==操作符只能用於判斷兩個比較對象是否屬於同一個引用,如果屬於同一個引用則返回true,如果不是則返回false,而在equals方法中除了可以判斷兩個比較對象是否屬於同一個引用之外還可以對equals方法進行重載。(2)其次,在對

原创 String,stringBuffer,StringBuilder總結

一,String 底層是char數組 (1)如:直接賦值:String s1 = "HelloWorld" 通過new關鍵字來創建:String s3 = new String("HelloWorld")  上面的兩種賦值方式必然是不同,

原创 同步代碼塊和同步函數的區別

(1)同步代碼塊可以綁定任意對象,而同步函數只能綁定該類對象this,static同步函數只能綁定字節碼類名.class(2)如果多個線程使用同一個鎖的話,那麼兩者均可以使用,如果存在多個鎖的話,只能使用同步代碼塊

原创 基本數據類和包裝類的區別

(1)聲明方式不同,基本類型不適用new關鍵字,而包裝類型需要使用new關鍵字來在堆中分配存儲空間; (2)存儲方式及位置不同,基本類型是直接將變量值存儲在堆棧中,而包裝類型是將對象放在堆中,然後通過引用來使用; (3)初始值不同,基本類

原创 進程和線程

1.定義進程是具有一定獨立功能的程序關於某個數據集合上的一次運行活動,進程是系統進行資源分配和調度的一個獨立單位.線程是進程的一個實體,是CPU調度和分派的基本單位,它是比進程更小的能獨立運行的基本單位.線程自己基本上不擁有系統資源,只擁

原创 java中this和super的區別

super(參數):調用基類中的某一個構造函數(應該爲構造函數中的第一條語句) this(參數):調用本類中另一種形成的構造函數(應該爲構造函數中的第一條語句)super: 它引用當前對象的直接父類中的成員(用來訪問直接父類中被隱藏的父類

原创 異常的注意事項

try、catch和finally這三個關鍵字不能單獨使用,否則編譯出錯。(2)try語句塊後既可以只使用catch語句塊,也可以只使用finally語句塊。當與catch語句塊一起使用時,可以存在多個catch語句塊,而對於finall

原创 Object源碼詳解

(1)private static native void registerNatives(); 一個本地方法,在static塊中類加載時自動調用(本地修飾)。完整名字 (2) public final native Class<?> g

原创 final finally finalize區別

(1)final用於修飾類,成員變量和成員方法,final修飾的類不能被繼承,其中所有的方法不能被重寫,也即abstract與final不能同時用。final修飾的方法不能被重寫,但子類可以用父類的final方法。Final修飾的成員變量

原创 Static的特點

(1)它隨着類的加載而加載,隨着類的消失而消失(2)優先於對象存在(3)靜態變量數據存儲在方法區的靜態區(4)被所有對象共享(5)可以被類名直接調用

原创 接口和抽象類的區別

(1)多繼承:一個類可以實現多個接口,一個類只能繼承一個抽象類。(2)默認實現:接口只包含接口簽名,抽象類可以提供默認實現,子類可以重載抽象類方法。(3)訪問修飾符:接口默認所有的方法均爲public, 抽象類可以包含protected修

原创 Abstract與哪些關鍵字不能共存,爲什麼?

  Finally:abstract修飾的類繼承後,該類的方法需要重寫,而finally修飾的類不能繼承,也不能有子類,方法更不能重寫,相互衝突。Private:方法子類的方法不能被繼承,就不能被重寫,而abstract就是要方法重寫。相

原创 什麼是多態,多態的好處和弊端

(1)多態:允許將子類型的指針賦給父類類型的指針,子類類型對象轉變爲父類類型對象。(2)好處:隱藏了子類類型,提高了代碼的可擴展性。(3)弊端:只能使用父類的功能,無法使用子類的特有的功能,功能有限制。

原创 局部變量和成員變量的區別

(1)成員變量:在類體內定義的變量,可以不顯式初始化,可以在類加載時初始化,存於堆內存中。(2)局部變量:在方法內定義的變量,形參,代碼塊中定義的變量,必須設定初始化值,存於棧內存空間中。