博客 / 列表

icodebuddy - Java記錄類入門:簡化的以數據為中心的Java編程

記錄類聲明是一種在Java類中封裝數據同時減少樣板代碼的高效方式。本文將通過基礎及高級編程場景介紹其工作原理。 Java記錄類是一種用於存儲數據的新型類。無需編寫構造方法、訪問器、equals()、hashCode() 和 toString() 的樣板代碼,只需聲明字段,Java編譯器便會自動處理其餘部分。本文將通過基礎與高級用例示例,以及不適用記錄類的場景,帶您全面瞭解Java記錄類。 注

JAVA

icodebuddy - Java 應用容器化與部署

如何開始打包、分發並將 Java 交付至生產環境 應用程序的容器化 提供了一種方法,可以將所有必需的應用程序資源——包括程序和配置文件、環境變量、網絡設置等——組合到一個標準化、易於管理的包中。 從單個容器鏡像可以啓動、運行、管理和終止多個功能相同的容器,確保從鏡像創建點開始的一致性。容器可以在截然不同的操作平台上運行,從本地機器到全球可擴展的雲環境,以及介於兩者之間的一切。可以構建流水線

JAVA , Docker

icodebuddy - Spring Data JPA 最佳實踐【1/2】:實體設計指南

Spring Data JPA(系列文章共 2 篇) Spring Data JPA 最佳實踐【1/2】:實體設計指南 Spring Data JPA 最佳實踐【2/2】:存儲庫設計指南 這一系列文章是我在審查一個包含大量不良實踐的大型遺留代碼庫時撰寫的總結。為了解決這些問題,我創建了這份指南,旨在向我之前的同事推廣 Spring Data JPA 在設計實體方面的最佳實踐。 現在是將這

jpa

icodebuddy - Java 中的結構化併發模式

併發編程長期以來一直是 Java 的阿喀琉斯之踵。儘管 ExecutorService 和 Future 為我們提供了良好的服務,但它們允許不受限制的模式,其中子任務可能比其父任務存活更久、線程可能泄漏,而取消操作則變成了一場噩夢。結構化併發通過將運行在不同線程中的相關任務組視為一個單一的工作單元,改變了這一現狀,它簡化了錯誤處理和取消操作,同時提高了可靠性和可觀測性。 非結構化併發的問題

JAVA

icodebuddy - Spring Boot WebSocket:使用 Java 構建多頻道聊天系統

這是一個使用 WebFlux 和 MongoDB 構建響應式 Spring Boot WebSocket 聊天的分步指南,包括配置、處理程序和手動測試。 正如您可能已經從標題中猜到的,今天的主題將是 Spring Boot WebSockets。不久前,我提供了一個基於 Akka 工具包庫的 WebSocket 聊天示例。然而,這個聊天將擁有更多一些功能,以及一個相當不同的設計。 我將跳過

websocket , springboot , JAVA

icodebuddy - Spring框架中的Component與Bean註解

Spring Boot 中的 @Bean 與 @Component ![]( https://pic4.zhimg.com/v2-f957e9ec5412c87a66ccb021410eaae9_14...) Spring 的 @Component 和 @Bean 註解的關鍵區別在於:@Bean 註解可用於暴露您自己編寫的 JavaBeans,而 @Component 註解可用於

spring , component , JAVA , bean

icodebuddy - Netflix系統架構解析

Netflix系統架構解析 Netflix架構旨在高效可靠地同時為數百萬用户提供內容。以下是其特性和組件的詳細分析。 是否曾好奇Netflix如何讓您目不轉睛地享受無中斷的流暢播放體驗?幕後功臣正是Netflix架構,它負責提供吸引全球觀眾的無縫流媒體體驗。Netflix的系統架構強調了決定未來內容形態的重要性。讓我們一起探索Netflix流媒體宇宙的幕後故事! Netflix已成為娛樂、

系統架構

icodebuddy - Java開發中不要使用受檢異常

簡介 Java是唯一(主流)實現了受檢異常概念的編程語言。一開始,受檢異常就是爭議的焦點。在當時被視為一種創新概念(Java於1996年推出),如今卻被視不良實踐。 本文要討論Java中非受檢異常和受檢異常的動機以及它們優缺點。與大多數關注這個主題的人不同,我希望提供一個平衡的觀點,而不僅僅是對受檢異常概念的批評。 我們先深入探討Java中受檢異常和非受檢異常的動機。Java之父詹姆斯·高斯林對這

JAVA , 異常處理

icodebuddy - 使用 Spring Boot 構建可重用的模擬模塊

【譯】本文譯自: Building Reusable Mock Modules with Spring Boot - Reflectoring 將代碼庫分割成鬆散耦合的模塊,每個模塊都有一組專門的職責,這不是很好嗎? 這意味着我們可以輕鬆找到代碼庫中的每個職責來添加或修改代碼。也意味着代碼庫很容易掌握,因為我們一次只需要將一個模塊加載到大腦的工作記憶中。 而且,由於每個模塊都有自己的 API,這

module , mock , springboot

icodebuddy - Java 異常機制

【注】本文譯自:Java Exceptions - DZone Java Java Exception Java Exception 是為處理異常應用程序行為而創建的類。在本文中,我將解釋如何使用 Java Exception 類以及如何在考慮現有 Java Exceptions 設計的情況下創建異常結構。Java 異常概念是 Java 中的重要里程碑之一,每個開發人員都必須瞭解它。 Java 異

exception , JAVA

icodebuddy - GraphQL 快速入門【2】環境設置

【注】本文節譯自:GraphQL - Quick Guide (tutorialspoint.com) 在本章中,我們將學習 GraphQL 的環境設置。 要執行本教程中的示例,您將需要以下內容: 運行 Linux、macOS 或 Windows 的計算機。 網絡瀏覽器,最好是最新版本的 Google Chrome。 安裝了最新版本的 Node.js。建議使用最新的 LTS

rest , graphql

icodebuddy - GraphQL 快速入門【1】簡介

【注】本文節譯自:GraphQL - Quick Guide (tutorialspoint.com) GraphQL 是 Facebook 開發的一種開源服務器端技術,用於優化 RESTful API 調用。它是一種執行引擎和一種數據查詢語言。在本章中,我們將討論使用 GraphQL 的優勢。 為什麼使用 GraphQL RESTful API 遵循清晰且結構良好的面向資源的方法。

rest , graphql