收藏 / 列表

軟件求生 - 面試官笑了:我用這套方案搞定了“2000w vs 20w”的Redis難題!

那天我在一家互聯網大廠面試,被問了一個看似簡單、實則殺傷力極強的問題: “小米,假如MySQL裏有2000萬條數據,Redis裏只能存20萬條,你該怎麼保證Redis中的數據都是熱點數據?” 當場我笑出了聲,心想這題是“送命題”吧!但笑歸笑,能不能答好,真能看出你是不是一個“實戰派”的程序員。 今天這篇文章,就帶你把這道題拆開、揉碎、講

訪問量 , redis , yyds乾貨盤點 , 數據 , 數據庫

老污的貓 - Java 常用排序

示例數據結構 public class Item { private Integer id; private Integer sort; private Date createTime; } // 排序數組 ListItem list = new ArrayList(); 根據創建時間逆序 list.sort(Comparator.comparing(Item::get

JAVA

大廠碼農老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

vivo互聯網技術 - 微信小程序端智能項目工程化實踐

作者: vivo 互聯網大前端團隊- You Chen 本文介紹可以在微信小程序上應用的端智能技術方案,聚焦TensorFlow.js推理和微信原生推理,詳細講解這兩種方案在項目中的應用過程,為小程序開發者提供可複用的端智能技術選型策略與工程化解決方案。 1分鐘看圖掌握核心觀點👇 本文提供配套演示代碼,可下載體驗: Github |weixin-mini-ai 一、背景 隨着AI浪潮的

微信小程序 , 人工智能 , 前端

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

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

MySQL , mq , JAVA , 事務 , 後端

seazhan - 【手寫 RPC】手寫一個RPC框架 使用Netty + java虛擬線程

【手寫RPC框架】如何使用netty手寫一個RPC框架 結合新特性 虛擬線程 什麼是RPC框架 RPC(Remote Procedure Call)遠程過程調用,是一種通過網絡從遠程計算機程序上請求服務,而不需要了解底層網絡技術的協議。RPC框架是一種遠程調用的框架,它可以讓你像調用本地方法一樣調用遠程方法。 避免了開發人員自己去封裝網絡請求、連接管理、序列化、反序列化等操作,提高了開發效率。 N

框架學習 , 協程 , rpc , JAVA

王中陽講編程 - Python 的 PyPy 能追上 Go 的性能嗎?

在我們選擇用哪種編程語言進行後端開發的時候,Python 和 Go 似乎代表了兩種極端: Python 以人生苦短我用Python的開發效率聞名,卻經常因性能被調侃為慢如龜速; Go 則以編譯即部署的輕量和高併發性能成為雲原生時代的寵兒,卻因語法簡陋被吐槽開發像搬磚。 而 PyPy 的出現,像給 Python 注射了一劑強心針,這個基於 JIT(即時編譯)的 Python 解釋器,宣稱能讓 Pyt

go , 後端 , Python

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

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

源碼 , JAVA , juc , 併發編程

Awbeci - Java-實現axios上傳文件接口攜帶多參數

前言 最近在實現小圖片上傳的過程中剛開始我使用base64字符串做為後台接口參數傳遞給後台並解析保存也沒問題,但是發現第2次及之後就報下面的錯: org.springframework.core.io.buffer.DataBufferLimitException: Exceeded limit on max bytes to buffer : 262144 然後問了AI給的回覆如下: 這個問題通

Axios , JAVA , Javascript

lindsay_bubble - Leetcode 85_maximal_rectangle_最大矩形

一、棧 承接Leetcode 84,柱狀圖算最大矩形面積,把該題入參改為柱狀圖高度即可 PS:這版本手搓int[]做棧和直接用ArrayDeque做棧,結果僅差2ms;但題84相差近15ms。 public int maximalRectangle(char[][] matrix) { if (matrix.length == 0) {

leetcode , , JAVA

wasdquiop - Linux服務器ARM架構安裝Mysql(aarch64)

一、卸載舊版本 查詢是否存在舊版本 rpm -qa | grep mysql rpm -qa | grep mariadb 如果存在,挨個刪除已有版本: yum -y remove 版本 查看etc/目錄下是否存在my.cnf文件 ls etc/my.cnf # 刪除 rm my.cnf 卸載MySQL後殘留數據保存路徑 find / -name mysql # 刪除 rm -rf 查找的路徑名

MySQL , arm64 , arm , centos7 , Linux

我不是碼農 - hibernate的@ManyToOne(fetch=FetchType.LAZY)無效原因

遇到了一個hibernate查詢問題,當查詢實體時,並沒有任何顯式調用@ManyToOne註解的屬性的情況下,依然會進行查詢,(開始使用idea進行debug的時候,發現在debug過程中,idea會觸發hibernate的加載操作,當然了這是另外一個問題),我在hibernate官網找到了答案: https://docs.jboss.org/hibernate/orm/6.4/usergu

hibernate , jpa , spring-data-jpa

江南一點雨 - JWT 簽名用對稱加密還是非對稱加密?

一 概念梳理 對稱加密和非對稱加密是兩種基本的加密方法,它們在現代密碼學中扮演着核心角色,用於保護數據的安全和隱私。 1.1 對稱加密(Symmetric Encryption) 對稱加密是指加密和解密使用同一個密鑰的過程。這意味着發送方和接收方都必須知道並使用這個共享的密鑰來對信息進行加密和解密。這種方法的優點在於加密和解密速度快,效率高,適合處理大量數據。但是,安全分發密鑰成為一個挑戰,因為如

spring , JAVA , Jwt

Java架構師 - 吹爆Alibaba自研的Spring全能筆記,建議人手一份!

Spring 這個技術棧,想必大家都知道,這玩意麪試必考工作必用,對於每位 Java 程序員來説都是至關重要的;俗話説 Java 開發不學習 Spring 就像士兵上戰場不帶槍,我認為這個比喻很形象。Spring 幾乎佔據了 Java web 的半壁江山,其重要性不言而喻,它跟它後面誕生的一系列解決方案被我們親切的稱為“Spring 全家桶”。 在當下毫不誇張地説,若是不會 Spring 就去面試

spring , spring-mvc , springboot , JAVA , 程序員

wx690f565d7bc78 - java代碼可接受感應信號

一、場景 1:接收硬件傳感器信號(最常用) 如果感應信號來自硬件設備(如温度傳感器、紅外感應器、運動傳感器等),通常通過以下方式與 Java 程序通信: 串口通信(RS-232/USB):傳感器通過串口線或 USB 轉串口連接電腦,Java 用RXTX或jSerialComm庫讀取串口數據。 USB 直接通信:部分傳感器支持 USB HID 協議,可

System , 串口 , MySQL , 數據庫 , JAVA

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

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

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

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

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

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

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

虎斑嘟嘟 - 多模態對齊的表示學習:統一對比散度框架詳解

多模態對齊的表示學習:統一對比散度框架詳解 1. 引言:多模態對齊的核心挑戰 多模態表示學習作為人工智能領域的前沿方向,旨在使機器能夠像人類一樣理解和處理文本、圖像、音頻等不同模態的信息。其核心挑戰在於如何構建一個共享的語義空間,使得異構數據在這個空間中可以相互對齊和理解。 不同模態數據之間存在三大根本矛盾:符號系統的異構性(自然語言基於離散符號系統,而視覺、聽

yyds乾貨盤點 , 錨點 , 相似度 , 後端開發 , JAVA , 模態

Turbo_K - mysql的查詢優化器如何選擇執行計劃

MySQL 查詢優化器(Query Optimizer)負責決定如何執行一個查詢,它通過選擇最優的 執行計劃 來實現查詢的高效執行。查詢優化器的目標是根據查詢的複雜性、表的大小、索引的可用性等因素選擇最優的執行路徑。下面將詳細介紹 MySQL 查詢優化器是如何選擇執行計劃的。 1. 執行計劃概述 執行計劃 是 MySQL 查詢優化器選擇的一系列操作步驟,指明如何掃描表

MySQL , 執行計劃 , 查詢優化 , 後端開發 , JAVA

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

一、為什麼要遷移到 K8s?Docker Compose 的 3 個不可逾越瓶頸 1. Docker Compose vs K8s:核心能力對比(遷移的本質原因) 能力維度 Docker Compose(單機

Deployment , Pod , yyds乾貨盤點 , 後端開發 , JAVA , Docker

xiongood - Vue 中 slot 的使用方法

Vue 中 slot 的使用方法 在 Vue 組件化開發中,slot(插槽)就像組件預留的 “靈活接口”,讓父組件能向子組件的指定位置插入自定義內容,既保留了子組件的結構複用,又賦予了內容定製的靈活性,避免了組件過於僵硬。無論是簡單的文本插入,還是複雜的組件嵌套,slot 都能輕鬆應對,是組件複用與定製的核心工具。 最基礎的是默認插槽,子組件中預留一個未命名的插槽,父組件在使用子

數據 , 自定義 , 插槽 , 後端開發 , JAVA

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

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

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