您好,登錄后才能下訂單哦!
這篇文章主要介紹“Java的高級面試題有哪些”,在日常操作中,相信很多人在Java的高級面試題有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Java的高級面試題有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
JVM的內存結構
根據 JVM 規范,JVM 內存共分為虛擬機棧、堆、方法區、程序計數器、本地方法棧五個部分。
1、Java虛擬機棧:
線程私有;每個方法在執行的時候會創建一個棧幀,存儲了局部變量表,操作數棧,動態連接,方法返回地址等;每個方法從調用到執行完畢,對應一個棧幀在虛擬機棧中的入棧和出棧。
2、堆:
線程共享;被所有線程共享的一塊內存區域,在虛擬機啟動時創建,用于存放對象實例。
3、方法區:
線程共享;被所有線程共享的一塊內存區域;用于存儲已被虛擬機加載的類信息,常量,靜態變量等。
4、程序計數器:
線程私有;是當前線程所執行的字節碼的行號指示器,每條線程都要有一個獨立的程序計數器,這類內存也稱為“線程私有”的內存。
5、本地方法棧:
線程私有;主要為虛擬機使用到的Native方法服務。
大體回答如上,類似文章請移駕:
JVM的內存區域劃分
JVM知識點梳理
JVM內存分配與回收
JVM內存管理機制
強引用,軟引用和弱引用的區別
強引用:
只有這個引用被釋放之后,對象才會被釋放掉,只要引用存在,垃圾回收器永遠不會回收,這是最常見的New出來的對象。
軟引用:
內存溢出之前通過代碼回收的引用。軟引用主要用戶實現類似緩存的功能,在內存足夠的情況下直接通過軟引用取值,無需從繁忙的真實來源查詢數據,提升速度;當內存不足時,自動刪除這部分緩存數據,從真正的來源查詢這些數據。
弱引用:
第二次垃圾回收時回收的引用,短時間內通過弱引用取對應的數據,可以取到,當執行過第二次垃圾回收時,將返回null。弱引用主要用于監控對象是否已經被垃圾回收器標記為即將回收的垃圾,可以通過弱引用的isEnQueued方法返回對象是否被垃圾回收器標記。
大體回答如上,類似文章請移駕:
Java 如何有效地避免OOM:善于利用軟引用和弱引用
數組在內存中如何分配
1、簡單的值類型的數組,每個數組成員是一個引用(指針),引用到棧上的空間(因為值類型變量的內存分配在棧上)
2、引用類型,類類型的數組,每個數組成員仍是一個引用(指針),引用到堆上的空間(因為類的實例的內存分配在堆上)
用過哪些設計模式,手寫一個(除單例)
設計模式早有總結,看這里:23種設計模式完整總結
springmvc的核心是什么,請求的流程是怎么處理的,控制反轉怎么實現的
核心:
控制反轉和面向切面
請求處理流程:
1、首先用戶發送請求到前端控制器,前端控制器根據請求信息(如URL)來決定選擇哪一個頁面控制器進行處理并把請求委托給它,即以前的控制器的控制邏輯部分;
2、頁面控制器接收到請求后,進行功能處理,首先需要收集和綁定請求參數到一個對象,并進行驗證,然后將命令對象委托給業務對象進行處理;處理完畢后返回一個ModelAndView(模型數據和邏輯視圖名);
3、前端控制器收回控制權,然后根據返回的邏輯視圖名,選擇相應的視圖進行渲染,并把模型數據傳入以便視圖渲染;
4、前端控制器再次收回控制權,將響應返回給用戶。
控制反轉如何實現:
我們每次使用spring框架都要配置xml文件,這個xml配置了bean的id和class。
spring中默認的bean為單實例模式,通過bean的class引用反射機制可以創建這個實例。
因此,spring框架通過反射替我們創建好了實例并且替我們維護他們。
A需要引用B類,spring框架就會通過xml把B實例的引用傳給了A的成員變量。
大體回答如上,類似文章請移駕:
理解Spring中的IOC和AOP
spring里面的aop的原理是什么
這個有介紹,看這里:Spring的IOC原理
mybatis如何處理結果集
MyBatis的結果集是通過反射來實現的。并不是通過get/set方法。在實體類中無論是否定義get/set()方法,都是可以接收到的。
如果面試只是考你這個點的話就恭喜了。如果繼續深問流程,那就需要自己找一些源碼來閱讀了。
java的多態表現在哪里
主要有兩種表現形式:重載和重寫
重載:
是發生在同一類中,具有相同的方法名,主要是看參數的個數,類型,順序不同實現方法的重載的,返回值的類型可以不同。
重寫:
是發生在兩個類中(父類和子類),具有相同的方法名,主要看方法中參數,個數,類型必須相同,返回值的類型必須相同。
到此,關于“Java的高級面試題有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。