原创 8_基於模版方法+策略模式設計聯合登陸框架

策略模式 # 1.工廠模式: 通過map 返回父類: 2.策略模式: 通過 strategy_id 是暴露給外界 隱藏beanid

原创 4_裝飾模式設計多級緩存

多線程會有線程安全問題:換map 裝飾不能改變原有代碼。 代碼實戰一 裝飾模式:代碼實戰二 aop:代碼實戰三

原创 Java內存模型Jmm與volatile可見性

1.volatile 能夠保證線程的可見性,當一個線程在修改我們主內存中的共享變量的數據時候,能夠對另外一個線程可見。 注意: volatile 關鍵字是不能夠保證原子性。 特性:保證可見性、防止重排序、不能保證原子性。” 2.如

原创 List取交集並集差集containsAll

並集 list1.addAll(list2); 交集 list1.retainAll(list2); 差集 注意 若是用list1Copy = list1 在list1做交集後,list1Copy的值也會變化,只用= 是跟list

原创 11_springsecurity整合jwt實現接口授權

jwt官網,可點擊跳轉 驗籤失敗: 雖然可以解密,但是無法篡改 沒有告訴 鹽值 鹽值:驗籤成功 代碼生成jwt 運行結果: jwt解密

原创 與君共勉,開發工作注意小事項

1、如果提問題,首次提出問題(寫郵件、發信息等)就明確寫出:期望完成時間,當前緊急度 2、規範流程、行爲方式 3、回覆郵件時,即使主題和自己的類似,也要再看 下面的內容。確認是自己的郵件,避免回覆錯誤。因爲一般工作郵件都是回覆全部

原创 d13_mysql和redis如何保持數據一致性

1、Canal環境搭建 1、配置Mysql服務器 1.配置MySQL的 my.ini/my.cnf 開啓允許基於binlog文件主從同步 log-bin=mysql-bin #添加這一行就ok binlog-format

原创 5_基於觀察者模式設計異步多渠道羣發框架

1、觀察者概念: 一個對象發生改變,可以通知給其他所有對象 2、觀察者應用場景 1、zk臨時節點監聽 當zk臨時節點發生改變,會通知給所有客戶端 2、分佈式配置中心 nacos config 刷新配置 3、多渠道羣發 add

原创 spring源碼分析-持續更新

第一章-Spring5.0源碼分析環境搭建 1、xml 答案: 默認單例,啓動會報錯,bean不允許重複 運行結果: 2. config類 @bean map: 運行結果: 3、註解加載,@Service

原创 高可用集羣環境kafka環境搭建(4_93)_2020.04.07

01.第一節-kafka高可用集羣課程介紹 02.第二節-kafka相關名稱介紹 03.第三節-kafka高可用集羣原理 04.第四節-搭建高可用broker原理 05.第五節-搭建broker集羣環境準備

原创 Es與mysql數據同步_14

docker安裝ES & Kibana 1.下載鏡像 docker pull elasticsearch:6.7.2 docker pull kibana:6.7.2 2.run ES in docker docker run

原创 rpc遠程調用冪等性問題

Rpc冪等框架 是遠程調用接口Http+Json 格式傳輸. 接口的超時就是服務器端沒有及時的響應給客戶端 什麼時候會出發超時策略: 調用接口超時時間設置爲5s<業務執行響應的時間7s. 接口如果超時的情況下會出發什麼策略? 重

原创 13_多線程快速入門_異步寫日誌_aop

接口響應2S 不需要拿到異步結果,主線程執行完畢就結束 異步類 類增加返回值 運行需要8s aop和目標方法是同一個線程,可以拿到請求屬性 單獨開線程,不能拿到請求屬性 改: 停止線程運行 stop 已經

原创 Java併發編程之悲觀、樂觀、公平、非公平鎖

一般的情況下只有做寫的時候纔會上鎖。 寫: update del insert 查:select 悲觀鎖: 就是比較悲觀,每次在在執行我們同步代碼塊的時候都會獲取鎖,如果沒有獲取到鎖的情況下,當前線程會被變爲阻塞狀態,效率比較低

原创 14.多線程之間如何實現同步

1. 什麼是線程安全問題 當多個線程同時共享同一一個全局變量做寫的操作時候,可能會受到其他線程的手擾,就會產生線程安全問題,導致數據髒讀。 2.如何解決線程安全問題 3. Synchronized加鎖之後如何保證線程安全問題