tag 後端

標籤
貢獻529
652
05:25 PM · Oct 25 ,2025

@後端 / 博客 RSS 訂閱

異常君 - Java 中的 Integer 緩存池:背後的性能優化機制解析

還記得第一次遇到這種情況嗎?你寫了一段比較兩個 Integer 對象的代碼,有時候==返回 true,有時候卻返回 false,明明看起來是相同的值。這並非 Java 的"陷阱",而是 Integer 緩存池在默默工作。我第一次遇到這個問題時,足足調試了半小時才恍然大悟。今天,我們就來深入瞭解這個經常被忽視卻又至關重要的 Java 性能優化機制。 什麼是 Integer 緩存池? Integer

性能優化 , 緩存 , integer , JAVA , 後端

收藏 評論

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

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

性能優化 , 合併請求 , JAVA , 優化 , 後端

收藏 評論

macrozheng - 換掉ES!SpringBoot + Meilisearch實現商品搜索,太方便了!

在我的mall電商實戰項目中,有使用過Elasticsearch實現商品搜索功能。其實商品搜索也可以使用Meilisearch來實現,實現起來還是非常方便的,今天就來帶大家實現一下! 前置知識 學習本文需要對Meilisearch有所瞭解,還沒有了解過它的小夥伴可以參考下這篇教程: 《超越Elasticsearch!號稱下一代搜索引擎,性能炸裂!》 下面是使用Meilisearch實現商品搜索的效

elasticsearch , 搜索引擎 , springboot , JAVA , 後端

收藏 評論

異常君 - 高併發下的計數效率:深入理解 LongAdder

在開發多線程應用時,你是否曾遇到這樣的困擾:隨着併發量增加,系統性能不升反降?特別是在計數器場景下,本應簡單的自增操作卻成了性能瓶頸。這正是許多 Java 開發者共同面臨的痛點。當線程數超過 CPU 核心數或競爭激烈時,AtomicLong 的 CAS 操作不斷失敗重試,CPU 使用率飆升,而業務處理效率卻直線下降。這也是為什麼阿里巴巴在其開發規範中明確推薦使用 LongAdder 來替代傳統方案

atomic , 多線程 , JAVA , 計數 , 後端

收藏 評論

異常君 - Java 中的享元模式:對象共享的藝術

你是否曾經遇到過系統因創建大量重複對象而導致內存佔用激增的情況?在處理成千上萬個文本字符、UI 控件或遊戲中的粒子效果時,如果為每個實例分配獨立內存,很快就會耗盡系統資源。這時,享元模式就像是 Java 開發中的"內存省錢法",它能讓你在不犧牲功能的前提下大幅降低內存消耗。 什麼是享元模式? 享元模式(Flyweight Pattern)是一種結構型設計模式,核心思想是共享細粒度對象,減少內存使用

設計模式 , 工廠 , JAVA , 對象 , 後端

收藏 評論

異常君 - Spring @Async 內部調用失效問題:五種解決方案實戰分析

是不是遇到過這種情況:你給一個方法加上了@Async 註解,期待它能異步執行,結果發現它還是同步執行的?更困惑的是,同樣的註解在其他地方卻能正常工作。這個問題困擾了很多 Java 開發者,尤其是當你在同一個類中調用帶有@Async 註解的方法時。今天,我們就來深入解析這個問題的原因,並提供多種實用的解決方案。 Spring @Async 的正常工作原理 在討論內部調用問題前,我們先了解一下@Asy

spring , async , JAVA , 異步 , 後端

收藏 評論

異常君 - 深入理解 MyBatis 延遲加載機制與實現原理

作為 Java 後端開發,你是否曾經糾結過:查詢用户信息時,要不要把用户關聯的訂單、地址一起查出來?全部查詢性能肯定受影響,可不查又怕後面用到時反覆訪問數據庫。這種"查不查"的兩難抉擇,其實可以通過 MyBatis 的延遲加載機制漂亮解決。那麼問題來了,MyBatis 到底支持延遲加載嗎?它背後的實現原理又是什麼? MyBatis 的延遲加載支持情況 MyBatis 確實支持延遲加載(Lazy L

延遲加載 , 原理 , JAVA , 後端 , Mybatis

收藏 評論

程序員Seven - RabbitMQ基礎入門

RabbitMQ介紹 RabbitMQ是基於Erlang語言開發的開源消息通信中間件,官網地址: Messaging that just works — RabbitMQ 接下來,我們就學習它的基本概念和基礎用法。 安裝 在安裝命令中有兩個映射的端口: 15672:RabbitMQ提供的管理控制枱的端口 5672:RabbitMQ的消息發送處理接口 安裝完成後,訪問 http:

rabbitmq , JAVA , 後端

收藏 評論

酷阿鯨森林農場 - 酷阿鯨森林農場:Java自研區塊鏈電商系統實現P2P通信與iOS App自動加入同步機制

一、項目背景 酷阿鯨森林農場是一家重視農產品可溯源與供應鏈透明化的生態農業企業。為實現可信電商交易體系,我們完全使用 Java 技術研發了一個桌面級區塊鏈系統,並支持 iOS 客户端通過自動發現節點、加入區塊網絡並同步區塊數據。 本系統不依賴以太坊或外部公鏈,所有區塊通信與同步均基於我們自研的 P2P通信機制,實現局域網或互聯網中的自動節點發現與全鏈數據廣播。 二、系統架構總覽 [Java 桌面

spring , swift , JAVA , ios , 後端

收藏 評論

程序員Seven - 反轉鏈表(花式反轉)

題目描述 給你單鏈表的頭節點 head ,請你反轉鏈表,並返回反轉後的鏈表。 示例 1: 輸入:head = [1,2,3,4,5] 輸出:[5,4,3,2,1] 示例 2: 輸入:head = [1,2] 輸出:[2,1] 示例 3: 輸入:head = [] 輸出:[] 提示: 鏈表中節點的數目範圍是 [0, 5000] -5000 = Node.val = 5000 進階:鏈表可

leetcode , JAVA , 後端

收藏 評論

江湖十年 - 使用 Uber automaxprocs 正確設置 Go 程序線程數

公眾號首發地址:https://mp.weixin.qq.com/s/5wrYaHXBpuN0WxKAaNNp-A 我們知道 Go 語言沒有直接對用户暴露線程的概念,而是通過 goroutine 來控制併發。不過,在 Go 程序啓動時,其背後的調度器往往是多線程運行的。在 Go 語言的 GMP 調度模型中,P 決定着同時運行的 goroutine 數,我們可以通過環境變量 GOMAXPROCS 或

面試 , 容器技術 , 併發編程 , go , 後端

收藏 評論

PoloAPI - 谷歌 AI 革命狂飆!Gemini 2.5 搜索引擎即將橫掃搜索市場,顛覆你的認知

隨着 5 月 20 日至 21 日谷歌 I/O 開發者大會的腳步臨近,一則重磅消息在科技業界引發強烈震動 —— 谷歌正緊鑼密鼓地籌備推出基於 Gemini 2.5 的下一代 AI 搜索引擎,這場變革將徹底顛覆沿用多年的傳統搜索框界面。目前,這一全新搜索模式已悄然進入灰度測試階段,標誌着谷歌決心將其最重要的流量入口全面切換至 AI 驅動的 Gemini 生態系統,此舉無疑將給 OpenAI、Perp

gemini-2.5-pro , google , 人工智能 , 後端 , 前端

收藏 評論

PoloAPI - 一文看懂谷歌I/O 2025開發者大會: Android、Chrome、谷歌搜索、Gemini

谷歌I/O開發者大會以"AI原生生態"為核心戰略,圍繞技術升級、產品整合與商業模式展開深度佈局。以下是關鍵內容的結構化總結: 一、AI技術架構突破‌ ‌Gemini模型矩陣‌ Gemini 2.5 Pro新增Deep Think模式,增強複雜推理能力(數學/編程任務準確率提升37%) 輕量級Gemini 2.5 Flash實現移動端40%延遲降低,支持邊緣設備部署 多媒體生成模型V

gemini-2.5-pro , google , 人工智能 , 後端 , 前端

收藏 評論

PoloAPI - Gmail整合Gemini AI功能,支持用户直接管理日曆提升日程效率。

谷歌近期在Gmail移動應用中深度整合Gemini AI功能,實現了郵件與日程管理的無縫銜接。該功能主要通過以下創新提升用户日程效率: 一、跨應用功能整合‌ 支持在Gmail應用內直接創建、修改和刪除日曆事件,無需切換至Google Calendar或其他應用 通過"Ask Gemini"入口實現語音/文字指令操作,例如輸入“將週四會議改到下午3點”即可觸發智能修改 提供每日日程智能概覽功

gemini-2.5-pro , google , 人工智能 , 後端 , 前端

收藏 評論

程序員Seven - 從尾到頭打印鏈表

題目描述 輸入一個鏈表的頭節點,按鏈表從尾到頭的順序返回每個節點的值(用數組返回)。 如輸入{1,2,3}的鏈表如下圖: 返回一個數組為[3,2,1] 0 = 鏈表長度 = 10000 示例1 輸入: {1,2,3} 返回值: [3,2,1] 示例2 輸入: {67,0,24,58} 返回值: [58,24,0,67] 思路及解答 ⾸先我們需要想⽤哪些解法可以解,⼤概有如下: 使⽤棧 使⽤

leetcode , JAVA , 後端

收藏 評論

江湖十年 - Go 語言中你不知道的 io.Discard 妙用

公眾號首發:https://mp.weixin.qq.com/s/no995DjgiS3muyPSt2QhUg 在 Go 語言中,io.Discard 是一個實現了 io.Writer 接口的特殊變量,用於丟棄所有寫入的數據。 io.Discard 在 Go 1.15 及之前版本中是放在 io/ioutil 包中實現的。而在 Go 1.16 版本,得以正式轉正,被實現在 io 包中。本文我們來一起

goland , 編程技巧 , 面試 , go , 後端

收藏 評論

程序員Seven - 算法題:數組中的第k個最大元素

力扣鏈接 題意 給定整數數組nums和整數k,請返回數組中第k 個最大的元素。 請注意,你需要找的是數組排序後的第k個最大的元素,而不是第k個不同的元素。 你必須設計並實現時間複雜度為O(n)的算法解決此問題。 示例 1: 輸入: [3,2,1,5,6,4], k = 2 輸出: 5 示例2: 輸入: [3,2,3,1,2,4,5,5,6], k = 4 輸出: 4 提示: 1 =

leetcode , JAVA , 後端

收藏 評論

程序員Seven - 劍指offer-1、⼆維數組中的查找

題目描述 在⼀個⼆維數組中(每個⼀維數組的⻓度相同),每⼀⾏都按照從左到右遞增的順序排序,每⼀列都按照從上到下遞增的順序排序。請完成⼀個函數,輸⼊這樣的⼀個⼆維數組和⼀個整數,判斷數組中是否含有該整數。 例⼦,輸⼊⼀個數組: num[3][4] = [ 1 , 4 , 6 , 28 , 2 , 7 , 32 , 30 , 10 , 11 , 67 , 79 ] 需要查找⼀個數字 32 ,則返回 t

leetcode , JAVA , 後端

收藏 評論

江湖十年 - 在 Go 語言中如何實現協程池

公眾號首發:https://mp.weixin.qq.com/s/Xbk4QF7HFll102xaF5r_3Q 如果你熟悉 Java、Python 等編程語言,那麼你一定聽説或者使用過進程池或線程池。因為進程和線程不是越多越好,過多的進程或線程可能造成資源浪費和性能下降。所以池化技術在這些主流編程語言中非常流行,可以有效控制併發場景下資源使用量。 而 Go 語言則沒有提供多進程和多線程的支持,僅提

面試 , 協程 , 併發 , go , 後端

收藏 評論

miadk - PHP+Uniapp助力婚戀社交:相親交友系統平台的商業化模式與運營策略

一、商業化模式 會員訂閲制 核心功能:提供基礎免費服務(如註冊、瀏覽),高級功能(如精準匹配、無限私信、查看訪客記錄)需付費解鎖。 差異化定價: 按訂閲時長(月/季/年)或功能等級(普通/VIP/至尊)分層定價,滿足不同用户需求。 案例:通過PHP後端實現會員權限管理,Uniapp前端提供流暢的付費流程體驗。 虛擬禮物與增值服務 功能設計:用户可購買

小程序 , app , 後端 , 前端

收藏 評論

江湖十年 - 一行命令統計代碼行數

公眾號首發:https://mp.weixin.qq.com/s/N1JxiRnr5c4pq0RBo3RGYA 我在網上衝浪時,在 GitHub 上發現了一個感興趣的開源項目 OneX ,我將其下載到本地,現在我該如何知道這個項目的體量呢?一個非常直觀的指標是看這個項目有多少行代碼。 我們可以使用如下命令,來統計 OneX 項目代碼行數: $ cd onex $ find . -name "*.g

命令行 , 面試 , 代碼質量 , go , 後端

收藏 評論

FLY的狐狸 - gtoken v2.0.0 正式發佈,基於 GoFrame 的 token 插件

本次更新: 此版本主要架構全面更新,發佈 v2.X.X,不再兼容 v1.X.X,升級需謹慎 架構全面升級,版本更新到 v2.X.X,不再兼容 v1.X.X 通過 go get -u -v github.com/goflyfox/gtoken/v2 獲取最新版本,升級需謹慎 獨立 Token、Codec、Cache 接口,方便擴展 採用 goframe 標準中間件方式認證,調用更加直觀

token , go , 後端

收藏 評論

顏顏yan_ - 【HarmonyOS5】掌握UIAbility啓動模式:Singleton、Specified、Multiton

⭐本期內容:【HarmonyOS5】掌握UIAbility啓動模式:Singleton、Specified、Multiton 🏆系列專欄:鴻蒙HarmonyOS:探索未來智能生態新紀元 前言 在鴻蒙應用開發中,UIAbility組件的啓動模式是構建高效應用架構的核心技術。合理選擇啓動模式不僅影響應用性能,更是複雜業務場景下實現優雅架構設計的關鍵。鴻蒙系統提供了三種啓動模式:singl

架構設計 , harmonyos , 後端

收藏 評論

程序員Seven - 劍指offer-3、從尾到頭打印鏈表

題目描述 輸入一個鏈表的頭節點,按鏈表從尾到頭的順序返回每個節點的值(用數組返回)。 如輸入{1,2,3}的鏈表如下圖: 返回一個數組為[3,2,1] 0 = 鏈表長度 = 10000 示例1 輸入: {1,2,3} 返回值: [3,2,1] 示例2 輸入: {67,0,24,58} 返回值: [58,24,0,67] 思路及解答 ⾸先我們需要想⽤哪些解法可以解,⼤概有如下: 使⽤棧 使⽤

leetcode , JAVA , 後端

收藏 評論