收藏 / 列表

Turbo_K - ThreadLocal有什麼缺點?

ThreadLocal 是 Java 中一個用於為每個線程提供獨立變量副本的類,它允許每個線程都能獨立地訪問和修改變量,避免了多線程間的競爭和同步問題。它是通過在每個線程中維護一個 線程局部變量 來實現的,通常用於線程間的數據隔離。 然而,ThreadLocal 並不是完美的,它有一些缺點和潛在的問題,特別是在多線程和資源管理方面。以下是 ThreadLocal 的一些主要

線程池 , 後端開發 , 多線程 , JAVA , 解決方案

自由的瘋 - 《日誌與監控:打造可觀測的應用(十五)》

可觀測性是現代應用的核心能力,通過日誌(Logging)、指標(Metrics)和追蹤(Tracing)幫助開發者快速定位問題、優化性能。本文將重點介紹Serilog/NLog 集成、Application Insights 配置和結構化日誌實踐,幫助構建高效、可維護的日誌與監控體系。 1. Serilog/NLog 集成:結構化日誌框架 1.1 Serilo

yyds乾貨盤點 , c++ , 後端開發 , c , 結構化 , Json

小風箏 - 對敏感操作的二次認證 —— 詳解 Sa-Token 二級認證

一、需求分析 在某些敏感操作下,我們需要對已登錄的會話進行二次驗證。 比如代碼託管平台的倉庫刪除操作,儘管我們已經登錄了賬號,當我們點擊 [刪除] 按鈕時,還是需要再次輸入一遍密碼,這麼做主要為了兩點: 保證操作者是當前賬號本人。 增加操作步驟,防止誤刪除重要數據。 這就是我們本篇要講的 —— 二級認證,即:在已登錄會話的基礎上,進行再次驗證,提高會話的安全性。 Sa-Token 是一

sa-token , 權限控制 , spring , springboot , JAVA

wx661607c93692e - 用 Thumbnailator 三行代碼寫出企業級縮略圖服務

一、為什麼選擇 Thumbnailator? 對比項 自研 AWT 方案 Thumbnailator

縮放 , Test , 後端開發 , JAVA

吳大同 - qData 數據中台【開源版】發佈 1.0.5 版本,全面提升規則治理、非結構化數據處理與部署體驗

2025年9月3日 —— 企業級開源數據中台 qData 開源版 正式發佈 1.0.5 版本。本次更新聚焦 規則治理一體化、非結構化數據支持、以及開源版的體驗與部署優化,進一步提升規則複用能力、數據接入廣度與運維效率,幫助企業和開發者更輕鬆地構建高質量數據治理體系。 ✨ 新增功能 🧩 字段級規則綁定:在“數據元類型”中即可為字段綁定稽查與清洗規則,任務和組件配置時自動加載並可二次修改,大幅減

大數據 , 開源軟件 , 數據中台 , JAVA , 數據治理平台

飛天鑄幣 - 在spring框架中mybatis可能會遇到的錯誤

聲明環境 數據庫:MySQL8.0 springboot框架:使用阿里雲的腳手架 Java:17 常見錯誤 MySQL密碼錯誤 數據庫密碼錯了,到你的application.properties配置文件檢查一下你的MySQL密碼是否輸錯了 找不到數據庫 找不到數據庫,到你的application.properties配置文件檢查一下你的數據庫是不是填錯了或少打多打都用可

springboot , JAVA , Mybatis

舒一笑不禿頭 - Maven踩坑記錄與反思

本次事件的發生是在我來到一個新的技術初創團隊,由於團隊中的前同事與我交接代碼時候,關於Maven私服這塊的賬號密碼為給我,導致一系列的愛恨情仇。事件的持續花費兩天時間進行解決,現在總結一下遇到的問題與解決思路! 回顧Mavenue的背景 關於Maven,維基百科給的解釋主要有兩種,分別是Apache軟件基金會所提供,主要是用於解決Java軟件的項目管理與自動構建工具。 詳細介紹Maven快速上手

maven , JAVA , 後端

Meng小羽 - Phoenix框架 從0到1設計業務併發框架 小米商城產品站革新之路

前言 小米商城產品站之前由於歷史原因,存在着諸多問題與不便,隨着技術的快速變革,技術部中台化的建設,越來越不適用於現在快速迭代的業務需求,接下來我將以技術的視角講解我們遇到的痛點,以及解決這些痛點的思路,也就是 Phoenix 框架誕生的故事。 為啥要進行設計一個框架,其實是業務發展導向的結果,若是我們不進行設計,那麼我們會遇到如下一些問題: 在新的產品需求規劃下,無法承接大型項目,只能進行小

框架 , 架構設計 , JAVA , 併發

軟件求生 - 深夜調Bug:那次我被@OneToMany坑到懷疑人生

大家好,我是小米,一個31歲的Java後端開發者。 我發現程序員這行啊,最容易讓人“精神內耗”的不是加班、不是需求改動,而是——被註解支配的恐懼。 有一天,我在項目裏寫了一個看似普通的實體類映射,然後一運行,控制枱瞬間爆紅: com.fasterxml.jackson.databind.JsonMappingException: Infinit

Spring Boot , yyds乾貨盤點 , 遞歸 , 外鍵 , 後端開發 , jpa

江南一點雨 - 前綴索引,在性能和空間中尋找平衡

@[toc] 我們在項目的具體實踐中,有時候會遇到一些比較特殊的字段,例如身份證號碼。 鬆哥之前有一個小夥伴做黑龍江省的政務服務網,裏邊有一些涉及到用户身份證存儲的場景,由於存儲的數據大部分都是當地的,此時如果想給身份證號碼建立索引的話,小夥伴們知道,身份證前六位是地址碼,在這樣的場景下,給身份證字段建立索引的話,前六位的區分度是很低的,甚至前十位的區分度都很低(因為出生年份畢竟有限,一個省

MySQL , java-ee , JAVA , java-web

李通 - tio-boot整合Dubbo

tio-boot官網 概述 什麼是 Dubbo Apache Dubbo 是一款 RPC 服務開發框架,用於解決微服務架構下的服務治理與通信問題,官方提供了 Java、Golang 等多語言 SDK 實現。使用 Dubbo 開發的微服務原生具備相互之間的遠程地址發現與通信能力, 利用 Dubbo 提供的豐富服務治理特性,可以實現諸如服務發現、負載均衡、流量調度等服務治理訴求。Dubbo 被設計為高

dubbo , zookeeper , JAVA , Docker

鹽焗代碼蝦 - 支付寶 v3 驗籤如何實現

上次給大家介紹了 支付寶 v3 自簽名如何實現 ,這次順便再把驗籤也寫一下。 為什麼要驗籤 説起為什麼要驗籤,如果要詳細一點解釋的話,可以寫很多很多...... 我們就簡單一點來解釋:驗籤可以證明接收到的信息是支付寶給我的,不是被人中途攔截篡改數據之後再發給我的。 支付寶的通知分為 「同步通知 」和 「異步通知 」: 「同步通知 」就是我們請求支付寶之後,支付寶返回的數據。 「異步通知 」

解密 , 支付寶 , JAVA , 後端

我不是碼農 - 由於鎖超時讓我發現了parallelStream並行流的關於線程上下文的一個坑

就我之前因為在處理jpa持久化對象上下文 (文:https://segmentfault.com/a/1190000043581830) 時,parallelStream並行流給我的印象就是會讀不到父線程的上下文的,所以應該在父線程裏的事務和在parallelStream裏的事務應該是區分的,而不是共用同一個事務的,然而今天因為一個鎖超時的問題,發現並沒有那麼簡單,下面我們一步一步來驗

spring , 多線程 , JAVA , stream , 事務

journey - 批量修改pom.xml中的groupId

1、需求 使用 shell 腳本批量修改 pom.xml 文件中的 groupId 可以通過 sed 命令來實現。下面是一個示例 shell 腳本,它會遞歸地查找當前目錄及其子目錄中的所有 pom.xml 文件,並將 groupId 從 org.apache.dolphinscheduler 修改為 com.datashark 2、腳本 #!/bin/bash # 定義舊的和新的 groupId

maven3 , shell

宇文成都 - 使用 C# 打印 PDF 文檔:基於 Spire.PDF 的實戰教程

在現代企業應用中,PDF 文檔因其跨平台、格式穩定的特性,成為了信息交換和存儲的重要載體。然而,如何在 C# 應用程序中實現 PDF 文檔的打印功能,卻常常讓開發者感到困惑。原生 .NET 框架提供的打印功能雖然強大,但對於 PDF 這種特殊格式的文檔,其處理過程相對複雜,需要深入理解 GDI+ 繪圖和打印機制。 面對這一痛點,許多開發者會尋求外部庫的幫助。本文將為您詳細介紹如何利用功能強大且易於

pdf

呀哈哈kk - 【詳解】HadoopMapReduce實現從海量數字信息中獲取最大值

Hadoop MapReduce實現從海量數字信息中獲取最大值 在大數據處理領域,Hadoop是一個非常重要的工具。它通過MapReduce編程模型來處理和生成大規模數據集。本文將介紹如何利用Hadoop的MapReduce框架從海量數字信息中找出最大值。 1. 環境準備 1.1 安裝Hadoop 確保你的環境中已經安裝了Hadoop。如果還沒有安裝,可以

hadoop , text , 後端開發 , JAVA , apache

wx690f565d7bc78 - 從 BPMN 到 Flowable

BPMN 是業務流程建模與標註的標準,Flowable 是基於 BPMN 標準的開源流程引擎,核心是將 BPMN 設計的流程模型落地為可執行的業務流程。 核心關聯:BPMN 是標準,Flowable 是落地工具 BPMN 定義流程的可視化規範(如流程圖元素、網關、任務類型等),解決 “流程怎麼畫” 的問題。 Flowable 支持 BPMN 2.0

業務流程 , MySQL , 可執行 , 流程模型 , 數據庫

李棟 - 【zookeeper 第七篇章】集羣搭建 本文章不具體展示搭建過程 後期會單獨出一篇文章編寫集羣搭建

一、概述 1、集羣中的角色 Leader Zookeeper集羣工作的核心,事務請求(寫操作)唯一調度和處理者,保證集羣事務處理的順序性;集羣內部各個服務的調度者。對於 create、setData、delete等有些操作的請求,則需要統一轉發給Leader處理,Leader需要決定編號、執行操作,這個過程稱為一個事務。 Follower 處理客户端非事務(讀操作)請求,

zookeeper , JAVA , 後端

sangwu - 74. 搜索二維矩陣

74. 搜索二維矩陣 給你一個滿足下述兩條屬性的m x n整數矩陣: 每行中的整數從左到右按非嚴格遞增順序排列。 每行的第一個整數大於前一行的最後一個整數。 給你一個整數target,如果target在矩陣中,返回true;否則,返回false。 示例 1: 輸入:matrix = [[1,3,5,

yyds乾貨盤點 , 搜索 , 二維 , Math , 後端開發 , JAVA

博學谷狂野架構師 - 刷完HashMap源碼,我們一起進大廠

不可不知的哈希映射 引言 hashmap這個東西呢,太老生常談了 開發中常用、面試中常問 總之,很重要。。。。。 接下來呢 咱們就一起來看下,裏面到底有哪些解不開的東西 2.1 HashMap數據結構 目標: HashMap 概念、數據結構回顧(JDK8和JDK7) 為什麼1.8使用紅黑樹? 概念: HashMap 是一個利用散列表(哈希表)原理來存儲元素的集合,是根據Key value而直接進

hashmap , JDK , 面試 , JAVA

xiongood - Vue 中生命週期鈎子的使用

Vue 中生命週期鈎子的使用 在 Vue 組件從創建到銷燬的整個過程中,會經歷一系列特定的階段,就像人從出生到成長再到衰老的過程。生命週期鈎子就是在這些階段中自動觸發的函數,讓我們能在合適的時機執行特定操作,比如初始化數據、發送請求、操作 DOM 等,是掌控組件行為的重要工具。 最常用的生命週期鈎子之一是onMounted,它會在組件掛載到 DOM 後立即執行。這時候組件的 DO

生命週期 , 初始化 , 後端開發 , JAVA , 數據請求

lenglingx - Guava之EventBus

EventBus是Guava中實現的用於發佈/訂閲模式的事件處理組件。 一、先來要給簡單的Demo java一切皆對象,肯定有個事件對象。 Event.java package com.cqsym.lmdw1.testguava; import lombok.Getter; import lombok.Setter; @Getter @Set

System , 後端開發 , JAVA , 事件處理

逐夢AI - Java 實現高效 MP3 音頻合併:擺脱 FFmpeg 的純本地方案

Java 實現高效 MP3 音頻合併:擺脱 FFmpeg 的純本地方案 在 Java 音頻處理中,MP3 格式的合併一直是一項技術難點。 大多數開發者默認使用 FFmpeg 命令行來完成任務,但這帶來了: ⚠️ 高 CPU 佔用率 ⚠️ 外部二進制依賴 ⚠️ 不適合雲端或沙箱環境 本文將介紹一種 純 Java 實現的 MP3 合併方法,基於 javax.sound.sampled

spring , JAVA