日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

京东Java面试题、笔试题(含答案)

發(fā)布時間:2024/8/1 java 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 京东Java面试题、笔试题(含答案) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

其他互聯(lián)網(wǎng)大廠面試題

1:阿里巴巴Java面試題

2:阿里云Java面試題-實習(xí)生崗

3:騰訊Java面試題-高級

4:字節(jié)跳動Java面試題

5:字節(jié)跳動Java面試題-大數(shù)據(jù)方向

6:百度Java面試題

7:螞蟻金服Java面試題-中級

8:螞蟻金服Java面試題-高級

9:京東Java面試題-中級

10:拼多多Java面試題-電商部

11:商湯科技Java面試題

12:中軟國際Java面試題-初級

13:唯品會Java面試題

14:攜程Java面試題-高級

15:軟通動力Java面試題


下載鏈接全部大廠面試題及答案PDF

1、哪些情況下的對象會被垃圾回收機制處理掉?

利用可達(dá)性分析算法,虛擬機會將一些對象定義為 GC Roots,從 GC Roots 出發(fā)沿著引用鏈向下尋找,如果某個對象不能通過 GC Roots 尋找到,虛擬機就認(rèn)為該對象可以被回收掉。

2、哪些對象可以被看做是 GC Roots 呢?

1)虛擬機棧(棧幀中的本地變量表)中引用的對象;

2)方法區(qū)中的類靜態(tài)屬性引用的對象,常量引用的對象;

3)本地方法棧中 JNI(Native 方法)引用的對象;

3、對象不可達(dá),一定會被垃圾收集器回收么?

即使不可達(dá),對象也不一定會被垃圾收集器回收,1)先判斷對象是否有必要執(zhí)行 finalize() 方法,對象必須重寫 finalize()方法且沒有被運行過。2)若有必要執(zhí)行,會把對象放到一個隊列中,JVM 會開一個線程去回收它們,這是對象最后一次可以逃逸清理的機會。

4、講一下常見編碼方式?

編碼的意義:計算機中存儲的最小單元是一個字節(jié)即 8bit,所能表示的字符范圍是 255 個, 而人類要表示的符號太多,無法用一個字節(jié)來完全表示,固需要將符號編碼,將各種語言翻譯成計算機能懂的語言。

1)ASCII 碼:總共 128 個,用一個字節(jié)的低 7 位表示,0?31 控制字符如換回車刪除等;32~126是打印字符,可通過鍵盤輸入并顯示出來;

2)ISO-8859-1,用來擴(kuò)展 ASCII 編碼,256 個字符,涵蓋了大多數(shù)西歐語言字符。

3)GB2312:雙字節(jié)編碼,總編碼范圍是 A1-A7,A1-A9 是符號區(qū),包含 682 個字符,B0-B7 是漢字區(qū),包含 6763 個漢字;

4)GBK 為了擴(kuò)展 GB2312,加入了更多的漢字,編碼范圍是 8140~FEFE,有 23940 個碼位,能表示 21003 個漢字。

5)UTF-16: ISO 試圖想創(chuàng)建一個全新的超語言字典,世界上所有語言都可通過這本字典Unicode 來相互翻譯,而 UTF-16 定義了 Unicode 字符在計算機中存取方法,用兩個字節(jié)來表示 Unicode 轉(zhuǎn)化格式。不論什么字符都可用兩字節(jié)表示,即 16bit,固叫 UTF-16。

6)UTF-8:UTF-16 統(tǒng)一采用兩字節(jié)表示一個字符,但有些字符只用一個字節(jié)就可表示,浪費存儲空間,而 UTF-8 采用一種變長技術(shù),每個編碼區(qū)域有不同的字碼長度。 不同類型的字 符 可 以 由 1~6 個 字 節(jié) 組成。

5、utf-8 編碼中的中文占幾個字節(jié);int 型幾個字節(jié)?

utf-8 是一種變長編碼技術(shù),utf-8 編碼中的中文占用的字節(jié)不確定,可能 2 個、3 個、4 個,
int 型占 4 個字節(jié)。

6、靜態(tài)代理和動態(tài)代理的區(qū)別,什么場景使用?

代理是一種常用的設(shè)計模式,目的是:為其他對象提供一個代理以控制對某個對象的訪問, 將兩個類的關(guān)系解耦。代理類和委托類都要實現(xiàn)相同的接口,因為代理真正調(diào)用的是委托類的方法。

區(qū)別:

1)靜態(tài)代理:由程序員創(chuàng)建或是由特定工具生成,在代碼編譯時就確定了被代理的類是哪一個是靜態(tài)代理。靜態(tài)代理通常只代理一個類;

2)動態(tài)代理:在代碼運行期間,運用反射機制動態(tài)創(chuàng)建生成。動態(tài)代理代理的是一個接口下的多個實現(xiàn)類;

實現(xiàn)步驟:

a. 實現(xiàn) InvocationHandler 接口創(chuàng)建自己的調(diào)用處理器;

b. 給 Proxy 類提供ClassLoader 和代理接口類型數(shù)組創(chuàng)建動態(tài)代理類;

c.利用反射機制得到動態(tài)代理類的構(gòu)造函數(shù);d.利用動態(tài)代理類的構(gòu)造函數(shù)創(chuàng)建動態(tài)代理類對象;

使用場景:Retrofit 中直接調(diào)用接口的方法;Spring 的 AOP 機制;

7、Java 的異常體系

Java 中 Throwable 是所有異常和錯誤的超類,兩個直接子類是 Error(錯誤)和 Exception(異常):

1)Error 是程序無法處理的錯誤,由 JVM 產(chǎn)生和拋出,如 OOM、ThreadDeath 等。這些異常發(fā)生時,JVM 一般會選擇終止程序。

2)Exception 是程序本身可以處理的異常,又分為運行時異常(RuntimeException)(也叫Checked Eception) 和 非 運 行 時 異 常 ( 不 檢 查 異 常 Unchecked Exception) 。 運 行 時異 常 有 NullPointerException\IndexOutOfBoundsException 等,這些異常一般是由程序邏輯錯誤引起的,應(yīng)盡可能避免。非運行時異常有IOException\SQLException\FileNotFoundException 以及由用戶自定義的 Exception 異常等。

8、談?wù)勀銓馕雠c分派的認(rèn)識。

解析指方法在運行前,即編譯期間就可知的,有一個確定的版本,運行期間也不會改變。解 析是靜態(tài)的,在類加載的解析階段就可將符號引用轉(zhuǎn)變成直接引用。

分派可分為靜態(tài)分派和動態(tài)分派,重載屬于靜態(tài)分派,覆蓋屬于動態(tài)分派。靜態(tài)分派是指在 重載時通過參數(shù)的靜態(tài)類型而非實際類型作為判斷依據(jù),在編譯階段,編譯器可根據(jù)參數(shù)的 靜態(tài)類型決定使用哪一個重載版本。動態(tài)分派則需要根據(jù)實際類型來調(diào)用相應(yīng)的方法。

9、修改對象 A 的 equals 方法的簽名,那么使用 HashMap 存放這個對象實例的時候,會調(diào)用哪個 equals 方法?

會調(diào)用對象的 equals 方法,如果對象的 equals 方法沒有被重寫,equals 方法和==都是比較棧內(nèi)局部變量表中指向堆內(nèi)存地址值是否相等。

10、Java 中實現(xiàn)多態(tài)的機制是什么?

11、如何將一個 Java 對象序列化到文件里?

12、說說你對 Java 反射的理解

13、說說你對 Java 注解的理解

14、說一下泛型原理,并舉例說明

15、Java 中 String 的了解

16、String 為什么要設(shè)計成不可變的?

下載鏈接博主已將以上這些大廠面試題整理成了一個面試手冊,是PDF版的

總結(jié)

以上是生活随笔為你收集整理的京东Java面试题、笔试题(含答案)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。