原创 自研RPC框架

最初demo版本,不斷完善中ing,註冊中心還沒做,服務治理不打算做了… 技術介紹:底層傳輸框架爲netty,基於springboot-starter,自定義註解注入FactoryBean動態代理類… consumer端 自定義

原创 如何部分從BlockingQueue的同步中解脫

凡是阻塞隊列,皆有同步 有人的地方就有江湖,有競爭的地方就要同步.同步也許是通過AQS實現,也許是通過synchronized實現,也許是通過XXX實現,反正皆有同步,沒有同步兜底的阻塞隊列都是fake news(川普口氣) 屠龍

原创 2020 JAVA後端面試總結

面試情況 經歷了8次阿里技術面試 第一個部門 1 ,2,3面過,HR面過,offer流程中 第二個部門 1面過 2面表現不好掛了 重新安排的2面過了 等3面的流程中鎖P6HC 第三個部門 1面過,2面技術得到肯定,但是業務

原创 記錄一次new與clone方法複製對象效率測試

測試clone和new方法的效率差別,首先來反面教材. public class TestCloneAndNewMain { public static void main(String[] args) throws Clone

原创 日誌,實體類批量入庫,生產消費者實現

如果每步的mysql日誌都入庫,進行一次DB操作,不僅會影響操作的速度和響應,還會造成db操作過多. 因爲,可以採用日誌入庫隊列的形式.形成一個生產消費者,批量入庫日誌.這樣做會獲得很好的操作響應. 而且有時入庫的時候,需要入庫的

原创 淺析mysql redis rocketmq的持久化機制

觸類旁通 據我的學習經驗,優秀的源碼裏面無非就是一些通用經驗,通用設計模式,通用算法,通用操作系統知識,通用數據結構的組合。既然是通,其實大可以觸類旁通,就看其組裝的怎麼樣了,組裝得好就是3A佳作,組裝得不好甚至用地攤貨就是泰坦

原创 數組內部元素無法保證可見性

volatile確實可以保證一個引用變量的可見性,但是volatile的數組只針對數組的引用具有volatile的語義,而不是它的元素. 於是可以預見的是類似disruptor這樣的實現最好還是不要用long數組padding的方

原创 JAVA 實體類批量插入

依賴這個LogSaveApplication。然後直接save就行了,save的時候做的是插入隊列的操作。 定時或者插入數據數量達標,線程會從隊列拿出一定量的數據(可配置).然後Spring裏面拿出對應class對應的mapper

原创 Bean生命週期與三級緩存解決循環依賴

搜索Bean生命週期有很多博客,大部分是Copy,有些還是錯的。 最近我看了源碼,仔細瞭解了下流程,先上圖: 獲取Bean 這個時候InstantiationAwareBeanPostProcessor有機會通過postProce

原创 VS2010安裝報錯。下列組件安裝失敗

直接重新下一個安裝包,下載中不要暫停,不要切換VPN,不然會有文件破損。 破損了就安裝失敗了

原创 下載openshift上的container文件到windows

公司部署在國外的服務器用的openshift。運維小哥哥給我了一個oc client 可以在windows命令行登錄。 然後我想下載container上的日誌文件到本地看看,分析錯誤。 百度不行,沒找到相關的東西,這東西國外用的多

原创 16瓶水問題

有16瓶水,其中一瓶有毒,小白鼠喝一滴有毒的水一小時後會死,要在一小時找出來哪瓶水有毒最少需要幾隻小白鼠? 對於這道題,每隻老鼠在1小時後會有兩種狀態,死去或者活着。其實就對應了二進制的0和1。 四個二進制恰好就可以有16種狀態,

原创 [LeetCode][Word Search]思路沒錯,寫法大誤

Word Search 今天練習了一道leetcode,一看,就是暴力解法就行了嗷,利用DFS的思想遍歷遍歷,從四個方向進發。 然後我真的從四個方向都出發了,結果運行顯然就超時了。以下爲超時代碼 class leetCode79

原创 Octave學習

1.A =[1 2; 3 4; 5 6] 2.size(A) 返回矩陣的size size(A,1)返回矩陣第一維度的大小,size(A,2)返回矩陣第二維度的大小 3.length(A) 返回矩陣的最大維度的大小 4.pwd cd

原创 手寫歸併排序流程

手寫歸併還是比較簡單的,按照下面三步走: 分解成兩個子問題 解決子問題 合併子問題解得到問題解 分解成兩個子問題 void mergeSort(int start,int end,int[] array){ if(start==end