1. 程式人生 > >部落格筆記整理【持續更新...】

部落格筆記整理【持續更新...】

Java基礎總結

  • Java基礎語法總結

    包括win10 安裝JDK8,資料型別與變數,運算子,陣列

  • 為什麼需要定義資料型別???

  • Java面向物件特性總結

    封裝,繼承,多型

  • 動態引用儲存——集合&&精確的集合定義——泛型

    Java集合又稱容器,可以動態的將物件的引用儲存在容器中。(靈活可擴充套件)

    什麼是泛型?

    引數化型別!!!
    什麼是引數化型別???
    將具體的型別(如String,Integer)抽象成引數。

  • 資料讀寫API——IO流

    IO指的是Input和Output,主要目的是實現資料在儲存介質之間的傳輸。【流:資料流,類比與水流的流動】

  • 列舉類&&註解&&反射

    在需要類的例項為一個或者多個並且相對固定的時候,使用列舉類。

    Annotation 其實就是程式碼裡的特殊標記, 這些標記可以在編譯, 類加 載, 執行時被讀取, 並執行相應的處理。

    反射機制允許程式在執行期 藉助於Reflection API取得任何類的內部資訊,並能直接操作任意物件的內部屬性及方法。 (最高許可權)


MySQL筆記

  • MySQL基礎總結

    包括MySQL介紹,Linux下安裝MySQL進行遠端連線,MySQL常用命令,資料型別,運算子

  • MySQL設計表規範

    包括設計表時常用規範,如禁止在資料庫中儲存圖片,檔案等大的二進位制資料,三大正規化等

  • MySQL索引和開發規範

    如單表索引最好不超過5個,索引最好加在where從句中


JVM筆記

  • JVM記憶體結構

    記憶體結構包括執行緒公有和執行緒私有,其中執行緒公有包括堆,方法區,執行時常量池,執行緒私有包括虛擬機器棧,本地方法棧和程式計數器

  • GC回收演算法&&GC回收器

    包括標記演算法:可達性分析演算法,GC Roots的物件,四種垃圾回收演算法,適合老年代的標記清除演算法和標記整理演算法,適合年輕代的複製演算法和”因地制宜“的分代演算法

    包括7種回收器,單執行緒回收的Serial和Serial Old回收器,多執行緒的Parallel Scavenge和Parallel Old回收器以及流行的CMS和G1回收器。

    jdk8預設使用Parallel Scavenge新生代回收器和Parallel Old老年代回收器

  • JVM引數配置&&命令工具

    JVM調優的目的是保證在一定吞吐量的情況下儘可能的減少GC次數

    推薦配置有將堆最大記憶體和堆初始化記憶體設定為相同的值,元空間記憶體增大

    視覺化工具VisualVM用於監控JVM執行情況

  • JVM類載入機制

    類載入過程包括載入,驗證,準備,解析,初始化

    為了避免類的重複載入,JVM使用雙親委派模型,優先將類載入提交給父類載入器載入,避免類的重複載入,實現類的統一


SpringBoot筆記

  • SpringBoot——HelloWorld

    微服務是單體應用在業務發展到一定規模的演化策略。

    包括SpringBoot專案構建工程的流程,RestController複合註解,pom依賴分析及簡單部署。

  • SpringBoot——Web開發(靜態資源對映)

    WebMVCAutoConfiguration靜態對映規則,自定義favicon ,banner

  • [SpringBoot——Web開發(使用Thymeleaf模板引擎)]

    thymeleaf跳轉規則,CRUD測試

  • SpringBoot整合Druid連線池

    連線池通過省略(複用)了建立連線和銷燬連線的過程(TCP連線建立時的三次握手和銷燬時的四次握手),從而使效能提高。

    囂張的Druid(GitHub的Wiki上自稱是Java語言最好的資料庫連線池)

  • SpringBoot整合Redis快取

    提升重複訪問資料的訪問效率。

    Redis的應用場景(針對被重複訪問的資料)

    • 頁面快取(圖片,CSS,html等靜態資料)——熱點資料
    • 最新列表
    • 排行榜
    • 計數器
    • session儲存


SpringCloud筆記

  • 服務註冊元件——Eureka高可用叢集搭建

    統一微服務的呼叫

  • Ribbon實現客戶端負載均衡

    實現客戶端負載均衡

  • 熔斷器Hystrix

    Hystrix是一個實現容錯機制的元件。【棄車保帥】

  • 熔斷監控Turbine

    監測伺服器的請求量

  • Nginx+Zuul叢集實現高可用閘道器

    • Nginx通過輪詢實現負載均衡
    • Zuul通過叢集實現高可用
  • 服務鏈路跟蹤 && 服務監控

    當請求不可用或者變慢時,需要及時排查出故障服務點成為了微服務維護的一大難關。

  • 分散式配置中心Apollo——QuickStart

    Apollo除了功能完備之外,在國內的普及度也相當廣泛

設計模式筆記

  • 設計模式入門筆記(1.1)

    設計模式是一種用於程式碼設計的經驗總結,主要應用場景是在大型應用的構建上

  • 設計模式七大原則(1.2)

    設計原則的目的是構建出更加穩定和健壯的軟體,七大原則圍繞鬆耦合和可擴充套件性展開。

  • UML類圖(1.3)

    五種關係都由依賴關係的某種例項


  • 建立型模式————單例模式(2.1)

    單例模式定義:在軟體系統中,一個類只有一個例項物件。【DoubleCheck,靜態內部類,列舉】

  • 建立型模式————工廠模式(2.2)

    工廠是用來生產的,而在Java裡,是用來生產物件例項的

  • 建立型模式————原型模式(2.3)

    簡單來說,通過複製的方式建立物件。(被複制的物件可以理解為模板)

    深拷貝:解決引用型別拷貝問題。

  • 建立型模式————建造者模式(2.4)

    簡單來說,建造者模式=建立物件+屬性賦值。

    建造者模式適合建立類中包含多個引數且需要定製化的情況。

  • 建立型模式總結(2.x)

    顧名思義,建立型模式的聚焦點在如何建立物件能夠將物件的建立與使用最大化的分離從而降低系統的耦合度。


  • 結構型模式————裝飾器模式(3.1)

    裝飾器模式的目的——核心部分和裝飾部分可以自由組合。‘


架構設計閱讀筆記

  • 《從零開始學架構》筆記——第一部分:概念和基礎

    合適優於業界領先。

    簡單優於複雜。

    演化優於一步到位。

  • 《從零開始學架構》筆記——第二部分:高效能和高可用架構模式

    儲存,計算的高效能和高可用常用策略

  • 《從零開始學架構》筆記——第三部分:可擴充套件架構模式

    分層架構,SOA,微服務架構的演變

  • 《從零開始學架構》筆記——第四部分:架構實戰

    技術的權衡本質是在業務和成本之間尋求一個平衡點。