@後端

動態 列表
@chen_67f9ccbe6f07b

Java 多線程實戰:四種創建線程方式深度剖析與源碼解讀

前言 多線程編程是 Java 開發者必須掌握的核心技能,而瞭解線程創建的不同方式及其內部機制,是構建高效穩定併發程序的基礎。本文將通過實例代碼、原理分析和源碼解讀,全面剖析 Java 中創建線程的四種主要方式,幫助開發者選擇最適合自己業務場景的線程創建方法。 一、繼承 Thread 類創建線程 1.1 基本原理 Thread 類是 Java 中表示線程的核心類,它實現了 Runnable 接口。通

chen_67f9ccbe6f07b 頭像

@chen_67f9ccbe6f07b

昵稱 異常君

@chen_67f9ccbe6f07b

Java 多線程核心技術:線程間通信三種經典方式詳解與實戰

一、為什麼需要線程間通信? 大家好!今天我們來聊聊多線程編程中的一個核心問題:線程間通信。 想象一下這個場景:你開發了一個電商系統,一個線程負責接收用户下單請求,另一個線程負責庫存扣減,還有一個線程負責發送通知。這些線程之間如果無法協作,就像各自為戰的士兵,無法完成統一的任務。 線程間通信解決的核心問題是: 線程協作:多個線程按照預定的順序執行任務 數據共享:一個線程產生的數據,需要被另一個

chen_67f9ccbe6f07b 頭像

@chen_67f9ccbe6f07b

昵稱 異常君

@dewujishu

同城雙活:交易鏈路的穩定性與可靠性探索

知易行難,雙活過程中遇到了非常多的問題,但是回過頭看很難完美的表述出來,之所以這麼久才行文也是這個原因,總是希望可以儘可能的復現當時的思考、問題細節及解決方案,但是寫出來才發現能給出的都是多次打磨、摸索之後的我們認為偏合理的方案;不過換個角度看,給大家展示出來一個正確答案,是否有更積極的參考價值呢? 以及,涉及到容器、發佈平台、底層網絡運維、監控等組件的內容,限於視野及技術能力並未包含在內,

dewujishu 頭像

@dewujishu

昵稱 得物技術

@neteaseyunxin

InfoQ官媒報道|網易雲信裴明明:雲原生架構下中間件聯邦高可用架構實踐

在雲原生架構下,中間件管理方式和傳統方式有較大差別。首先在 K8s 上如何管理中間件集羣,其次雲原生架構將運維能力下沉,如何高效利用雲原生能力並實現中間件跨可用區高可用?在 10 月 18-19 日舉辦的 QCon 全球軟件開發大會上,網易雲信資深架構師裴明明為我們帶來了精彩的專題演講“雲原生架構下中間件聯邦高可用架構實踐”,重點介紹了網易雲信基於 K8s 的集羣聯邦能力實現中間件有狀態應用跨可用

neteaseyunxin 頭像

@neteaseyunxin

昵稱 網易數智

@ihengshuai

Jest單元測試

由於格式和圖片解析問題,可前往 閲讀原文 前端自動化測試在提高代碼質量、減少錯誤、提高團隊協作和加速交付流程方面發揮着重要作用。它是現代軟件開發中不可或缺的一部分,可以幫助開發團隊構建可靠、高質量的應用程序 單元測試(Unit Testing)和端到端測試(End-to-End Testing)是兩種常見的測試方法,它們在測試的範圍、目的和執行方式上有所不同。單元測試和端到端測試不是相互排斥的,而

ihengshuai 頭像

@ihengshuai

昵稱 大衞talk

@camille_5f9b7f6b8693f

Javaweb入門完整版學習教程,簡單粗暴,通俗易懂!

JavaWeb是用Java技術來解決相關web互聯網領域的技術總和,Java提供了技術方案可以解決客户端和服務器端的實現。 web包括:web服務器和web客户端兩部分。 Java在客户端的應用有 java applet,不過使用得很少,Java在服務器端的應用非常的豐富,比如Servlet,JSP和第三方框架等等。 Java技術對Web領域的發展注入了強大的動力。 目前,Java Web開

camille_5f9b7f6b8693f 頭像

@camille_5f9b7f6b8693f

昵稱 牛仔碼農

@heerduo

BeanMappingKey,Java開發者們的福星!!!

背景 一切還要從我的上一家公司講起,我的上一家公司是一家獨角獸企業,説大不大説小不小的那種,公司氛圍也是比較注重技術,我當時入職之後的第一課就是閲讀我們 CTO 寫的開發規範,其中他把 Java 項目的目錄結構劃分的非常清楚,大概是下面這個樣子的: 我當時覺得這種分層結構劃分的非常優雅與合理,當然以上只是一個大概,更細節的分層我沒有表露,但是隨之而來在實際中使用的過程中,這樣一個三層

heerduo 頭像

@heerduo

昵稱 和耳朵

@fannaodeshafa

別再手擼了,6個Go庫加持,寫代碼快得飛起

剛從 PHP/Java 轉 Go 的同學,是不是會覺得Go 的標準庫是挺牛,啥都有,但真要搓個像樣的Web應用出來,好像又什麼都得自己手擼。路由、配置、ORM……結果項目還沒開始,人已經勸退了。 過來人告訴你,這思路不對。地道的Gopher,早就學會用使用工具了。今天,我就掏出我壓箱底的寶貝,聊聊那6個幾乎成了Go項目標配的神器。 坐穩了,發車! Gin: Web開發的事實標準 想用Go寫API?

fannaodeshafa 頭像

@fannaodeshafa

昵稱 煩惱的沙發

@xuxueli

XXL-BOOT v1.2.0 | 快速開發平台

Release Notes 1、【升級】項目升級 SpringBoot3 + JDK17; 2、【升級】升級多項依賴至較新版本,如xxl-sso、jakarta、spring等,適配JDK17; 3、【重構】登錄認證重構,集成XXL-SSO提供登錄認證能力,可擴展支持單點登錄、分佈式認證...等多場景登錄訴求; 4、【重構】權限認證重構,支持註解式/API方式快速鑑權,便捷集成系統RBA

xuxueli 頭像

@xuxueli

昵稱 xuxueli

@fannaodeshafa

8款高效開發工具,建議放進收藏夾

分享8款能實實在在提升你開發幸福感的好東西。它們有的能幫你一勞永逸地解決環境配置難題,有的能讓煩人的Bug報告變得清晰明瞭。一起來看看吧。 ServBay — 別再折騰本地環境了! 還在為配置Python、Java、PHP、Node.js或者搞定SSL證書而頭疼嗎?ServBay就是來終結這一切的。它不像傳統的集成環境那樣笨重,而是一個清爽的macOS Windows應用,讓你像點菜一樣勾選所需

fannaodeshafa 頭像

@fannaodeshafa

昵稱 煩惱的沙發

@fannaodeshafa

這幾款Rust工具,開發體驗直線上升

還有誰,在寫rust的時候,是去官網複製 curl 命令來裝 rustup 的,着實有點土了。尤其是手頭項目一多,或者需要 Rust 配合數據庫、其他後端服務一起工作時,事情就更麻煩了。如何安裝rust環境這個問題,在2025年,就應該更現代、更簡單一點。 今天介紹的幾個工具,就是讓你的rust開發縱享絲滑。 ServBay:把 Rust 環境管理,從命令行搬進圖形界面 我們先來解決最頭疼的版本和

fannaodeshafa 頭像

@fannaodeshafa

昵稱 煩惱的沙發

@dewujishu

可擴展系統設計的黃金法則與Go語言實踐|得物技術

一、引言:為什麼需要可擴展的系統? 在軟件開發領域,需求變更如同家常便飯。一個缺乏擴展性的系統,往往在面對新功能需求或業務調整時,陷入“改一行代碼,崩整個系統”的困境。可擴展性設計的核心目標是:讓系統能夠以最小的修改成本,適應未來的變化。對於Go語言開發者而言,利用其接口、併發、組合等特性,可以高效構建出適應業務演進的系統。 本文將從架構設計原則、編碼實踐、架構實現模式、驗證指標到演進路線,系統講

dewujishu 頭像

@dewujishu

昵稱 得物技術

@fannaodeshafa

都2025年了,還有人用Python 2嗎

Python 的程序員應該都遇到一個問題,Python 2 和 3 的兼容問題該怎麼辦?Python 2 發佈於 2000 年,Python 3 發佈於 2008 年,但 Python 開發者都知道,兩者並不兼容。都2025年了,Python 2 和 Python 3 該怎麼選,還用説嗎?當然是選Python 3,且聽我細細道來。 Python 2 早就斷氣了 Python 2 已於 2020

fannaodeshafa 頭像

@fannaodeshafa

昵稱 煩惱的沙發

@fannaodeshafa

你沒有聽説過的7個Windows開發必備工具

在Windows平台上進行軟件開發,一個配置得當、高效流暢的開發環境是項目成功的保證。它不僅能顯著提升開發者的工作效率,更能確保團隊協作的順暢與代碼質量的穩定。本文將為Windows開發者推薦一系列實用工具,助您打造極致高效的開發工作站。 ServBay:一站式本地Web開發管理 https://www.servbay.com ServBay是一款專為開發者設計的本地Web開發管理工具,它集成了多

fannaodeshafa 頭像

@fannaodeshafa

昵稱 煩惱的沙發

@javalover

Java程序性能分析:開篇之jps

一、前言 開發Java項目過程中,難免會碰到一些 性能 問題,這時候就需要一些工具,幫忙排查 本文開篇主要介紹 JDK自帶的工具 jps,獲取 Java程序列表,以 openjdk 11.0.10 為例 二、Java程序列表:jps 1. 簡介 用來查找當前用户的 Java 進程,而不能查找當前系統中其他用户的進程 相比 Linux系統 的 ps -ef | grep java,Wi

javalover 頭像

@javalover

昵稱 javalover

@javageek

服務優化:發現問題、解決報警、提高穩定性

作為一名程序員,我們不能只關注代碼的實現和上線,而忽視了線上環境的運行和優化。 近期遇到了兩個線上服務的問題,一個後端應用和一個前端項目,它們存在一些 bug 和歷史遺留問題。為了不影響用户的使用體驗,決定對它們進行一次優化。 後端服務 這個後端服務是年初的時候有同事離職了,交到了我這裏,沒接手的時候不知道,沒想到接手後,到處都是問題,天天各種報警,基本上隔三差五就要重啓。 雖然一開始的時候知道這

javageek 頭像

@javageek

昵稱 Java極客技術

@jacklv

提升性能!使用 LinkedHashMap 進行緩存設計的 3 大技巧

在開發中,我習慣使用 ConcurrentHashMap 做緩存,但當需要控制緩存大小並進行緩存淘汰時,我通常依賴第三方緩存框架,如 Caffeine 或 Guava Cache。 最近在閲讀 Mondrian 源碼時,發現了一種新的緩存設計,引發了我的思考,特此記錄。 在 Mondrian 源碼中,有這樣一段代碼: private final MapInteger, MutableConnect

jacklv 頭像

@jacklv

昵稱 抓bug的貓

@shanliangdehuasheng_egoaui

PHP項目中引入並monolog進行日誌管理

在 ThinkPHP(以 5.x 為例)中引入並使用 Monolog(一款功能強大的 PHP 日誌庫),可以實現更靈活的日誌處理(如多渠道輸出、按級別拆分、格式化等)。以下是具體步驟: 一、安裝 Monolog 通過 Composer 安裝 Monolog 依賴: composer require monolog/monolog 二、封裝 Monolog 工具類 為了在 ThinkPHP 中方便

@ximinghui

怎麼讓IDE開發工具知道哪個區域的代碼是一塊的?

源:https://blog.ximinghui.org/30dd840e/index.html 有時候一個代碼源文件中內容過多時,我們可能想要對其進行分區,比如我想要將我的實體類分為 字段 、 行為 、 規則校驗 、 創建方法 四個部分或分區。 但是,我該怎麼告訴我的 NetBeans(劃掉) Eclipse(劃掉) IntelliJ IDEA 並讓它知道我的意思呢? 一般開發者可能會用

ximinghui 頭像

@ximinghui

昵稱 ximinghui

@yayu

今日,字節發佈全新 AI IDE:Trae! 它將成為最懂中文開發者 AI IDE

前言 今日,字節發佈了一款 AI Coding 產品 —— Trae,它是一款對標 Cursor 和 Windsurf 的全新 IDE,也是一款真正為中文開發者量身定製的工具,可謂是中文開發者的福音。 其優雅的 UI、絲滑的交互、母語級的支持、更高的 AI 集成度、更‮然自‬的交‮式互‬對話開發、更‮‬精準的 AI 生‮效成‬果,都讓你感到親切和驚豔! 它不再是一個工具,而是一個能 “思考” 和

yayu 頭像

@yayu

昵稱 冴羽

@chen_67f9ccbe6f07b

一文精通 Java 線程池:原理詳解與實戰指南

在處理高併發任務時,如果每個任務都創建一個新線程,會導致系統資源急劇消耗、性能下降。線程池通過複用已創建的線程來執行新任務,大大提高了資源利用效率。本文將深入探討 Java 線程池的核心原理和實踐應用,助你徹底掌握這一多線程開發的重要工具。 一、線程池的基本概念 線程池本質上是一種線程使用模式,它在系統中預先創建一定數量的線程,放入池中統一管理。當有任務需要執行時,從池中取出線程執行,任務執行完後

chen_67f9ccbe6f07b 頭像

@chen_67f9ccbe6f07b

昵稱 異常君

@vivo_tech

Full GC 頻率優化實戰

作者:vivo 互聯網服務器團隊- Li Gang 本文介紹了遊戲業務使用MAT和GC日誌等工具對 Full GC頻率進行優化的過程。 一、背景 遊戲業務面對用户端的某個工程,每天Full GC頻率達到120次,業務高峯期每7分鐘就會有一次Full GC。為了避免情況持續變差,最大程度減少對系統響應時間的負面影響,需要對該工程的Full GC頻率進行優化。 該項目JDK版本為1.8,老年代使用

vivo_tech 頭像

@vivo_tech

昵稱 vivo互聯網技術

@chen_67f9ccbe6f07b

Java 請求合併技術:十倍提升系統性能

你是否遇到過這樣的場景:後台接口響應越來越慢,用户抱怨頁面加載時間長,運維同事警告服務器負載飆升?分析日誌發現,一個頁面渲染竟然要發起幾十上百個接口請求!隨着用户量增長,系統就像陷入泥潭。這種情況在微服務架構特別常見 - 獲取 10 個用户信息,就要發 10 次獨立請求,每次都有網絡延遲。如何優雅地解決這個問題?請求合併技術正是你需要的救星。 請求合併的核心原理 請求合併就是把短時間內的多個獨立請

chen_67f9ccbe6f07b 頭像

@chen_67f9ccbe6f07b

昵稱 異常君