原创 Redis緩存穿透 擊穿 雪崩--》看完這篇吊打面試官

背景: 最近面試高級java工程師,發現redis的這個知識點問的還挺頻繁的,所以特地寫了本篇博客記錄下 一,穿透 慨念: 緩存穿透是指查詢一個一定不存在的數據,由於緩存是不命中時需要從數據庫查詢,查不到數據則不寫入緩存,這將導

原创 面試官非要追問我Redis--各個數據類型最大存儲量 我就是不知不知---涼涼了

String類型 一個string類型的value最大可以存儲512M List類型 2^32-1個,也就是4294967295個。 Set類型 2^32-1個,也就是4294967295個。 HashSet類型 2^32-1個

原创 面試xxx電商公司時 被問到分頁量特別大的時候怎麼處理--深度分頁

其實這不就是個深度分頁的概念嘛,然並軟 一臉懵 並不知道啥是深度分頁。 下面我們以一個實例,講解一下分頁性能問題。假設有一張 300w 條數據的表,對其進行分頁查詢。 select * from tbl_works limit

原创 Java中的類加載和雙親委派原則

Java類加載過程 1,加載–》2,驗證–》3,準備–,4,解析–》5,初始化 加載 加載是指將類的class文件讀到內存中,併爲其創建一個java.lang.Class對象(每個類都有其獨一無二的.Class對象),類加載由J

原创 自以爲不會被問到的面試題 --》Redis和Memcatch的選型 --然而面試官還一直問到底

背景: 因爲一直在用Redis,也感覺挺方便的,最近小編準備換工作,準備面試前,也有想到爲啥要用redis,小編之前沒有用過Memcach,自認爲這麼古老的應該沒人問吧,沒想到本次找工作,面試官一直追着問爲啥用redis而沒有選用

原创 快速掌握Nginx負載均衡策略

什麼是Nginx Nginx是一個Http服務器。是一個使用c語言開發的高性能http服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器。nginx能夠支撐5W併發鏈接,並且cpu,內存等資源消耗非常低,運行非常穩定

原创 面試XXX公司時問道 強引用-軟引用-弱引用-虛引用時 一臉懵逼

四大引用級別的概念: - 強引用: 就是正常的引用: Object obj=new Object(); object就是一個強引用,gc是不會清理一個強引用引用的對象的,即使面臨內存溢出的情況。 當內存空間不足,Java虛擬機寧願

原创 讀懂這篇文章,帶你快速理解synchronized實現原理及鎖升級過程,乾貨滿滿

1,用法 synchronized可用來給對象和方法或者代碼塊加鎖,當它鎖定一個方法或者一個代碼塊的時候,同一時刻最多隻有一個線程執行這段代碼。 synchronized的三種方式: 1,作用於實例方法,當前實例枷鎖。進入同步代碼

原创 java從一個有序數組中找出目標元素在數組中的出現的首次和最後一次位置

從一個有序數組中找出目標元素在數組中的出現的首次和最後一次位置 要求時間複雜度O(logn) int[] nums={1,2,3,4,5,6,7,8,8,8,8,9,10}; 這裏因爲是有序數組所以可以採用二分法來解決,分別找出第

原创 面試金蝶---內存溢出再也不怕了

最近小編準備換個工作,開開心心的打開騰訊會議,準備接受金蝶面試官的狂轟亂炸,面試中面試到一個Java內存溢出的面試題,小編自我感覺回答的不是很好,所以特別整理這篇博客。 內存溢出和數據庫鎖表的問題,可以說是程序員的噩夢,一般的程序

原创 面試金蝶被問到--JVM內存設置多大合適? Xmx和Xmn如何設置

問題: 新上線一個java服務,或者是Rpc或者是Web站點,內存的設置改怎麼設置呢?設置多大合適呢? 分析: 依賴的原則是根據Java Performance裏面的推薦公式來進行設置。 · 具體來講: java整個堆大小設置:

原创 java高級工程師不得不知道的--集合底層實現原理

ArrayList實現原理要點概況 底層是數組實現 ,線程不安全,允許包含null在內的所有元素,允許存放相同元素 數組擴容 默認長度是10,每次數組容量增長大約是其容量的1.5倍,會將老數組中的元素重新拷貝到新數組中。

原创 面試中不得不知的equals()和hashcode()

首先從源碼的角度來看一看equals()方法和hashcode()方法含義 equals()方法和hashcode()方法都屬於Object類,在Java中,所有的類都是Object類的子類,也就是說,任何Java對象都可調用Ob

原创 弄清楚觀察者模式後,訂單回調再也不會寫那麼low了

觀察者模式 當一個對象發生改變時候,自動通知其他對象作出相關動作。 當一個事件發生時候,自動觸發依賴這個事件的其他事件。 這就是觀察者模式要做的事情。 舉例:當一個開通會員的訂單支付完成之後(第三方支付回調過來了),需要更改訂單的

原创 讀懂本篇文章帶你快速理解CountDownLatch

CountDownLatch概念 countDownLatch是一個同步工具類,用來協調多個線程之間的同步,或者說起線程之間的通信(而不是用作互斥的作用) countDownLatch能夠使一個線程在等待另外一些線程完成各自工作之