> For the complete documentation index, see [llms.txt](https://xu-min-chang.gitbook.io/caster-develop-note/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://xu-min-chang.gitbook.io/caster-develop-note/java.md).

# Java

- [JVM Performance Tool](https://xu-min-chang.gitbook.io/caster-develop-note/java/jvm-performance-tool.md)
- [Java Debug Wire Protocol (JDWP) 的詳細介紹](https://xu-min-chang.gitbook.io/caster-develop-note/java/jvm-performance-tool/java-debug-wire-protocol-jdwp-de-xiang-xi-jie-shao.md)
- [JConsole 詳細介紹](https://xu-min-chang.gitbook.io/caster-develop-note/java/jvm-performance-tool/jconsole-xiang-xi-jie-shao.md)
- [Spring Boot](https://xu-min-chang.gitbook.io/caster-develop-note/java/spring-boot.md)
- [Spring Security](https://xu-min-chang.gitbook.io/caster-develop-note/java/spring-boot/spring-security.md): Spring Security是一個用於保護Java應用程序的強大框架，尤其是Web應用程序。它提供了全面的身份驗證（Authentication）和授權（Authorization）機制，用於確保只有授權的用戶可以訪問應用程序的特定資源。
- [Spring Boot Admin](https://xu-min-chang.gitbook.io/caster-develop-note/java/spring-boot/spring-boot-admin.md): Spring Boot Admin用來管理和監控Spring Boot應用程式
- [Spring Event](https://xu-min-chang.gitbook.io/caster-develop-note/java/spring-boot/spring-event.md)
- [Spring AOP](https://xu-min-chang.gitbook.io/caster-develop-note/java/spring-boot/spring-aop.md)
- [Spring Boot JUnit 5](https://xu-min-chang.gitbook.io/caster-develop-note/java/spring-boot/spring-boot-junit-5.md): JUnit5 單元測試
- [Apache Dubbo](https://xu-min-chang.gitbook.io/caster-develop-note/java/spring-boot/apache-dubbo.md): Spring Boot和Apache Dubbo是兩個流行的Java開發框架，它們可以一起使用以構建分佈式微服務應用程序。
- [Reflect 應用](https://xu-min-chang.gitbook.io/caster-develop-note/java/reflect-ying-yong.md)
- [ELK + F 建構](https://xu-min-chang.gitbook.io/caster-develop-note/java/elk-+f-jian-gou.md): Elasticsearch + Logstash + Kibana + FileBeat 四個組件的組合
- [Socket.IO](https://xu-min-chang.gitbook.io/caster-develop-note/java/socket.io.md)
- [OCR - 光學字元辨識](https://xu-min-chang.gitbook.io/caster-develop-note/java/ocr-guang-xue-zi-yuan-bian-shi.md): OCR英文全稱是Optical Character Recognition，中文叫做光學字元識別。它是利用光學技術和計算機技術把印在或寫在紙上的文字讀取出來，並轉換成一種計算機能夠接受、人又可以理解的格式。
- [讀取JAR resource文件](https://xu-min-chang.gitbook.io/caster-develop-note/java/du-qu-jar-resource-wen-jian.md): 在以SpringBoot Base 專案, 使用multi module時, 當要讀取commons module文件, 路徑的排錯經歷.
- [LocalTime & MySQL時間精度](https://xu-min-chang.gitbook.io/caster-develop-note/java/localtime-yu-mysql-shi-jian-jing-du-wen-ti.md): Java8 LocalTime 與MySQL DateTime 精度不同導致數據查詢錯誤的問題
- [Gradle multi module](https://xu-min-chang.gitbook.io/caster-develop-note/java/gradle-multi-module.md): Java SpringBoot gradle multi module settings. IDE use: intellij
- [MyBatis-Plus](https://xu-min-chang.gitbook.io/caster-develop-note/java/mybatis-plus.md)
- [Java Date operation](https://xu-min-chang.gitbook.io/caster-develop-note/java/java-date-operation.md): 有關Java Date 相關操作，工作遇到時區轉換的問題，透過此次機會一起統整經過及方法。
- [Java IP to Long](https://xu-min-chang.gitbook.io/caster-develop-note/java/java-ip-to-long.md): IP地址使用整數存儲到數據庫，會這樣做也是最近遇到資料庫查詢瓶頸，進而研究該如何調整新增進資料庫的值，能讓查詢效能提升。
- [Apache Commons lang3 應用](https://xu-min-chang.gitbook.io/caster-develop-note/java/apache-commons-lang3-ying-yong.md)
- [Function 應用](https://xu-min-chang.gitbook.io/caster-develop-note/java/apache-commons-lang3-ying-yong/function-ying-yong.md)
- [Cloud Platform](https://xu-min-chang.gitbook.io/caster-develop-note/java/cloud-platform.md): 雲端平台應用
- [Amazon S3](https://xu-min-chang.gitbook.io/caster-develop-note/java/cloud-platform/amazon-s3.md)
- [SDK V1](https://xu-min-chang.gitbook.io/caster-develop-note/java/cloud-platform/amazon-s3/sdk-v1.md)
- [Bucket](https://xu-min-chang.gitbook.io/caster-develop-note/java/cloud-platform/amazon-s3/sdk-v1/bucket.md): 上傳物件
- [SDK V2](https://xu-min-chang.gitbook.io/caster-develop-note/java/cloud-platform/amazon-s3/sdk-v2.md)
- [Bucket](https://xu-min-chang.gitbook.io/caster-develop-note/java/cloud-platform/amazon-s3/sdk-v2/bucket.md): 分批上傳物件
- [Google Cloud Platform](https://xu-min-chang.gitbook.io/caster-develop-note/java/cloud-platform/google-cloud-platform.md)
- [Azure Cloud](https://xu-min-chang.gitbook.io/caster-develop-note/java/cloud-platform/azure-cloud.md)
- [Storage](https://xu-min-chang.gitbook.io/caster-develop-note/java/cloud-platform/azure-cloud/storage.md): 上傳物件
- [OVHcloud](https://xu-min-chang.gitbook.io/caster-develop-note/java/cloud-platform/ovhcloud.md)
- [Config](https://xu-min-chang.gitbook.io/caster-develop-note/java/cloud-platform/ovhcloud/config.md): Use AWS S3 Java SDK Setting
- [SSL/TLS工具](https://xu-min-chang.gitbook.io/caster-develop-note/java/ssltls-gong-ju.md)
- [Util 工具](https://xu-min-chang.gitbook.io/caster-develop-note/java/util-gong-ju.md)
- [Jackson Json工具](https://xu-min-chang.gitbook.io/caster-develop-note/java/util-gong-ju/jackson-json-gong-ju.md): com.fasterxml.jackson
- [Charles應用](https://xu-min-chang.gitbook.io/caster-develop-note/java/util-gong-ju/charles-ying-yong.md): 監控APP 封包使用, 就是一個簡便的代理服務器工具
- [JMeter – Performing Distributed Load Testing with Docker](https://xu-min-chang.gitbook.io/caster-develop-note/java/util-gong-ju/jmeter-performing-distributed-load-testing-with-docker.md)
- [Redis](https://xu-min-chang.gitbook.io/caster-develop-note/java/redis.md)
- [Stream](https://xu-min-chang.gitbook.io/caster-develop-note/java/redis/stream.md): Redis Stream 是 Redis 5.0 版本新增加的數據結構。  Redis Stream 主要用於消息隊列（MQ，Message Queue），Redis 本身是有一個 Redis 發布訂閱 (pub/sub) 來實現消息隊列的功能，但它有個缺點就是消息無法持久化，如果出現網絡斷開、Redis 宕機等，消息就會被丟棄。
- [Redisson 分布式鎖機制](https://xu-min-chang.gitbook.io/caster-develop-note/java/redis/redisson-fen-bu-shi-suo-ji-zhi.md): Redisson 是一個用於 Java 的分布式和分散式應用程序的高級框架，提供了多種分布式數據結構和服務。其中，分布式鎖是 Redisson 提供的重要功能之一。
- [Create Redis Cluster Using Docker](https://xu-min-chang.gitbook.io/caster-develop-note/java/redis/create-redis-cluster-using-docker.md): 在這份文件中，我們將使用 Docker Compose、Dockerfile 以及 Shell 腳本來建立一個 Redis Cluster。以下是相關的設定檔案和步驟。
- [List Operations](https://xu-min-chang.gitbook.io/caster-develop-note/java/redis/list-operations.md)
- [Cache Penetration & Cache Avalanche](https://xu-min-chang.gitbook.io/caster-develop-note/java/redis/cache-penetration-and-cache-avalanche.md): Java 與 Redis：深入解析快取穿透與快取雪崩及其高效解決方案
- [Solution](https://xu-min-chang.gitbook.io/caster-develop-note/java/redis/cache-penetration-and-cache-avalanche/solution.md): 基於 Spring 和 Redis 的通用快取管理框架，其核心目標是提升系統在高併發場景下的穩定性與性能。透過引入排程刷新、分佈式鎖、異步處理以及針對「合法 ID 集合」的預載入與檢查機制，該框架旨在同時緩解快取雪崩和快取穿透問題。
- [CacheGuard 快取防禦策略](https://xu-min-chang.gitbook.io/caster-develop-note/java/redis/cache-penetration-and-cache-avalanche/cacheguard-kuai-qu-fang-yu-ce-le.md): 基於之前的方法重新思考快取防禦這件事情
- [從基礎到極致：CacheGuard重新優化](https://xu-min-chang.gitbook.io/caster-develop-note/java/redis/cache-penetration-and-cache-avalanche/cong-ji-chu-dao-ji-zhi-cacheguard-chong-xin-you-hua.md): 針對 CacheGuard 新舊版本演進與優化細節，接續您之前的基礎介紹，深入探討在高併發環境下，如何透過細節調整進一步提升系統的穩定性與效能。
- [快取防禦架構演進：從動態 Key 的臃腫到多型的極致優雅](https://xu-min-chang.gitbook.io/caster-develop-note/java/redis/cache-penetration-and-cache-avalanche/kuai-qu-fang-yu-jia-gou-yan-jin-cong-dong-tai-key-de-yong-zhong-dao-duo-xing-de-ji-zhi-you-ya.md): 在分散式系統的開發中，為了同時優化\*\*全域靜態快取\*\*（例如：全站設定檔）與\*\*使用者隔離動態快取\*\*（例如：使用者個人資料），我們往往需要設計一套既能防禦快取穿透/雪崩，又能彈性支援動態欄位拼接的架構。
- [Java 8](https://xu-min-chang.gitbook.io/caster-develop-note/java/java-8.md)
- [method & constructor Reference](https://xu-min-chang.gitbook.io/caster-develop-note/java/java-8/method-and-consturctor-reference.md)
- [CompletableFuture](https://xu-min-chang.gitbook.io/caster-develop-note/java/java-8/completablefuture.md): 經資深工程師Justin友人，提醒我Java8還有這東西可以搞一搞，就來試看看發現驚為天人，真是厲害的東西。
- [FunctionInterface](https://xu-min-chang.gitbook.io/caster-develop-note/java/java-8/functioninterface.md)
- [Stream 應用](https://xu-min-chang.gitbook.io/caster-develop-note/java/java-8/stream-ying-yong.md): 開發應用日誌
- [繁簡轉換 - 簡易調整](https://xu-min-chang.gitbook.io/caster-develop-note/java/java-8/fan-jian-zhuan-huan-jian-yi-diao-zheng.md)
- [Program Design](https://xu-min-chang.gitbook.io/caster-develop-note/java/program-design.md)
- [增量聚合（Incremental Aggregation）](https://xu-min-chang.gitbook.io/caster-develop-note/java/program-design/zeng-liang-ju-he-incremental-aggregation.md)
- [MySQL](https://xu-min-chang.gitbook.io/caster-develop-note/java/mysql.md)
- [建立測試用 流水號Table](https://xu-min-chang.gitbook.io/caster-develop-note/java/mysql/jian-li-ce-shi-yong-liu-shui-hao-table.md): 這個存儲過程名為 createNumberTable，用於創建一個包含數字的記憶體表（sequence\_number），以便生成假數據或進行測試。
- [SQL 效能調校 - Explain](https://xu-min-chang.gitbook.io/caster-develop-note/java/mysql/sql-xiao-neng-diao-xiao-explain.md)
- [SQL 效能調校 - Partition](https://xu-min-chang.gitbook.io/caster-develop-note/java/mysql/sql-xiao-neng-diao-xiao-partition.md): 在MySQL中，分區（Partitioning）是一種數據庫設計技術，允許將表拆分成多個子表，每個子表稱為分區，以更有效地管理和查詢大量數據。這種技術的主要目的是提高性能，減少查詢時間，並更好地處理大型數據集。
- [排程 - Event](https://xu-min-chang.gitbook.io/caster-develop-note/java/mysql/pai-cheng-event.md): MySQL事件（Events）是一種用於安排和自動執行指定任務或SQL語句的機制。它類似於作業系統上的計劃任務（cron jobs）或任何其他自動化工具，但在MySQL中實現。
- [Apache ShardingSphere](https://xu-min-chang.gitbook.io/caster-develop-note/java/apache-shardingsphere.md): Apache ShardingSphere（原名Sharding-JDBC）是一個開源的、分布式的數據庫中間件，專注於數據庫分片（Sharding）、分散式數據庫訪問（Sharding）、數據庫代理（Proxy）、和分布式事務（Distributed Transaction）等功能。
