原创 【設計模式】——三工廠模式

        最近在學習Spring的源碼,雖然對源碼認識不深刻,卻勾起了對設計模式的熱愛,越發能理解,這些理論的東西爲什麼值得被稱讚。設計模式本身系統的學習過三遍了,但依舊停留在記不住的情況下,這次的總結源於Spring源碼的學習,自

原创 常用時間工具類-某小時,天,星期,月的開始結束時間

在沒有使用Java8之前在封裝相關時間工具類的時候都使用的是java.util.Calendar。 Java.util.Calendar類將日期同時存儲爲與標準紀元之間的偏移量以及一組日曆字段。此雙精度表示導致在意外的時間重新計算日曆字段

原创 【源碼Spring系列】——徹底搞懂BeanFactory和FactoryBean

1、 BeanFactory     BeanFactory定義了 IOC 容器的最基本形式,並提供了 IOC 容器應遵守的的最基本的接口,也就是 Spring IOC 所遵守的最底層和最基本的編程規範。在  Spring 代碼中, Be

原创 【MySQL】——JSON類型

       自從MySQL5.7之後,MySQL開始支持JSON類型,在此之前如果想在表中保存JSON格式類型的數據,則需要依靠varchar或者text之類的數據類型,但是這樣並不利於屬性的查詢,支持json類型後有以下優勢 存儲在J

原创 fastjson常見使用方式

       最近的項目中涉及到很多需要和第三方交互的問題,傳輸數據格式使用就是json類型,需要解析各種花式json格式數據,之前只是簡單使用,從來沒有好好了解過fastjson的一些使用方法,在使用的過程有些陌生的地方,總結下來,爲了

原创 【算法&數據結構篇】——數組和鏈表

        算法和數據結構都是非常基礎的內容,經常使用,但是又很容易被忽視,而被重視的時候往往是面試官提問的時候。之前很不理解爲什麼面試官總喜歡問算法和數據結構,日常價值不大的東西。後來隨着工作的深入,越發的理解           

原创 【源碼Spring系列】——IOC設計理念以及自動裝配原理

        凡是使用Spring的開發者都知道Spring中兩大核心IOC和AOP,要問這兩點,一般都會說IOC實現控制反轉,AOP實現了面向切面編程。本文主要講解IOC,所以深入提問IOC歸根結底解決的是什麼問題,通過何種方式實現,

原创 【源碼Spring系列】——爲什麼學習Spring源碼

        最近學習了一句話,感覺自己的世界瞬間明朗,不再那麼緊張焦慮恐慌,同樣推薦給大家,希望我們都終有所得。         “如果一個人不是發自內心地想要做一件事情,那麼,他是無法改變自己的人生的。” 同樣這句話用在學習上依舊適

原创 【源碼Mybatis系列】——Mybatis源碼本地打包編譯

本文主要記錄在本機啓動調試Mybatis源碼中,本機基於Mybatis master 分支本地打包遇到問題整理。 https://github.com/mybatis/mybatis-3 https://github.com/mybati

原创 分庫分表——初識

1、什麼是分庫分表 就是把原本存儲於一個庫的數據分塊存儲到多個庫上,把原本存儲於一個表的數據分塊存儲到多個表上。 2、爲什麼分庫分表 數據庫中的數據量不一定是可控的,在未進行分庫分表的情況下,隨着時間和業務的發展,庫中的表會越來越多,表中

原创 優雅處理null,向空指針說再見!

導語         作爲一位Java研發,飽受了NullPointerException摧殘。一方面如果不做null的判斷,程序可能出現NullPointerException,另有一方如果做null判斷,這些判斷讓開發起來感到奔潰,也

原创 apollo——部署教程

apollo是一款優秀的分佈式配置中心,而且目前公司中也是採用apollo來作爲配置中心。關於apollo具體的內容,推薦大家去看官網,本文主要講在apollo的1.6.0版本之前,基於現有apollo,額外搭建新的環境。  1、爲何只適

原创 Mybatis-Plus——初識

之前只是在研究mybatis代碼生成工具的時候瞭解過mybatis-plus的代碼生成器,本身對mybatis-plus沒有過多瞭解。之所以現在來學習mybatis-plus是因爲前幾周新接手了一個項目,使用了mybatis-plus。讓