原创 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開發也好。有一種對所有程序員無一例外的剛需 —— 算法與數據結構,日常增刪改查 + 粘貼複製 + 搜索引擎可以實現很多東西。 同樣,這樣也是沒有任何競爭力的。我們只可以粘貼複製

原创 Redis整合MySQL和MyCAT分庫組件

MyCAT是一個開源的分佈式數據庫組件,在項目裏,一般用這個組件實現針對數據庫的分庫分表功能,從而提升對數據表,尤其是大數據庫表的訪問性能。而且在實際項目裏,MyCAT分庫分表組件一般會和MySQL以及Redis組件整合使用,這樣就能從“降

原创 天秀 !阿里巴巴技術專家弄出的SpringCloud學習指南,從入門到搭建架構大系統 前言 一、SpringCloud 二、使用Docker構建微服務 總結

前言 阿里巴巴,作爲國內互聯網公司的Top,算是業界的標杆,有阿里背景的程序員,也更具有權威性。作爲程序員,都清楚阿里對於員工要求有多高,技術人員掌握的技術水平更是望塵莫及。所以,大廠程序員的很多經驗也都值得我們借鑑和學習,在一定程度上確實

原创 太讚了!Github上都沒有的“網約車”項目!!!被我從某架構師手上白嫖到了 需要的小夥伴點贊後私信【項目】免費白嫖

推薦一個不錯的網約車項目!!! 啥也不說了,上圖... 項目介紹 該項目是一款標準且已上線的“網約車”應用。符合我國交通部對網約車監管的技術要求。通過了交通部對網約車線上和線下能力認定。項目原型曾在杭州上線運行。 項目中核心功能包括