收藏 / 列表

軟件求生 - 面試官問我:Redis內存滿了會怎樣?我笑着講了一個真實事故

你以為Redis只是個簡單的緩存?不,它吃內存的速度堪比我深夜點外賣的速度。今天我們就通過一個真實的“線上事故”,聊聊Redis的物理資源消耗、內存滿了會發生什麼、以及我們該怎麼優雅地做內存優化。 引言 那天,我正愜意地泡着咖啡,準備開個早會。結果Slack上一個紅色警告信息像驚雷一樣炸響: “Redis節點內存使用率100%,應用開始大量超時!”

redis , yyds乾貨盤點 , 數據 , 緩存 , 數據庫

老污的貓 - 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 - CR被批“寫得像坨屎”,我三句話讓他當場閉嘴

這坨屎山,我接了 大家好,我是老A。 我想很多程序員有過這種經歷,新接手一個項目,打開工程一看,妥妥的一大坨🤦,內心OS:好嘛,又要“屎山雕花”了。。。 我這兩年在做電商業務,所以業務上經常會搞大促,3天一小促,5天一大促,作為技術早就習慣了這種研發節奏(倒排)。今年6月是我們業務年中的一次大型大促,所以5月份的需求爆炸多,基本都是倒排,業務天天拿着大喇叭在我們屁股後喊📢:這個需求不做就

segmentfault , 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

vivo互聯網技術 - 前端 TypeError 錯誤永久消失術

作者:來自 vivo 互聯網大前端團隊- Sun Maobin 通過開發 Babel 插件,打包時自動為代碼添加 可選鏈運算符(?.),從而有效避免 TypeError 的發生。 一、背景介紹 在 JS 中當獲取引用對象為空值的屬性時,程序會立即終止運行並報錯:TypeError: Cannot read properties of ... 在ECMAScript 2020新增的可選鏈運算符(?.

typeerror , babel , 前端

牛肉燒烤屋 - 計算機網絡——常見的跨域方案

跨域是什麼? 跨域問題是瀏覽器的安全機制,即同源策略(Same-origin policy) 限制不同源之間的交互,從而保證資源的安全 同源策略限制內容 Cookie、LocalStorage、IndexedDB 等存儲性內容只有同源才能訪問 AJAX 請求發送後,響應內容被瀏覽器攔截了 DOM 允許跨域加載的資源 img src=XXX link href=XXX scri

JAVA , 計算機網絡 , 後端

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

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

多線程 , JAVA

王中陽講編程 - 面試阿里,直呼太難了!

我發現一件事,今年的秋招比去年來的更早一些,像什麼小度、深信服、OPPO、科大訊飛、華夏銀行等等知名的公司都開始了,想問問要找工作的各位:你們準備好了嗎? 這真不是危言聳聽,需要參加今年秋招的小夥伴真的要抓緊時間準備了,八股、算法、項目都要按部就班地往前推進了,畢竟時間不等人,我在星球裏還遇到過秋招錯過、春招也錯過的球友,後續真的是十分被動。 今天分享一位粉絲投稿的阿里面經,這是他第一次約到阿里的

阿里巴巴 , 面試 , go

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

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

源碼 , JAVA , juc , 併發編程

Awbeci - Next.js-Cookie鑑權+續期+退出登錄

前言 之前寫過關於next.js鑑權操作cookie的文章,Next.js-cookie鑑權+續期1和Next.js-cookie鑑權+續期2,最近chatgpt非常火,於是我問它next.js鑑權最佳實踐,下面是它的回答: 設置合理的 cookie 有效期:合理的 cookie 有效期應該根據網站的特點來確定,通常建議將其設置為一定時間內(如 30 分鐘)。 定時刷新 cookie

next.js , cookie

lindsay_bubble - Leetcode 46&47_Permutations_全排列

一、不重複全排列 給定一個不含重複數字的數組 nums ,返回其 所有可能的全排列 。你可以 按任意順序 返回答案。 https://leetcode.cn/problems/permutations/description/ 1、dfs + boolean[] 通過boolean[]記錄 public ListListInteger permute(int[] nums

leetcode , 排列 , JAVA , 回溯法

wasdquiop - centos7 安裝 nginx

centos7 安裝 nginx 安裝包 鏈接: https://pan.baidu.com/s/1kpAYYX_yy-vXX-1vsCPhoA 提取碼: qrtb 上傳 新創建usr/local/nginx文件夾,放到文件夾下 解壓 tar -zxvf nginx-1.9.9.tar.gz 安裝編譯環境 安裝gcc,源碼編譯依賴 gcc 環境 yum -y install gcc-c+

centos7 , Linux , JAVA , Nginx

我不是碼農 - spring security oauth2.0 sso流程分析

現在我們系統使用的是spring security oauth2.0 sso單點登錄方案,偶爾出現會話失效,經過分析比對看了下日誌,出現會話失效時會出現一個警告, Could not fetch user details: class org.springframework.security.oauth2.client.resource.UserRedirectRequiredException,

oauth2.0 , spring , springsecurity , springboot , JAVA

江南一點雨 - 手把手教小夥伴們使用 Nginx 部署 TienChin 項目!

今天我就來手把手教小夥伴們部署 TienChin 項目,一起把這個項目跑起來,看看到底是個什麼樣的項目。 小夥伴們知道,對於這種前後端分離的項目,我們在實際部署的時候,可以按照前後端分離的方式來部署,也可以按照前後端不分的方式來部署。接下來兩種不同的部署方式我都和小夥伴們來分享一下。 1. 前後端分離部署 1.1 部署架構圖 前後端分離部署的話,我們一般是需要一個 Nginx 服務器,我先畫一個簡

前後端分離 , Nginx

Java架構師 - IO:阻塞和非阻塞、同步和異步

阻塞和非阻塞 阻塞的時候線程會被掛起 阻塞: 當數據還沒準備好時,調用了阻塞的方法,則線程會被掛起,會讓出CPU時間片,此時是無法處理過來的請求,需要等待其他線程來進行喚醒,該線程才能進行後續操作或者處理其他請求。 非阻塞: 意味着,當數據還沒準備好的時候,即便我調用了阻塞方法,該線程也不會被掛起,後續的請求也能夠被處理。 同步 同步和異步跟串行和並行非常形似。 假設在一個場景下:完成一個大任務需

阻塞 , JAVA , io , 異步 , 後端

wx690f565d7bc78 - java文檔註釋

Java 文檔註釋(JavaDoc)是一種特殊的註釋格式,用於生成標準化的 API 文檔。它以 /** 開頭,以 / 結尾,通常用於類、方法、字段、接口等元素上方,描述其功能、參數、返回值、異常等信息。 基本格式 文檔註釋通常包含以下部分: java 運行 /* 類/方法/字段的簡要描述(單行) 詳細描述(可選,多行)

文檔註釋 , 字段 , MySQL , 數據庫 , JAVA

呀哈哈kk - 【詳解】Kali安裝BCM43142802.11b/g/nLinux驅動

Kali安裝BCM43142802.11b/g/n Linux驅動 在使用Kali Linux時,有時會遇到無線網卡驅動不兼容的問題。本文將詳細介紹如何在Kali Linux上安裝Broadcom BCM43142 802.11b/g/n的Linux驅動。 環境準備 操作系統:Kali Linux 2023.1 硬件:帶有BCM43142無線網

驅動程序 , 加載 , 無線網卡 , 後端開發 , JAVA

mb61c46a7ab1eee - 策略模式詳情 - 實踐

策略模式:定義一組算法,將每個算法封裝起來,使它們可以互相替換,且算法的變換不會影響使用算法的客户。 • 抽象策略(Strategy)類:這是一個抽象角色,通常由一個接口或抽象類實現。此角色給出所有的具體策略類所需的接口。 • 具體策略(Concrete Strategy)類:實現了抽象策略定義的接口,提供具體的算法實現或行為。

System , 封裝 , MySQL , 數據庫 , 策略模式

g天命風流 - 併發編程之常見線程安全類以及一些示例的詳細解析

常見線程安全類 String Integer StringBuffer Random Vector Hashtable java.util.concurrent 包下的類 這裏説它們是線程安全的是指,多個線程調用它們同一個實例的某個方法時,是線程安全的。也可以理解為 Hashtable table = new Hashtable()

項目代碼 , 線程安全 , JAVA , 前端開發 , Javascript

Turbo_K - ThreadLocal有什麼缺點?

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

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

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

一、為什麼需要自定義限流?基礎限流的侷限性 在第六篇基礎限流中,我們配置了 “GET:/user/get/{id}接口 QPS=20” 的規則,但實際業務場景存在更多精細化需求: 場景 1:限制單個用户(如 user_id=100)每秒最多調用 3 次訂單創建接口,避免惡意刷單; 場景 2:限制單個 IP(如 192.168.1.10)每秒最多訪問

限流 , yyds乾貨盤點 , ip , 自定義 , 後端開發 , JAVA

xiongood - Vue 中 provide 與 inject 的使用方法

Vue 中 provide 與 inject 的使用方法 在 Vue 組件樹中,當需要跨多層級傳遞數據時,一層層用 props 傳遞會變得繁瑣,就像接力賽要經過多個人傳遞一樣低效。這時候 provide 與 inject 就像一對 “數據快遞通道”,能讓父組件直接把數據 “發送” 給任意層級的子組件,跳過中間層,讓深層級通信更簡潔。 最基礎的用法是父組件通過 provide 提供

數據 , 默認值 , 後端開發 , JAVA , ide

吳大同 - qData 數據中台開源版部署全攻略:三種方式任你選擇

作為一款專注於數據治理與數據資產管理的數據中台,qData 數據中台開源版(社區版本) 提供了靈活的部署方式,滿足不同階段用户的需求:從初學者的快速上手,到研發團隊的日常開發,再到生產環境的大規模部署。本文將詳細介紹三種部署方式的適用場景和特點,幫助你快速找到最適合的方案。 🚀 三種部署方式對比 部署方式 説明 適用場景 Docker C

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