您好,登錄后才能下訂單哦!
常見的Java后端面試題?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
一、八種基本數據類型的大小,以及他們的封裝類。
byte(Byte) 1 ,short(Short) 2 ,int(Integer) 4 ,long(Long) 8 ,float(Float) 4 ,double(Double)8,boolean(Boolean),char(Character)2
switch語句中的變量類型可以使byte,short,int,char。從jdk1.7后可以使用String類型,是通過switch中的String.hashcode將String轉換成int進行判斷的。
==操作符是用來比較兩個變量的值是否相等,即就是比較變量在內存中的存儲地址是否相同,equals()方法時String類從Object類中繼承的,被用來檢測兩個對象的內容是否相同。
會創建一個String類型的變量s。在類加載到此處之前沒有出現“xyz”字面量的話,加載此處會創建一個對應“xyz”的String常量對象。在符合規范的JVM上,執行到此處new關鍵字會創建一個String對象。
1、clone()創建斌返回此對象的副本
2、equals()判斷
3、getclass()返回object的運行類
4、hashcode()返回對象的哈希碼值
5、notify()喚醒正在等待對象監聽器的單個進程
6、notifyAll()喚醒正在等待對象監聽器的所有進程
7、wait()導致當前線程等待,直到另一個線程調用該對象的 notify()方法或 notifyAll()方法。
8、toString()返回此對象的字符串表示形式
9、finalize()當垃圾收集確定不需要該對象時,垃圾回收器調用該方法
強引用:垃圾回收器不會回收
軟引用:如果內存空間足夠,垃圾回收器就不會進行回收,如果內存空間不足,垃圾回收器就會進行回收
弱引用:一旦發現了只有弱引用的對象,垃圾回收器就會進行回收。
虛引用:如果發現該對象還具有虛引用,就會在回收該對象之前,吧這個虛引用加入到與之關聯的引用隊列中。
靜態變量前要加上關鍵字static,實例變量則不會。
實例變量是屬于某個對象的屬性,必須創建了實例對象,其中的實例變量才會分配空間,才能使用這個實例變量。靜態變量不屬于任何的實例對象,而是屬于類,也稱為類變量,只要程序加載了類的字節碼,不用創建任何實例對象,就會被分配空間。總之就是,靜態變量不需要創建任何的對象就可以直接使用,而實例變量需要先創建實例對象才能被使用。
重載Overload表示的是同一個類中可以有多個相同名稱的方法,但這些方法的參數列表不同,即就是參數參數或參數類型不同。重載時返回值當然可以不一樣,但是如果參數列表完全一致時,不能通過返回類型不一致而實現重載,這是不可以的。
重寫Override表示子類中的方法可以與父類中的方法名稱和參數完全相同,通過子類創建的對象來調用這個方法時,將調用子類中定義的方法,即就是子類中的該方法將父類的該方法覆蓋了。子類覆蓋父類方法時只能拋比父類更少或者更小的異常。重寫的方法其返回必須和被覆蓋的方法返回一致。
抽象類可以有默認的方法進行實現,可以有構造器,可以有main方法進行運行,可以直接在該類中添加實現的方法接口沒有默認的方法進行實現,沒有構造器,不可以使用main方法進行運行,在接口中添加方法時需要在具體實現的類中添加方法。
String表示內容不可修改的字符串,StringBuffer表示內容可以修改的字符串,String覆蓋了equals()方法和hashcode()方法,而StringBuffer沒有覆蓋兩個方法,,所以StringBuffer對象存儲到java集合類中時會出現問題。
StringBulider也表示內容可以修改的字符串,但是其線程是不安全的,運行效率高。
關于常見的Java后端面試題問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。