原创 「 從0到1學習微服務SpringCloud 」13 斷路器Hystrix

背景與功能 在微服務架構中,很多情況下,各個服務之間是相互依賴,一個服務可能會調用了好幾個其他服務,假設其中有一個服務故障,便會產生級聯故障,最終導致整個系統崩潰無法使用(這稱爲雪崩效應),Spring Cloud Hystrix

原创 【從0到1學算法】遞歸

今天我們將學習一種優雅的問題解決方式–遞歸。 對於它,通常有3個陣營:恨它的、愛它的以及恨了幾年後又愛上它。你屬於哪一個? 1、遞歸 遞歸就是函數自己調用自己,但寫遞歸很容易出錯而導致死循環。循環和遞歸是可以相互轉換,下面從一個簡

原创 【從0到1學算法】大O表示法

一般我們在選擇算法時,都是想要選擇效率最高的算法。那算法的效率,用什麼表示?沒錯!就是用大O表示法。 PS: 大O表示法中,log即爲log2,後面不再說明。 下面以簡單查找和二分查找,在含有n個元素的有序列表中查找其中一個元素爲

原创 深入學習MySQL 03 Schema與數據類型優化

Schema是什麼鬼 schema就是數據庫對象的集合,這個集合包含了各種對象如:表、視圖、存儲過程、索引等。爲了區分不同的集合,就需要給不同的集合起不同的名字,默認情況下一個用戶對應一個集合,用戶的schema名等於用戶名,並作

原创 「 從0到1學習微服務SpringCloud 」11 補充篇 RabbitMq實現延遲消費和延遲重試

Mq的使用中,延遲隊列是很多業務都需要用到的,最近我也是剛在項目中用到,就在跟大家講講吧。 何爲延遲隊列? 延遲隊列就是進入該隊列的消息會被延遲消費的隊列。而一般的隊列,消息一旦入隊了之後就會被消費者馬上消費。 業務場景 延遲隊列

原创 MySQL優化總結

1.存儲引擎的選擇(MyISAM和Innodb) 存儲引擎:MySQL中的數據、索引以及其他對象是如何存儲的,是一套文件系統的實現。 5.1之前默認存儲引擎是MyISAM,5.1之後默認存儲引擎是Innodb。 功能差異 區

原创 深入學習MySQL 02 日誌系統:bin log,redo log,undo log

上一篇文章中,我們瞭解了一條查詢語句的執行過程,按理說這篇應該講一條更新語句的執行過程,但這個過程比較複雜,涉及到了好幾個日誌與事物,所以先梳理一下3個重要的日誌,bin log(歸檔日誌)、redo log(重做日誌)、undo

原创 【從0到1學算法】二分查找法

說到算法,大家應該都會腦殼疼吧。除了應付一下面試,準備過算法,也接觸過不少算法,但是面試完了,基本上就忘光了。但不得不說,算法真的很重要,算法是解決問的方法,你可能會說根本用不上,那只是因爲你根本沒有算法的思維,又如何說得上使用呢

原创 Python入門小建議

我也是剛踏入python的大門,所以只能給點小建議,而不是指導(暫時只接觸了python爬蟲) 入門3部曲 1.語法學習,推薦可以看菜鳥教程上的python3語法 https://www.runoob.com/python3/py

原创 「 從0到1學習微服務SpringCloud 」12 Zuul的綜合使用

上次講了Zuul的基本使用,這篇講的是綜合使用,比如過濾器,限流,鑑權等應用 這裏繼續使用api-getway這個項目 過濾器 實現token驗證(前置過濾器) 1.新建一個類,繼承ZuulFilter,細節方面看下面代碼,還有別

原创 最新中級java面試總結

最近面試了不少家公司,從一家非外包跳到了外包(委屈臉Ծ‸Ծ),下面總結一下最近的一些心得體會 1.如果在做技術只是爲了過日子,而沒多大興趣,那你必須需要考慮一下行業發展方向了。選定一個行業,深入某個行業發展,熟悉業務+技術,你會得

原创 Redis分佈式鎖的正確實現方式

轉載至:https://www.cnblogs.com/linjiqin/p/8003838.html 前言 分佈式鎖一般有三種實現方式:1. 數據庫樂觀鎖;2. 基於Redis的分佈式鎖;3. 基於ZooKeeper的分佈式鎖。

原创 【從0到1學算法】 數組和鏈表

今天講最基本的數據結構,數組和鏈表。如果你已經滾瓜爛熟,可以跳過本文或選擇查缺補漏。 內存的工作原理 假設你正要去超市,需要寄存兩樣東西。這個超市的寄存櫃,一個抽屜只能放一個東西,所以你需要兩個抽屜。 將東西分別放到了1號和2號