溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

十五個(gè)關(guān)于java面試知識(shí)點(diǎn)

發(fā)布時(shí)間:2020-11-10 14:10:17 來源:億速云 閱讀:130 作者:小新 欄目:編程語言

這篇文章主要介紹了十五個(gè)關(guān)于java面試知識(shí)點(diǎn),具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

1、Java文件經(jīng)過JVM編譯成字節(jié)碼文件,即.class文件,將字節(jié)碼文件在不同的操作系統(tǒng)中運(yùn)行時(shí),操作系統(tǒng)再將字節(jié)碼文件編譯成機(jī)器碼文件。這就是Java跨平臺(tái)


2、首先明確一點(diǎn),java 的 GC 回收是完全自動(dòng)的,沒有提供相關(guān) api 手動(dòng)回收,所有的內(nèi)存分配和回收權(quán)限都在 jvm,在開發(fā)人員手里沒有絕對的強(qiáng)制垃圾回收的方法,不過可以這樣去做:

  1)對于不再引用的對象,及時(shí)把它的引用賦為 null。 obj = null;

  2)如果內(nèi)存確實(shí)很緊張,調(diào)用 System.gc () 方法來建議垃圾回收器開始回收垃圾,通知 GC 運(yùn)行,但是 Java 語言規(guī)范并不保證 GC 一定會(huì)執(zhí)行。


3、java 基本類型的默認(rèn)值和取值范圍

  整數(shù)類型 byte(1 個(gè)字節(jié))short(2 個(gè)字節(jié))int(4 個(gè)字節(jié))long(8 個(gè)字節(jié))

  字符類型 char(2 個(gè)字節(jié))

  浮點(diǎn)類型 float(4 個(gè)字節(jié))double(8 個(gè)字節(jié))

十五個(gè)關(guān)于java面試知識(shí)點(diǎn)


4、常見字符的ASCII碼值如下:空格的ASCII碼值為32;數(shù)字0到9的ASCII碼值分別為48到57;大寫字母“A”到“Z”的ASCII碼值分別為65到90;小寫字母“a”到“z”的ASCII碼值分別為97到到122。


5、Java 標(biāo)識(shí)符有如下命名規(guī)則:

 ?。保┯?26 個(gè)英文字母大小寫,數(shù)字:0-9 符號:_ $ ¥ 組成

 ?。玻?biāo)識(shí)符應(yīng)以字母、_ 、$ 開頭。

 ?。常?biāo)識(shí)符不能是關(guān)鍵字。


6、抽象類和接口

  1)關(guān)于抽象類

   JDK 1.8 以前,抽象類的方法默認(rèn)訪問權(quán)限為 protected

   JDK 1.8 時(shí),抽象類的方法默認(rèn)訪問權(quán)限變?yōu)?default

 ?。玻╆P(guān)于接口

   JDK 1.8 以前,接口中的方法必須是 public 的

   JDK 1.8 時(shí),接口中的方法可以是 public 的,也可以是 default 的

   JDK 1.9 時(shí),接口中的方法可以是 private 的


7、裝箱和拆箱

  基本數(shù)據(jù)類型轉(zhuǎn)化成包裝類是裝箱 (如: int --> Integer)。

  包裝類轉(zhuǎn)化成基本數(shù)據(jù)類型就是拆箱 (如:Integer --> int)。

  包裝類就是引用類型,基本數(shù)據(jù)類型就是值類型。

  通過 裝箱 和 拆箱 操作,能夠在值類型和引用類型中架起一做橋梁。換言之,可以輕松的實(shí)現(xiàn)值類型與引用類型的互相轉(zhuǎn)換,裝箱和拆箱能夠統(tǒng)一考察系統(tǒng),任何類型的值最終都可以按照對象進(jìn)行處理。


8、序列化和反序列化

Java 在序列化時(shí)不會(huì)實(shí)例化 static 變量和 transient 修飾的變量,因?yàn)?static 代表類的成員,transient 代表對象的臨時(shí)數(shù)據(jù),被聲明這兩種類型的數(shù)據(jù)成員不能被序列化


9、Java有兩種傳遞方式,值傳遞和引用傳遞。基本類型和以string str = “aaa”;這種方式創(chuàng)建的都是值傳遞,對象創(chuàng)建和數(shù)組都是引用傳遞,所以在函數(shù)的判斷形參需要特別注意。


10、Java垃圾回收機(jī)制

  垃圾回收主要針對的是堆區(qū)的回收,因?yàn)闂^(qū)的內(nèi)存是隨著線程而釋放的。堆區(qū)分為三個(gè)區(qū):年輕代(Young Generation)、年老代(Old Generation)、永久代(Permanent Generation,也就是方法區(qū))。

 ?。保┠贻p代:對象被創(chuàng)建時(shí)(new)的對象通常被放在 Young(除了一些占據(jù)內(nèi)存比較大的對象), 經(jīng)過一定的 Minor GC(針對年輕代的內(nèi)存回收)還活著的對象會(huì)被移動(dòng)到年老代(一些具體的移動(dòng)細(xì)節(jié)省略)。

 ?。玻┠昀洗壕褪巧鲜瞿贻p代移動(dòng)過來的和一些比較大的對象。Major GC (FullGC) 是針對年老代的回收。

 ?。常┯谰么捍鎯?chǔ)的是 final 常量,static 變量,常量池。


11、包引用

  import java.util.* ;

  能訪問java/util目錄下的所有類,不能訪問java/util子目錄下的所有類


12、構(gòu)造函數(shù)不能被繼承,構(gòu)造方法只能被顯式或隱式的調(diào)用。(有參和無參均是這樣)


13、文件分為文本文件和二進(jìn)制文件,計(jì)算機(jī)只認(rèn)識(shí)二進(jìn)制,所以實(shí)際上都是二進(jìn)制的不同解釋方式。文本文件是以不同編碼格式顯示的字符,例如 Ascii、Unicode 等,window 中文本文件的后綴名有 “.txt”,".log", 各種編程語言的源碼文件等;二進(jìn)制文件就是用文本文檔打開是看不懂亂碼,只要能用文本打開的文件都可以算是文本文件,只是顯示的結(jié)果不是你想要的,二進(jìn)制文件只有用特殊的應(yīng)用才能讀懂的文件,例如 “.png”,".bmp" 等,計(jì)算機(jī)中大部分的文件還是二進(jìn)制文件


14、try 只適合處理運(yùn)行時(shí)異常,try+catch 適合處理運(yùn)行時(shí)異常 + 普通異常。也就是說,如果你只用 try 去處理普通異常卻不加以 catch 處理,編譯是通不過的,因?yàn)榫幾g器硬性規(guī)定,普通異常如果選擇捕獲,則必須用 catch 顯示聲明以便進(jìn)一步處理。而運(yùn)行時(shí)異常在編譯時(shí)沒有如此規(guī)定,所以 catch 可以省略,你加上 catch 編譯器也覺得無可厚非。


15、管道

  對于管道,有下面這幾種類型:

   ?、倨胀ü艿溃≒IPE):通常有兩種限制,一是單工,即只能單向傳輸;二是血緣,即常用于父子進(jìn)程間(或有血緣關(guān)系的進(jìn)程間)。

   ?、诹鞴艿溃╯_pipe):去除了上述的第一種限制,實(shí)現(xiàn)了雙向傳輸。

   ?、勖艿溃╪ame_pipe):去除了上述的第二種限制,實(shí)現(xiàn)了無血緣關(guān)系的不同進(jìn)程間通信。

  要求是對于不同的服務(wù)器之間的通信,是要要求全雙工形式的,而管道只能是半雙工,雖然可以雙向,但是同一時(shí)間只能有一個(gè)方向傳輸,全雙工和半雙工的區(qū)別可以如下圖示理解:

十五個(gè)關(guān)于java面試知識(shí)點(diǎn)

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享十五個(gè)關(guān)于java面試知識(shí)點(diǎn)內(nèi)容對大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(xì)的解決方法等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI