原创 深入理解SQL原理,詳述一條SQL的執行過程 -----------------------------到此是上面已經總結過的----------------------------------

前言 天天和數據庫打交道,一天能寫上幾十條 SQL 語句,但你知道我們的系統是如何和數據庫交互的嗎?MySQL 如何幫我們存儲數據、又是如何幫我們管理事務?....是不是感覺真的除了寫幾個 「select * from dual」外基本腦子

原创 面試非常喜歡問這個問題:“說一下 Spring Boot 自動裝配原理唄?”

每次問到 Spring Boot, 面試官非常喜歡問這個問題:“講述一下 SpringBoot 自動裝配原理?”。 我覺得我們可以從以下幾個方面回答: 什麼是 SpringBoot 自動裝配? SpringBoot 是如何實現自動裝配的?

原创 【Netty開發指南】搭穩Netty開發的地基 Netty權威指南手冊 V2.0版 英雄傳說 總結

Linux網絡編程5種IO模型 根據UNIX網絡編程對於IO模型的分類,UNIX提供了5種IO模型,分別是 阻塞IO 、 非阻塞IO、 IO複用 、 信號驅動IO 、 異步IO 。這幾種IO模型在《UNIX網絡編程》中有詳解,這裏作者只簡單

原创 52 條 SQL 語句性能優化策略,建議收藏

本文會提到 52 條 SQL 語句性能優化策略。 1、對查詢進行優化,應儘量避免全表掃描,首先應考慮在where及order by涉及的列上建立索引。 2、應儘量避免在where子句中對字段進行null值判斷,創建表時NULL是默認值,但大

原创 網絡Midbox處理TCP的方式對TCP吞吐的影響

昨天下班的路上,我發了一則朋友圈: 今天抓到一條大魚,隧道的TCP載荷吞吐提升一倍多,哈哈,週末愉快! 很多隧道都用同一個線程處理同一個tcp流,這顯然不對,應該用不同的線程分別處理一個流的兩個方向。 但很多用戶態隧道都是同一個線程處理同一

原创 Github接近10w點讚的“Java知識總結+面試指南” Java基礎 計算機基礎 常用框架面試題總結 數據庫面試題總結 微服務/分佈式 真實大廠面試現場

受疫情影響,今年似乎給人感覺似乎比往年還要難。顯然,春節一過,我們又將迎來面試旺季金三銀四。對於程序員來說,秋招的失利更意味着在金三銀四要打一場“硬戰”,可又有多少人做好了面試的準備呢?對於一線互聯網公司的面試,你又瞭解多少呢? Githu

原创 Java微服務 vs Go微服務,究竟誰更強!? 對決雙雄 賽前對比 比賽開始 第一回合 第二回合 第三回合

這是我最近一直在思索的一個問題。 去年8月份的the Oracle Groundbreakers Tour 2020 LATAM大會上,Mark Nelson和Peter Nagy就對此做過一系列基礎的的測試用以比較。接下來就給大家介紹下。

原创 新入職的妹子問我Redis是如何實現點贊、取消點讚的?這不秀一波

點贊、取消點贊是高頻次的操作,若每次都讀寫數據庫,大量的操作會影響數據庫性能,所以需要做緩存。 至於多久從 Redis 取一次數據存到數據庫中,根據項目的實際情況定吧,我是暫時設了兩個小時。 項目需求需要查看都誰點讚了,所以要存儲每個點讚的

原创 爲你Springboot項目自定義一個通用的異常(實用乾貨)

前言 我們的項目通常來講都是一個比較大的項目,包含了各種各樣的服務。如果每個服務都以不同的方式返回異常信息,這樣排查的時候就會比較凌亂。如果我們定義一個標準的異常處理體系。並在所有的服務中使用。那樣開發起來就可以快速定位。頁面也會更加的簡單

原创 作爲優秀程序員早就學會用“狀態模式”代替if-else了 簡介 狀態模式UML類圖 案例講解 總結

2020年已經進入倒計時了,大家立好的flag完成了嗎?2020實“鼠”不易,希望2021可以“牛”轉乾坤。 簡介 狀態模式是行爲型設計模式的一種。其設計理念是當對象的內部狀態發生改變時,隨之改變其行爲。狀態和行爲之間是一一對應的。 該模式

原创 網絡應用扛把子Netty!騰訊高工手寫“Netty速成手冊”,3天帶你走向實戰 前言 第一部分:Netty的概念及體系結構 第二部分:編解碼器 第三部分:網絡協議 第四部分:案例研究 總結

前言 在java界,netty無疑是開發網絡應用的拿手菜。你不需要太多關注複雜的nio模型和底層網絡的細節,使用其豐富的接口,可以很容易的實現複雜的通訊功能。 作爲當前最流行的NIO框架,Netty在互聯網領域、大數據分佈式計算領域、遊戲

原创 你一定要知道的MySQL之MVCC多版本併發控制

提到MVCC,那麼首先還是要說一下什麼是事務和事務隔離級別 MySQL事務 在關係型數據庫中,一個邏輯工作單元要成爲事務,必須滿足四個特性,ACID,即原子性(Atomicity),一致性(Consistency),隔離性(Isolatio

原创 我回答了Mybatis這個問題後,面試官竟然叫我回去等通知……

背景 前段時間在我的技術羣裏,大家討論起了爲什麼 UserMapper.java 是個接口,沒有具體實現類,而我們可以直接調用其方法? 關於這個問題,我之前面試過一些人,很多人是這麼回答的: 1.我領導叫我們使用 Mybatis ,大家都這

原创 索引優化的這把絕世好劍,你真的會用嗎?

前言 對於互聯網公司來說,隨着用戶量和數據量的不斷增加,慢查詢是無法避免的問題。一般情況下如果出現慢查詢,意味着接口響應慢、接口超時等問題。如果是高併發的場景,可能會出現數據庫連接被佔滿的情況,直接導致服務不可用。 慢查詢的確會導致很多問題

原创 亞馬遜算法大佬整理數據結構與算法手抄本筆記,簡直刷新了我的認知 數據結構與算法學習文檔及源代碼筆記 算法視頻教程免費分享(彩蛋)

作爲程序員,我們做機器學習也好,做python開發也好,java開發也好。有一種對所有程序員無一例外的剛需 —— 算法與數據結構,日常增刪改查 + 粘貼複製 + 搜索引擎可以實現很多東西。 同樣,這樣也是沒有任何競爭力的。我們只可以粘貼複製