原创 大話設計模式之七大原則

設計模式七大原則 設計模式概述 ​ 設計模式就是對軟件設計過程中存在的普遍問題,所提出的解決方案。能夠很好的解決一些常見的問題。 ​ 設計模式的最終目的就是:高內聚低耦合 代碼重用性:相同功能的代碼,不需要多次編寫 代碼可讀性:

原创 HashMap從入門到入土

文章目錄HashMap源碼閱讀介紹:結構圖:分析參數關鍵概念常見問題HashMap數據結構:HashMap 工作原理爲什麼要一起重寫hashCode()和equal()方法假設都不重寫只重寫hashCode只重寫equals()方

原创 思維私塾——LeetCode16.最接近的三數之和

目錄LeetCode16.最接近的三數之和題目:分析只找一個數找兩個數的和找三個數的和代碼實現最後 LeetCode16.最接近的三數之和 ​ 各位朋友們大家好呀,我是你的老朋友冢狐,今天我們來看一道LeetCode上的中等難度的

原创 HashSet從入門到入土

文章目錄HashSet從入門到入土Hashset是什麼HashSet內部使用的是HashMapHashSet如何去重的非線程安全的LinkedHashSet無參構造函數最後 HashSet從入門到入土 Hashset是什麼 ​ 下

原创 分庫與分表

數據庫分庫與分表 簡介 ​ 就是將原本存儲在一個庫的數據分塊存儲在多個庫上,將原本存儲在一個表的數據分塊存儲在多個表裏面 切分模式 ​ 數據的切分根據其切分規則的類型,可以分爲如下兩種切分模式 垂直(縱向)切分 ​ 把單一的表拆分

原创 大話設計模式——簡單工程模式

目錄設計模式:簡單工程模式定義以及結構定義結構圖實現產品抽象類具體實現類工廠類測試優缺點優點缺點適用場景最後 設計模式:簡單工程模式 定義以及結構 定義 ​ 簡單工程模式屬於創建型模式,又稱爲靜態工程方法模式,在簡單工程模式中,可

原创 LeetCode680.驗證迴文字符串Ⅱ

目錄LeetCode680.驗證迴文字符串Ⅱ問題分析代碼實現 LeetCode680.驗證迴文字符串Ⅱ 問題 分析 這個題目就是對於迴文串的條件進行了放寬,允許刪除一個元素,這樣會導致字符之間的對應關係發生變化,相對簡單的方法就

原创 MyBatista入門到入土——帶你走進Mybatis的世界

文章目錄MyBatista入門到入土——帶你走進Mybatis的世界HibernateORMHibernate持久化持久層什麼是持久層爲什麼需要MyBatista框架結構Mybatis常用示例準備數據庫創建maven項目引入myb

原创 RabbitMQ從入門到入土——五種核心消息模式

RabbitMQ五種核心消息模式 相關概念 ​ 首先先了解下RabbitMQ中的相關概念,這裏以五種消息模式中的路由模式爲例: [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-uMYDs7Kr-159

原创 RabbitMQ從入門到入土——搭建環境

RabbitMQ從入門到入土——搭建環境 簡介 ​ RabbitMQ是很受歡迎的開源消息中間件之一,使用範圍廣。其次其是輕量級且易於部署,能支持多種消息協議。 ​ RabbitMQ開源部署在分佈式系統中,以滿足大規模、高可用的要求

原创 四種方法花式吊打面試題目——最小k個數

最小K個數 算法題目: ​ 輸入一個整數數組arr,找出其中最小的k個數。 思路 ​ 比較直觀的想法就是將整個數組排序,然後輸出前K小的數,所以我們使用目前最高效的排序算法,快排來解決問題。所以所需的時間複雜度O(nlogn)。但

原创 MyBatista入門到入土——開發項目的具體步驟

Mybatis從入門到入土——開發項目的具體步驟 Mybatis開發項目的具體步驟 項目中映入mybatis maven配置 <dependency> <groupId>org.mybatis</groupId>

原创 什麼我的索引居然失效了

我的索引居然失效了 ​ 很多時候sql慢是因爲不合適的sql寫法導致了索引失效從而影響了sql的執行速度。 查詢條件中包含or ​ 首先爲了測試創建一個user表以及建一個普通索引UserId如下: CREATE TABLE `u

原创 Select * from user的千層套路

目錄Select * from user的千層套路MySql的基本架構連接管理解析與優化查詢緩存語法解析和預處理查詢優化執行器存儲引擎 Select * from user的千層套路 ​ 作爲一個java程序員,我們會經常和sql

原创 一文掌握Lambda表達式

Java8 lambda表達式 lambda表達式初識 ​ lambda表達式的重要用法就是簡化某些匿名類的寫法,實際上lambda不僅僅是匿名內部類的語法糖,JVM內部也是通過invokedynamic指令來實現lambda表達