收藏 / 列表

老污的貓 - Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and……

問題描述 執行SQL聯表查詢,原始報錯信息 (1267, "Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) for operation '='") 這是由於不同表使用了不一致的字符集導致的衝突 解決方案 修改表或字段的格式至同一結構 使用轉格式命令單獨執行本次S

MySQL

大廠碼農老A - 凌晨零點,一個TODO,差點把我們整個部門抬走

那晚杭州的悶熱,至今記憶猶新。 2021年,我剛來到杭州這座“卷城”,入職了一家夢想中的互聯網大廠。作為一名電商新人,我一頭扎進了促銷和會場的研發中。 那晚,我們正為一個S級的“會員閃促”活動做最後的護航,它將在零點準時生效。作戰室裏燈火通明,所有人都盯着大盤,期待着活動上線後,GMV曲線能像火箭一樣發射。 然而,我們等來的不是火箭,而是雪崩。 剛過0點,登登登登… 告警羣裏的消息開始瘋狂刷屏,聲

springboot , JAVA , 故障 , 後端 , 前端

悲傷的鴨蛋 - Mybatis常見運行報錯(持續更新...)

報錯一: Caused by: org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1 解決辦法: setting - Editor - File Encodings,編碼方式都選擇UTF-8 報錯二: Cause: java.sql

MySQL , JAVA , Mybatis , Web

打盹的猴子 - Java 設計模式:裝飾者模式(Decorator Pattern)

一、模式定義 裝飾者模式屬於結構型設計模式,允許通過動態包裝對象的方式為對象添加新功能,提供比繼承更靈活的擴展方式。該模式通過組合替代繼承,遵循開閉原則(對擴展開放,對修改關閉)。 二、核心角色 Component(組件接口) 定義被裝飾對象的公共接口 ConcreteComponent(具體組件) 實現基礎功能的具體類 Dec

裝飾者模式 , 設計模式 , JAVA

牛肉燒烤屋 - 為什麼不應該在事務中嵌套發送 MQ 消息和 RPC 調用?

引言 或許你曾寫過這樣的代碼: @Transaction // 開啓事務 public void craeteOrder(Order order) { saveOrder(order); sendMQ(order); // 或者是發送 rpc } 在一個事務內,向 MySQL 寫入數據,接下來發送 MQ 或 RPC 調用。在大部分情況下,這樣寫好像沒什麼問題 但如果此時我們下游執行

MySQL , mq , JAVA , 事務 , 後端

seazhan - 【Java多線程】斷點續傳 如何使用Java多線程下載網絡文件

如何使用Java多線程下載網絡文件,並實現斷點續傳 在現代網絡應用中,多線程下載是一種常見的技術,它可以顯著提高下載速度並提供更好的用户體驗。本篇文章將介紹如何使用Java實現多線程下載,並結合項目中的代碼作為示例進行講解。 1. 多線程下載的基本原理 多線程下載的基本思想是將一個文件分成多個部分,每個部分由一個線程獨立下載,最後將這些部分合併成完整的文件。這樣可以充分利用帶寬和計算資源,提高下載

多線程 , JAVA

王中陽講編程 - 靈活分庫分表,面試的時候這麼説,加分!

最近收到一位粉絲的提問,關於分庫分表在面試中如何結合業務邏輯舉例的問題。 他提到之前使用 serverless 數據庫時沒涉及分庫分表,現在遇到了具體場景,想請教合適的方案。 這其實是面試中很常見的考點,既要看技術思路,更要看能否結合業務落地,今天就藉着這個問題展開聊聊。 前言 怕有些朋友沒有了解過這方面的知識點,先來解釋一下這些概念: 分庫分表的核心目標:解決單庫單表因數據量過大(如千萬 /

分庫分表 , 面試 , 分表 , 分庫 , 後端

字節幺零二四 - 源碼解讀 | Java中ReentrantReadWriteLock的實現原理

本文將介紹Java中ReentrantReadWriteLock的實現原理,從JDK源碼層面講解讀寫鎖的加鎖、釋放鎖的流程,最後對流程進行總結。 讀寫鎖概述 讀寫鎖 ReentrantReadWriteLock 的依賴關係如下圖所示。 讀寫鎖的基本使用如下 ReentrantReadWriteLock lock = new ReentrantReadWriteLock(); Reentrant

源碼 , JAVA , juc , 併發編程

Awbeci - Next.js 14集成next-auth(v5)和redux-toolkit最佳實踐

前言 自從next.js14發佈之後,app router變成了官網主推的架構區別於pages router的傳統架構,app router更適合最新的react,於是自己動手把next-auth、redux-toolkit、ant-design、tailwindcss也一同集成進來,分享給大家,如果有錯誤之處歡迎大家指正。 操作 1、創建項目 使用下面命令創建項目,並且選擇tailwind cs

next-auth , redux , next.js

lindsay_bubble - Leetcode 84_柱狀圖中最大的矩形

給定 n 個非負整數,用來表示柱狀圖中各個柱子的高度。每個柱子彼此相鄰,且寬度為 1 。 求在該柱狀圖中,能夠勾勒出來的矩形的最大面積。 想法:感覺這個題考的是數學,是邏輯。 怎麼找矩形呢?就是當前位置的最高點,向左和向右畫矩形,找他比他矮的點left, right,就停止。 高度就是height[i] 寬度就是(right-left+1)-2,因為找到的那兩個點是不能算進

leetcode , , JAVA

wasdquiop - 常用正則表達式整理

常用正則表達式(持續更新) 校驗數字 1 數字:^[0-9]*$ 或者 ^\d$ 2 n位數字:^\d{n}$ 3 正整數:^(0?|[1-9]\d*)$ 4 最多兩位小數:^(0?|[1-9]\d*)(.\d{1,2})?$ 校驗字符 1 漢字:^[\u4e00-\u9fa5]+$ 2 英文和數字:^[A-Za-z0-9]+$

字符串 , 正則表達式 , 程序員

Enaium - 一個腳本讓您的Gradle項目下載速度起飛

首發於Enaium的個人博客 前言 Gradle是一個非常優秀的構建工具,但用過Maven的人都知道,Maven可以設置鏡像,加速下載速度,而Gradle卻沒有這個功能。因為Gradle沒有Maven這麼死板的概念,在Gradle中大部分功能都是通過腳本實現的,所以我們可以通過腳本來實現鏡像的功能。 首先需要了解一下什麼是Initialization scripts,Initialization

gradle

Java陳序員 - 數據處理神器!一款強大的數據處理命令行工具!

大家好,我是 Java陳序員。 我們在日常開發中,經常會操作使用一些 JSON、YAML、XML 等格式的數據,對數據進行增刪改查和轉換操作。 今天,給大家分享一款強大的數據處理命令行工具,一行命令搞定數據操作! 關注微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典計算機電子書籍等。 項目介紹 dasel —— 一款用於處理和操作多種數據格式的命令行工具,支持對

github , yaml , go , Json

wayn - 終於有篇文章把後管權限系統設計講清楚了

在常用的後台管理系統中,通常都會有權限系統設計,以用於給對應人員分配不同權限,控制其對後管系統中的某些菜單、按鈕以及列表數據的可見性。 本文將用 waynboot-mall 項目舉例,給大家介紹常見後管系統的權限控制該如何設計。大綱如下, 權限模型 要理解權限控制,我們需要先了解什麼是權限模型。 權限模型是指用於描述用户、角色和權限之間關係的一種抽象模型。不同的權限模型有不同的優缺點,適用於不

權限控制 , 權限 , JAVA

程序員波特 - Java中鎖的解決方案

前言 在上一篇文章中,介紹了什麼是鎖,以及鎖的使用場景,本文繼續給大家繼續做深入的介紹,介紹JAVA為我們提供的不同種類的鎖。 JAVA為我們提供了種類豐富的鎖,每種鎖都有不同的特性,鎖的使用場景也各不相同。由於篇幅有限,在這裏只給大家介紹比較常用的幾種鎖。我會通過鎖的定義,核心代碼剖析,以及使用場景來給大家介紹JAVA中主流的幾種鎖。 樂觀鎖 與 悲觀鎖 樂觀鎖與悲觀鎖應該是每個開發人員最先接觸

lock , , JAVA , synchronized

mob64ca13fe62db - (轉載)Spring異常處理@ExceptionHandler

@ExceptionHandler原理淺析 初始化 初始化 ExceptionHandlerExceptionResolver#exceptionHandlerAdviceCache 初始化方法:initExceptionHandlerAdviceCache() public static ListControllerAdviceBe

oracle , 優先級 , 初始化 , 數據庫 , JAVA

半夏微光zhang - Mybatis-Plus邏輯刪除

概念: 邏輯刪除,可以方便地實現對數據庫記錄的邏輯刪除而不是物理刪除。邏輯刪除是指通過更改記錄的狀態或添加標記字段來模擬刪除操作,從而保留了刪除前的數據,便於後續的數據分析和恢復。 物理刪除:真實刪除,將對應數據從數據庫中刪除,之後查詢不到此條被刪除的數據 邏輯刪除:假刪除,將對應數據中代表是否被刪除字段的狀態修改為“被刪除狀態”,之後在數據庫中仍舊

數據庫 , 後端開發 , JAVA

mb61c46a7ab1eee - 大屏自適應組件v-scale-screen - 指南

問題:大屏分辨率適配繁多,目前我認為最簡單且問題最少的的方案就是使用v-scale-screen插件,無需考慮單位轉換,position定位也正常使用。 1. 安裝 npm install v-scale-screen -save 2. vue3中使用 script import VScaleScreen from 'v-sca

app , 分辨率適配 , Css , 前端開發 , HTML

CodePulse代碼脈搏 - 實時代碼分析與智能指導

基於Python開發一個智能編程學習助手,專注於代碼分析和實時指導。 核心功能設計 # ai_coding_tutor.py import ast import inspect from typing import Dict, List, Optional from dataclasses import dataclass from pathlib impo

後端開發 , JAVA , HTML , Json , Python

虎斑嘟嘟 - 大模型智能體在醫療影像診斷中的特徵提取與識別

大模型智能體在醫療影像診斷中的特徵提取與識別 隨着人工智能技術的快速發展,大模型智能體在醫療影像診斷領域正掀起一場革命。本文將深入探討大模型智能體如何通過先進的特徵提取與識別技術,改變醫療影像的診斷方式,並提供詳細的代碼實例展示這一過程的具體實現。 醫療影像診斷中大模型智能體的技術基礎 大模型智能體在醫療影像診斷中的核心價值在於其能夠模仿甚至增強人類專家的診斷思

yyds乾貨盤點 , 後端開發 , JAVA , Image , 模態 , 特徵提取

Turbo_K - ThreadLocal有什麼缺點?

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

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

自由的瘋 - 《分佈式 + 國產數據庫 + Docker:技術選型避坑指南》(十)

一、為什麼必須用 Docker Compose?手動啓動多容器的 “四宗罪” 1. 手動操作的痛點(開發 / 測試環境高頻踩坑) 命令繁瑣:啓動 5 個服務需執行docker run5 次,每次需配置端口映射、環境變量、數據卷,複製粘貼易出錯; 依賴混亂:若先啓用户服務再啓 Nacos,用户服務會因連接 Nacos 失敗反覆重啓; 數據丟失:

yyds乾貨盤點 , jar , 數據 , 後端開發 , JAVA , Docker

小風箏 - SpringBoot 使用 Sa-Token 完成路由攔截鑑權

一、需求分析 在前文,我們詳細的講述了在 Sa-Token 如何使用註解進行權限認證,註解鑑權雖然方便,卻並不適合所有鑑權場景。 假設有如下需求:項目中所有接口均需要登錄認證校驗,只有 “登錄接口” 本身對外開放。 如果我們對項目所有接口都加上 @SaCheckLogin 註解,會顯得非常冗餘且沒有必要,在這個需求中我們真正需要的是一種基於路由攔截的鑑權模式,那麼在 Sa-Token 怎麼實現路由

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

wx661607c93692e - 從 BPMN 到 Flowable

一、什麼是工作流?為什麼需要工作流引擎? Q1:工作流解決了什麼問題?不用引擎直接寫 if-else 不行嗎? 痛點: 審批流程頻繁變更(如:3級審批 → 5級) 流程節點權限複雜(部門經理、HR、財務) 需要歷史軌跡、催辦、轉辦、撤回等能力 人工代碼維護成本高、易出錯 工作流引擎的價值

後端開發 , 發送郵件 , JAVA , 工作流引擎