JAVA面试场景题
1、Java堆內存溢出怎么解決
堆內存溢出一般是年老代溢出。當程序不斷地創建大量對象實例并且沒有被GC回收時,就容易產生內存溢出。
堆內存溢出很可能伴隨內存泄漏,應首先排查可能泄露的對象,再通過工具檢查GC roots引用鏈,從而發現泄露對象是由于何種引用關系使得GC無法回收他們;若不存在內存泄漏,換句話說就是內存中的對象還都需要繼續存活,則可通過修改虛擬機的堆參數將堆內存增大。
2、java內存泄露的排查思路
1、內存溢出:你申請了10個字節的空間,但是你在這個空間寫入11或以上字節的數據,出現溢出。
2、內存泄漏:你用new申請了一塊內存,后來很長時間都不再使用了(按理應該釋放),但是因為一直被某個或某些實例所持有導致 GC 不能回收,也就是該被釋放的對象沒有釋放。
內存泄漏就是存在一些被分配的對象,這些對象有下面兩個特點:
1)首先,這些對象是可達的,即在有向圖中,存在通路可以與其相連;
2)其次,這些對象是無用的,即程序以后不會再使用這些對象。
如果對象滿足這兩個條件,這些對象就可以判定為Java中的內存泄漏,這些對象不會被GC所回收,然而它卻占用內存。(或者引用計數器不為零,循環引用)
內存泄露的發現?
如果頻繁出現fullGC說明可能有內存泄露的概率
3、CAS的ABA問題如何解決?
通過給數據加版本號的方式
?
面試海量數據處理題總結_向著星辰大海-CSDN博客_海量數據面試題
教你如何迅速秒殺掉:99%的海量數據處理面試題_結構之法 算法之道-CSDN博客?
海量數據處理面試題集錦_結構之法 算法之道-CSDN博客_海量數據處理面試題?
從Trie樹(字典樹)談到后綴樹(10.28修訂)_結構之法 算法之道-CSDN博客_trie 樹?
面試必須掌握的十個海量數據問題及解決方案_hitxueliang的專欄-CSDN博客_海量數據問題?
面試經典的海量數據處理(TOPK)問題—轉載+個人見解!_Much effort, much prosperity.-CSDN博客_海量數據topk?
十道海量數據處理面試題與十個方法大總結_tianyue168的專欄-CSDN博客?
總結
- 上一篇: 修改Ubuntu的键盘映射
- 下一篇: weblogic部署war