原创 Spring IoC 原理及實現

依賴倒置原則 說到 IoC(Inversion of Control,反轉控制),得先簡單說下什麼是 Dependency Inversion Principle(依賴倒置原則)。 假設我們設計一輛汽車有兩種方案: 方案一:先設

原创 Spring 簡單入門

Spring 是什麼 Spring 是一個分層的 Java SE/EE 的輕量級框架,能夠提高開發人員的開發效率以及系統可維護性,官網地址:https://spring.io/。 Spring 的特徵 非侵入性 Spring 框架

原创 JPA 入門

概念 JPA 的全稱是 Java Persistence API, 即 Java 持久化 API,是 SUN 公司推出的一套基於 ORM 的規範,內部是由一系列的接口和抽象類構成。 優勢 標準化:JPA 是 JCP 組織發佈的 J

原创 Spring Cloud 創建註冊中心

服務發現組件 Eureka

原创 Windows 10 安裝 MySQL 8.0

系統版本:Windows 10 64 位 1909 MySQL 版本:MySQL 8.0.20 ZIP 下載 下載:官方地址 安裝 解壓 解壓到「無空格、無中文」的純英文路徑。 配置環境變量 新建 MYSQL_HOME,對應值

原创 MySQL 索引入門

定義 分類

原创 數據庫優化指南

選用合適數據庫 SQL SQL Server、MySQL(根據事務選擇存儲引擎)、Oracle NoSQL 鍵值型數據庫、文檔型數據庫、搜索引擎、列式存儲和圖形數據庫。 表設計 表結構遵循第三範式原則; 如果分析查詢應用比較多,

原创 UML 五類十圖

這次是最後一篇 UML 系列博客,將之前的內容進行了彙總。相信大家在本文的索引下,以及筆者其他 UML 相關博客的介紹下,對 UML 會有更深的認知。 UML中五類UML模型圖 第一類 - 用例圖 用例圖從用戶角度描述系統功能,並

原创 Windows 10 安裝 MySQL8.0

系統版本:Windows 10 64 位 1909 MySQL 版本:MySQL 8.0.20 ZIP 下載 下載:官方地址 安裝 解壓 解壓到「無空格、無中文」的純英文路徑。 配置環境變量 新建 MYSQL_HOME,對應值

原创 Java 枚舉使用

概述 在本文中,我們將會瞭解到什麼是 Java 枚舉,枚舉解決了哪些問題以及如何在實踐中使用 Java 枚舉實現一些設計模式。 enum 這個關鍵字出現在 Java5 中,它繼承 java.lang.Enum 類,有關枚舉更多的內

原创 Java 屬性賦值順序

TL;DR 默認初始化; 顯示初始化/代碼塊中賦值 構造器中初始化 對象.屬性或對象.方法 代碼 Grandfather 類: package com.mindartisan.priority; public class G

原创 一文讓你學會使用 Java 動態代理

此篇博客中說到的動態代理爲通過 JDK 實現的動態代理。 在上篇 Java 靜態代理 中我們說到了靜態代理的缺點之一是「代理類需在程序編譯前創建,不能在程序運行時動態創建被代理類的代理類」,此篇博客中我們仍將以「ZhangDe

原创 最通俗易懂的 Java 靜態代理講解

是什麼 衆所周知,代理模式是 23 種設計模式中的一種,其定義爲: 代理模式(Proxy):爲其他對象提供一種代理以控制對這個對象的訪問。——《大話設計模式》程傑 解析 首先,看看代理模式的 類圖 吧: 再來說說各部分含義:

原创 關於 Java 反射,你該瞭解這些

爲什麼需要 正如我們知道的那樣,Java 程序中的許多實例化的對象在代碼被編寫以及代碼運行時都會出現兩種類型:編譯時類型(我們在 IDE 中敲出來的相關代碼)和運行時類型(執行敲的代碼)。比如:Person person = ne

原创 Java Collection 接口簡述

Collection 接口是常用 List、Set、以及 Queue 接口的父接口,該接口中定義的方法既可以用於操作 Set 集合,又可用於操作 List 集合以及 Queue 集合。 常見方法 添加 boolean add(O