原创 創建者模式( Builder Pattern )

參考書籍: 《Design Patterns: Elements of Reusable Object-Oriented Software》 Builder Design Pattern 設計模式中一句出現頻率非常高的話是,“

原创 組合模式(Composite Pattern): 複雜的樹形結構

參考書籍: 《Design Patterns: Elements of Reusable Object-Oriented Software》 設計模式用前須知 設計模式種一句出現頻率非常高的話是,“ 在不改動。。。。的情況

原创 外觀模式( Facade Pattern ): 最簡單的設計模式

參考書籍: 《Design Patterns: Elements of Reusable Object-Oriented Software》 設計模式用前須知 設計模式種一句出現頻率非常高的話是,“ 在不改動。。。。的情況

原创 工廠方法模式(Factory Method Pattern): 簡單工廠並不是一種設計模式

參考書籍: 《Design Patterns: Elements of Reusable Object-Oriented Software》 Motivation for Simple Factory and Factory M

原创 單例模式( Single Pattern ): 不僅僅是回字的四種寫法

單例模式作爲入門編程人員面試必考題之一,也是被玩壞了, 猛然一搜盡然有七種寫法,什麼懶漢,餓漢五花八門, 這裏參考已經比較不錯的文章, 忽略五花八門的命名, 把單例模式不同寫法按邏輯演進梳理一下, 方便記憶。 參考文章: 1

原创 那些你應該掌握的 SpringFramework 原理

文章目錄參考文章前言Spring 的核心 IoC 容器應用 控制翻轉 / 依賴注入 (IoC/DI)之前應用 控制翻轉 / 依賴注入 (IoC/DI)之後鬆耦合的好處IoC 就沒有副作用嗎Spring IoC 容器的實現原理獲取

原创 Java 動態代理入門

文章目錄參考文章前言JAVA 原生動態代理例子一:一個只會打印被調用方法的代理步驟一: 創建 Invocation Handler步驟二: 創建 Proxy Instance例子二:可以代理多個接口的 InvocationHand

原创 Java 註解如何工作

本文轉載自 註解是什麼,爲什麼要使用註解 自Java5.0版本引入註解之後,它就成爲了Java平臺中非常重要的一部分。開發過程中,我們也時常在應用代碼中會看到諸如@Override,@Deprecated這樣的註解。這篇文章中,我

原创 一文讀懂二階段提交(Two-Phase Commit)

明確問題 二階段提交出現的背景是, 當我們使用分佈式系統時, 如果分佈式系統中的機器發生故障之後, 如何保證事務數據的一致性。 從一個場景入手, 假設一個人要從 A 銀行向 B 銀行進行跨行轉賬 100 元。 此時我們需要對 A 銀行

原创 面試題之窒息翻譯:類加載機制的雙親委派(正解:父委派模型)

參考文章 oracle 官方文檔 Class Loaders In Java - Baeldung Demystifying class loading problems 淺談雙親委派模型 致命的翻譯(雙親委派模型) JVM 類加載機

原创 Eureka Server 搭建過程中 Dashboard 404 error 解決方案

記錄一下用 spring initializer 生成的 gradle 項目 Spring Cloud Eureka Server 搭建過程中, 遇到的一個 IDE 導致的問題, 耽誤了小半天時間: Exception in thr

原创 清晰解題: 談談你對 HashMap, ConcurrentHashMap 的理解

參考文章: Wiki: Hash table java 8 Hashmap深入解析 —— put get 方法源碼 What’s Wrong With Hashcode in java.lang.String? JDK1.8 Hash

原创 TCP 爲什三次握手而不是兩次握手

參考文章 Why do we need a 3-way handshake? Why not just 2-way 大部分網絡博客的錯誤解讀 首先需要聲明的是, 百度搜索到的大部分網絡博客關於這個問題的解答都是不清晰或者不準確的。

原创 TensorFlow官方教程《Neural Networks and Deep Learning》譯(第二章)

反向傳播算法(BackPropagation algorithm)的工作原理 在上一章節中, 我們看到了神經網絡是如何利用梯度下降算法從數據中學習權重值 weights 和 偏倚量值 biases ,完成“學習” 的過程。 但是, 在算法

原创 TensorFlow官方教程《Neural Networks and Deep Learning》譯(第一章)

– 更新中 譯自:Neural Networks and Deep Learning 成果預展示 如果你能堅持閱讀完本章, 你可以獲得如下的成果: 上圖中的命令行窗口輸出爲: Epoch 0: 9095 / 10000 Epoch