原创 玩轉 Markdown 所有特性

:package: 本文已歸檔到:「blog」 目錄 目錄 標題 文本樣式 列表 分割線 鏈接 引用 代碼高亮 表格 Emoji 表情 註腳 數學公式 Diff 流程圖 HTML 編輯器 參考資料 標題 Markdow

原创 一篇文章讓你徹底掌握 shell 語言

一篇文章讓你徹底掌握 shell 語言 由於 bash 是 Linux 標準默認的 shell 解釋器,可以說 bash 是 shell 編程的基礎。 本文主要介紹 bash 的語法,對於 linux 指令不做任何介紹。 ? 本

原创 細說Java主流日誌工具庫

概述 在項目開發中,爲了跟蹤代碼的運行情況,常常要使用日誌來記錄信息。 在Java世界,有很多的日誌工具庫來實現日誌功能,避免了我們重複造輪子。 我們先來逐一瞭解一下主流日誌工具。 java.util.logging (JUL) JDK1

原创 Spring整合Ehcache管理緩存

前言 Ehcache 是一個成熟的緩存框架,你可以直接使用它來管理你的緩存。Spring 提供了對緩存功能的抽象:即允許綁定不同的緩存解決方案(如Ehcache),但本身不直接提供緩存功能的實現。它支持註解方式使用緩存,非常方便。 本文先

原创 深入理解 Java 枚舉

📓 本文已歸檔到:「javacore」 🔁 本文中的示例代碼已歸檔到:「javacore」 1. 簡介 enum 的全稱爲 enumeration, 是 JDK5 中引入的特性。 在 Java 中,被 enum 關鍵字修飾的類

原创 深入理解 Java 異常

📓 本文已歸檔到:「javacore」 🔁 本文中的示例代碼已歸檔到:「javacore」 1. 異常框架 1.1. Throwable Throwable 是 Java 語言中所有錯誤(Error)和異常(Exceptio

原创 深入理解 Java 泛型

📓 本文已歸檔到:「javacore」 🔁 本文中的示例代碼已歸檔到:「javacore」 1. 爲什麼需要泛型 JDK5 引入了泛型機制。 爲什麼需要泛型呢?回答這個問題前,先讓我們來看一個示例。 public class

原创 深入理解 Java 線程池

一、簡介 什麼是線程池 線程池是一種多線程處理形式,處理過程中將任務添加到隊列,然後在創建線程後自動啓動這些任務。 爲什麼要用線程池 如果併發請求數量很多,但每個線程執行的時間很短,就會出現頻繁的創建和銷燬線程。如此一來,會大大降

原创 深入理解 Java 方法

方法(有的人喜歡叫函數)是一段可重用的代碼段。 📓 本文已歸檔到:「javacore」 🔁 本文中的示例代碼已歸檔到:「javacore」 1. 方法的使用 1.1. 方法定義 方法定義語法格式: [修飾符] 返回值類型 方

原创 Java 控制語句

Java 控制語句 📓 本文已歸檔到:「javacore」 🔁 本文中的示例代碼已歸檔到:「javacore」 Java 控制語句大致可分爲三大類: - 選擇語句 - if, else-if, else - switch -

原创 Java 併發核心機制

📦 本文以及示例源碼已歸檔在 javacore 一、J.U.C 簡介 Java 的 java.util.concurrent 包(簡稱 J.U.C)中提供了大量併發工具類,是 Java 併發能力的主要體現(注意,不是全部,有部

原创 深入理解 Java 併發鎖

📦 本文以及示例源碼已歸檔在 javacore 一、併發鎖簡介 確保線程安全最常見的做法是利用鎖機制(Lock、sychronized)來對共享數據做互斥同步,這樣在同一個時刻,只有一個線程可以執行某個方法或者某個代碼塊,那麼

原创 Java 線程基礎

📦 本文以及示例源碼已歸檔在 javacore 一、線程簡介 什麼是進程 什麼是線程 進程和線程的區別 二、線程基本用法 創建線程 線程休眠 線程禮讓 終止線程 守護線程 FAQ 三、線程間通信 wait/not

原创 全面瞭解 Java 原子變量類

📦 本文以及示例源碼已歸檔在 javacore 一、原子變量類簡介 爲何需要原子變量類 保證線程安全是 Java 併發編程必須要解決的重要問題。Java 從原子性、可見性、有序性這三大特性入手,確保多線程的數據一致性。 確

原创 Java 內存模型

📦 本文以及示例源碼已歸檔在 javacore Java 內存模型(Java Memory Model),簡稱 JMM。 JVM 中試圖定義一種 JMM 來屏蔽各種硬件和操作系統的內存訪問差異,以實現讓 Java 程序在各種平臺