收藏 / 列表

程序員小富 - 面試被問:OOM類型有哪些?怎麼答?

大家好,我是小富~ 面試官:OOM類型有哪些? 你:就是老年代放不下了嘛! 面試官:等消息吧! OOM(Out Of Memory) 錯誤有多種類型,每種類型對應不同的內存區域或觸發場景。以下是常見的 OOM 類型及其產生原因: 1. java.lang.OutOfMemoryError: Java heap space 觸發原因:堆內存(存放對象實例)不足,無法分配新對象。

面試 , JAVA , 後端

duokeli - 開源陪玩小程序如何深入挖掘內部資源?商家頻道入駐與平台的完美融合!

商家頻道作為一種基於B2B2C模式的多商户商城系統,其核心是為各類商家提供一個集商品銷售、推廣、用户管理於一體的平台,同時通過多元化的盈利模式實現平台自身的商業價值。 一.系統介紹: 1. 基於TP6+Uni-app框架開發;客户移動端採用uni-app開發,管理後台Tp6開發。 2. 支持微信公眾號、微信小程序、H5、PC多端賬號同步,可快速打包生成APP。 3. 為客户定製了完善

thinkphp6 , uniapp , 前端框架 , 數據庫開發 , 後端

牛肉燒烤屋 - 超時時間應該設置多長?長尾請求和重試風暴又該如何解決?打造高效穩定的網絡請求!

超時時間 概念 超時時間指系統在等待某個操作響應時設定的最大容忍時間閾值。當操作未在指定時間內完成,系統將主動終止等待並觸發預設處理邏輯 超時可以看做是一種降級手段。因為假設服務永遠能正常運行,我們並不需要超時時間,來保證服務的可用性和穩定性 常見需要依賴超時時間的場景 網絡層:TCP 協議的 connect timeout(Linux 默認 120 秒)、HTTP 請求的 socket ti

微服務 , rpc , 高可用 , 計算機網絡 , 後端

秦懷雜貨店 - FIFO 緩存算法很簡單,但也可以聊挺久

作者:秦懷 1 簡介 計算機科學領域的任何問題都可以通過增加一個間接的中間層來解決,這句話就是整個計算機軟件以及系統設計中的核心思想,而緩存對這一思想的一種實踐。 緩存,總歸會受到存儲空間的限制,當緩存的空間不足的時候,如果在保持一定系統文檔的情況下,還能兼顧到緩存命中率呢?這就需要我們選擇合適的緩存淘汰算法。 緩存淘汰算法種類比較多,我們本次主要介紹 FIFO: 先進先出,類似隊列的特性,淘汰緩

fifo , 緩存 , 後端

細心的紅酒 - 一張SSL證書可以用於多個域名嗎?

一證多能:SSL證書的“共享”藝術 在數字化時代,SSL證書已成為網站安全的標配。當企業擁有多個域名時,一個現實問題隨之而來:能否像萬能鑰匙一樣,用一張SSL證書保護多個域名?答案是肯定的,但其中大有學問。 證書類型:三種不同的“通行證” SSL證書根據覆蓋範圍的不同,主要分為三類: 單域名證書:如同專屬門禁卡,只能保護一個特定域名,是最基礎的選擇。 多域名證書(SAN證書) : 堪稱“證書家族中

後端 , 前端

god23bin - 一文快速入門體驗 Hibernate

前言 Hibernate 是一個優秀的持久層的框架,當然,雖然現在説用得比較多的是 MyBaits,但是我工作中也不得不接觸 Hibernate,特別是一些老項目需要你維護的時候。所以,在此寫下這篇文章,方便自己回顧,也方便新手入門體驗 Hibernate。 注:使用的版本是 Hibernate 5.x 的 什麼是 ORM? ORM(Object Relational Mapping,對象關係映射

orm , hibernate-5.x , jpa , JAVA , 後端

筱倩 - 如何有效提升代碼覆蓋率:從單元測試到集成測試的實踐指南

Go語言代碼覆蓋率實現 一、什麼是代碼覆蓋率   代碼覆蓋率是軟件測試中的一種白盒測試度量指標,表示程序源代碼中被執行的比例。簡單來説,就是“我的測試到底跑過多少代碼”。 覆蓋率常見的幾種標準: 語句覆蓋(段覆蓋、基本塊覆蓋):每一行代碼是否至少執行過一次 分支覆蓋:程序中的每個判斷(if/else)是否都執行過true和false兩種結果 條件覆蓋:判斷語句中的每個子條件是否都覆蓋到tr

go , 後端

vivo互聯網技術 - TimeWheel算法介紹及在應用上的探索

作者:來自 vivo 互聯網服務器團隊- Li Fan 本文從追溯時間輪算法的出現,介紹了時間輪算法未出現前,基於隊列的定時任務實現,以及基於隊列的定時任務實現所存在的缺陷。接着我們介紹了時間輪算法的算法思想及其數據結構,詳細闡述了三種時間輪模型的數據結構和優劣性。 再次,我們介紹時間輪算法在 Dubbo 框架中的應用,並給出了它在 Dubbo 中的主要實現方式。 最後,我們以項目中的某個服務架構

dubbo

雲棧開源日記 - Rachoon:基於 TypeScript 和 PostgreSQL 的自部署發票管理系統

每個月為發票管理工具付費? 其實你可以用一個開源項目,在自己的服務器上搭建發票系統,數據完全由自己掌控。 這是什麼項目 Rachoon 是一個發票管理系統,專門給自由職業者和小團隊用的。名字來自波斯尼亞語裏"račun"這個詞,就是發票的意思。 它能做這些事: 開發票和報價單 記錄客户信息 跟蹤哪些錢收到了、哪些還沒收 自己設計發票模板

前端

李棟 - 【zookeeper 第一篇章】介紹

一、簡介 在過去,每個應用程序都是運行在一台計算機上的單程序單CPU。今天,情況變了。在大數據和雲計算領域,應用程序是由運行在不斷變化的計算機上的許多獨立程序組成的。程序員不能夠專注編寫業務代碼,反而要花費大量的時間維護各個服務之間的關係。為了解決程序員能夠專注於業務代碼的實現,zookeeper相關的應用應世而生。 它支持分佈式系統的調度任務,協調任務是涉及多個進程的任務。這樣的任務是可以為了合

zookeeper , 分佈式系統 , JAVA

卷福同學 - 分佈式系統架構5:限流設計模式

分佈式系統架構5:限流設計模式 這是小卷對分佈式系統架構學習的第5篇文章,今天來學習限流器和限流設計模式 1.為什麼要限流? 任何一個系統的運算、存儲、網絡資源都不是無限的,當系統資源不足以支撐外部超過預期的突發流量時,就應該要有取捨,建立面對超額流量自我保護的機制,而這個機制就是微服務中常説的“限流” 2.四種限流設計模式 説到限流,大家直接的想法就是Sentinel,但是Sentinel限流的

限流 , 設計模式 , 分佈式系統 , JAVA , 分佈式

BlackQid - 函數遞歸與題目解析——C語言

1 遞歸是什麼? 遞歸是一種解決問題的方法,在C語言中,遞歸就是函數自己調用自己。 1.1 遞歸的思想 把一個大型複雜問題層層轉化為一個與原問題相似,但規模較小的子問題來求解;直到子問題不能再被拆分,遞歸就結束了。所以遞歸的思考方式就是把大事化小的過程。 遞歸中的遞就是遞推的意思,歸就是迴歸的意思,接下來慢慢來體會。 1.2 遞歸的限制條件 遞歸在書寫的時候,有2個必要條件: 遞歸存在限制條件

c

霸氣的啞鈴 - 用一個API接口批量查詢A股、港股、美股的K線數據

在實際開發中,我們經常需要從多個股票市場中獲取行情數據,尤其是在構建交易所、量化交易系統或跨市場套利策略時,對接實時、多市場的行情接口幾乎是剛需。然而,市面上大部分的行情服務產品只支持單一市場,比如只提供 A 股或美股數據;即便支持多個市場,也往往需要分別調用不同的接口,增加了開發成本和維護複雜度。 特別是對於K線數據的實時獲取需求,不少接口要麼延遲大、要麼授權複雜、價格昂貴,真正能夠同時支持 A

資訊 , HTTP , 教程 , 程序員 , 後端

文心快碼 - 文心快碼3.5S實測插件開發,Architect模式令人驚豔

作者簡介:服務端工程師、多平台技術博主,做AI IDE調研時接觸到Comate,並進行了深度體驗。 2025年9月Wavesummit開發者大會上,百度文心快碼全新升級為 3.5S(Super Synergistic AgentS) 版本,帶來了一個叫“多智能體自協同引擎”的新機制。也就是説,智能體之間不再是你發一個任務就它硬幹,而是能自主協作、分工合作,共同完成複雜任務。這是為了滿足開發者的三大

教程 , 知識 , 人工智能 , 後端 , 前端

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

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

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

註銷 - SAP 電商雲 Spartacus UI 的響應式 UI 實現細節

在文件 projects\storefrontlib\layout\config\default-layout.config.ts 裏,定義了各個屏幕尺寸所對應的 breakpoint: export const defaultLayoutConfig: LayoutConfig = { breakpoints: { xs: 576, sm: 768, md: 992,

angular , bootstrap , sap , spa , typescript

小萬哥 - C++ 編程必備:對象生命週期管理的最佳實踐

在C++中,對象的生命週期是指對象存在的時間段,從對象創建到對象銷燬的整個過程。正確地管理對象的生命週期是編寫高效、可靠C++代碼的關鍵之一 對象的創建 在C++中,對象可以通過三種方式創建:靜態分配、自動分配和動態分配。 靜態分配 靜態分配是在編譯時為對象分配內存的過程。靜態分配的對象在程序啓動時被創建,直到程序結束時才被銷燬。靜態分配的對象通常被聲明為全局變量或靜態變量。 以下是一個靜態分配對

生命週期 , 開發 , c++ , 程序員 , 後端

TANKING - 原生JavaScript實現的SPA單頁應用(hash路由)

什麼叫做SPA單頁應用 單頁Web應用 (single page web application,SPA) ,就是隻有一張Web頁面的應用,是加載單個HTML 頁面並在用户與應用程序交互時動態更新該頁面的Web應用程序。 單頁應用的説法是在JavaScript和AJAX技術比較成熟以後才出現的,指的是通過瀏覽器訪問一個網站時,只需要加載一個入口頁面,此後顯示的內容和數據都不會再刷新瀏覽器頁面。有了

vue.js , 單頁應用 , 路由 , spa , Javascript

伍華聰 - 使用PySide6/PyQt6實現自定義窗口布局,實現類似FluentWindow效果

現在在很多項目中,會比較喜歡FluentWindow效果,這種左側類似於圖標菜單或者樹形結構的,右側是是動態窗體或者組件的展示方式,一般不是多文檔佈局,每次只是打開當前的模塊頁面,類似於堆疊頁面卡片,每次展示最頂端的那個卡片界面。本篇隨筆綜合介紹一下FluentWindow效果界面的各種展示方式,然後分析頁面的內容組成方式,針對性的使用PySide6/PyQt6實現自定義窗口布局的效果。 1、Fl

後端 , Python

陳明勇 - 一文掌握 Go 文件的讀取和寫入操作

Go 文件的讀取操作 os 包 和 bufio 包 Go 標準庫的 os 包,為我們提供很多操作文件的函數,如 Open(name) 打開文件、Create(name) 創建文件等函數,與之對應的是 bufio 包,os 包是直接對磁盤進行操作的,而 bufio 包則是帶有緩衝的操作,不用每次都去操作磁盤。 os.Open 與 os.OpenFile 以及 File.Read Open(

challenge , go , 後端

CodeSheep - 大家有沒有發現一個奇特現象:你能在一個公司工作 12 年以上,無論你多忠誠多賣力,一旦公司賺的少了,那你就成了“眼中釘肉中刺”

最近在網上刷到一個職場帖子,原文差不多是這樣: “大家有沒有發現一個奇特現象:你很忠誠,能在一個公司工作 12 年以上,無論你態度多好多賣力,一旦公司賺的少了,那你就成了“眼中釘肉中刺”。 他們不會顧及你的任何貢獻,把你視作包袱,視作成本,然後不顧廉恥和情面,要麼降薪,要麼轉崗,狠一點不發年終獎,更狠一點暴力優化,故意耽誤你的時間成本……” 説實話,剛刷到這個話題時,看完心裏一陣揪揪。

JAVA , 程序員 , 後端 , 前端 , Javascript

float64 - ByteByteGo學習筆記:通知系統設計

引言 在當今這個信息爆炸的時代,通知系統已經成為了現代應用程序中不可或缺的重要組成部分。無論是突發新聞的即時推送、產品更新的及時告知、促銷活動的精準觸達,還是用户交互的實時反饋,通知都扮演着至關重要的角色。一個高效、可靠、可擴展的通知系統,不僅能夠提升用户體驗,增強用户粘性,還能有效地傳遞關鍵信息,驅動業務增長。 本文將深入探討如何設計一個可擴展的通知系統,涵蓋了從需求分析、高層設計到詳細設計的各

系統設計 , 系統架構 , 後端

小碼編匠 - WPF 如何支撐一個靈活的流程圖編輯器?

前言 軟件開發領域,流程設計與可視化是提升系統可維護性、增強用户體驗的重要手段。無論是工作流管理、業務邏輯編排還是算法流程展示,一個靈活、易用的流程節點編輯框架都能極大地提高開發效率與系統靈活性。 本文將推薦一款基於 WPF 的開源流程節點編輯框架,通過對其核心設計與實現邏輯的解析,帶領大家從零開始手寫一個具備基礎功能的 WPF 流程圖編輯器,為實際項目中的可視化流程開發提供有價值的參考。 項目介

.net , 後端