收藏 / 列表

軟件求生 - 別再死記八種策略了!Redis 淘汰機制其實超簡單!

有時候,技術面試就像一場心理戰。你以為面試官在聊 Redis 緩存?其實他在考你對“內存管理”的理解。今天,我就帶你用一個小故事,輕鬆搞懂 Redis 的內存淘汰策略,讓你在面試中胸有成竹、侃侃而談! 那場面試,讓我對“Redis 淘汰策略”徹底改觀 上個月,我去參加一家金融科技公司的社招面試。面試官是個看起來不苟言笑的大哥,問的第一個問題就挺硬核:

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

老污的貓 - Java 爬樓梯

題目 假設你正在爬樓梯。需要 n 階你才能到達樓頂。 每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢? 原題地址 解題 每一步只能走1階或2階,因此每一步可拆分為2個分支,f(n)=f(n-1)+f(n-2) 遞歸 public static int climbStairs(int n) { if (n == 1) { return

算法 , JAVA

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

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

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

悲傷的鴨蛋 - dependencies、dependencyManagement區別

對比項 dependencyManagement dependencies 功能 聲明版本(不引入依賴) 實際引入依賴到項目 作用 統一管理版本,避免衝突 決定項目運行時依賴 生效範圍 當前項目及子項目 僅當前項目 版本控制 子項目默認繼承 可覆蓋父項目版本 總結: dependencyManagement:定規矩(版本),不幹活(不引入)。 dependenc

maven , dependencies , dependency-management

打盹的猴子 - 策略模式(Strategy Pattern)深度解析教程

一、模式定義 策略模式屬於行為型設計模式,通過定義算法族並將其封裝為獨立的策略類,使得算法可以動態切換且與使用它的客户端解耦。該模式通過組合替代繼承,符合開閉原則(對擴展開放,對修改關閉)。 二、核心角色 Strategy(策略接口) 定義所有支持的算法的公共接口 ConcreteStrategy(具體策略) 實現策略接口的具體算法

設計模式 , 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 數據庫時沒涉及分庫分表,現在遇到了具體場景,想請教合適的方案。 這其實是面試中很常見的考點,既要看技術思路,更要看能否結合業務落地,今天就藉着這個問題展開聊聊。 前言 怕有些朋友沒有了解過這方面的知識點,先來解釋一下這些概念: 分庫分表的核心目標:解決單庫單表因數據量過大(如千萬 /

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

字節幺零二四 - 算法典型例題:N皇后問題,五種解法,逐步優化(遞歸版)

本文將介紹N皇后問題的五種解法,包括樸素回溯法、對稱優化、標記優化、可用優化、位運算優化,對於每種解題思路,提供相應的遞歸版代碼實現,最後將對每種解法進行測試,橫向對比每種解法的求解時間。 題目描述 在 N×N 格的國際象棋上擺放 N 個皇后,使其不能互相攻擊,即任意兩個皇后都不能處於同一行、同一列或同一斜線上,問有多少種擺法? 回溯法 解題思路 回溯法採用深度有限的搜索策略遍歷問題的解空間樹,可

遞歸 , 算法 , 回溯法

Awbeci - SpringCloud-解決WebFlux異步線程無法獲取ThreadLocal中的用户信息

前言 之前閲讀《Spring微服務實戰》這本書時,裏面提供了微服務如何存儲用户的信息,但是最近升級到了Java17以及SpringCloud2022.0.0之後,異步編程是官方推薦的主流寫法,而之前的寫法是同步的,所以在存儲和解析用户信息時導致獲致不到用户信息情況,下面我們來解決這個問題。 操作 我們先看看之前的寫法: UserContext.java @Component public clas

webflux , springcloud , springboot , JAVA

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 安裝 jdk

卸載舊版本 新環境虛擬機有自己自帶的openjdk,在安裝jdk前需要先把虛擬機的卸掉,防止多個jdk衝突 查看已安裝jdk rpm -qa | grep jdk rpm -qa | grep java 如果存在,挨個刪除已有版本: yum -y remove jdk版本 上傳 安裝包 鏈接: https://pan.baidu.com/s/1cOV10HZAZQPtRU1XyXG1tw

JDK , centos7 , Linux , JAVA , 程序員

我不是碼農 - 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

李通 - 使用tio-boot 內置 TokenManager

tio-boot官網 內置 TokenManager 工具類 在使用 Tio-boot 框架開發 Web 應用程序時,安全性是一個重要的考慮因素。本文將介紹如何使用 Tio-boot 框架實現基於 JWT 的 Token 認證。我們將探討如何配置攔截器,生成和驗證 JWT Token,並管理用户的登錄狀態。 Tio-boot 的工具類庫 Tio-utils 內置了 JwtUtils 和 Token

auth , JAVA , token , Jwt

Java陳序員 - 叮點跑腿!一套跑腿下單接單系統!

大家好,我是 Java陳序員。 今天,給大家介紹一套開源的跑腿下單接單系統! 關注微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典計算機電子書籍等。 項目介紹 ddrun —— 一套後端基於 Midway3.0、後台採用 Nuxt2.x、小程序採用 Uniapp 實現的跑腿下單接單系統。 系統實現了幫送服務、幫買服務、騎手註冊、騎手接單、用户下單、提現、訂單分配

微信小程序 , nuxt.js , node.js , MySQL

呀哈哈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

journey - Centos7安裝hadoop3.x集羣

1、環境準備 ip hostname 備註 172.16.153.10 node1 NameNode DataNode JobHistoryServer NodeManager 172.16.153.11 node2 ResourceManager SecondeNameNode DataNode

hadoop

mb61c46a7ab1eee - 完整教程:C# WinForms 多窗口交互通信的示例-主窗口子窗口交互通信

一、多窗口通信方式 C# WinForms 多窗口通信的方式有: 構造函數傳遞 屬性傳遞 接口 事件通信 委託回調 靜態消息中心 二、示例代碼 C# WinForms中多窗口之間各種通信方式的示例。示例包含一個主窗口和多個子窗口,測試開發中常用的幾種通信方式。 項目結構如下:

子窗口 , System , text , 後端開發 , Python

sangwu - 74. 搜索二維矩陣

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

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

虎斑嘟嘟 - 零知識證明與深度學習:打造可驗證的AI推理新時代

零知識證明與深度學習:打造可驗證的AI推理新時代 在醫療、金融和自動駕駛等關鍵領域,人工智能系統正日益成為決策的核心。然而,這些“黑箱”模型如何讓人信任?當AI告訴你不應該批准貸款或患有癌症時,你如何知道這個決策是基於正確的推理,而不是被惡意篡改或包含了偏見? 傳統方法要求完全透明公開模型參數和輸入數據,但這在保護知識產權和用户隱私方面面臨巨大挑戰。 零知識證明

yyds乾貨盤點 , 數據 , 後端開發 , JAVA , ci , 零知識證明

Turbo_K - 如何實現數據庫的不停服遷移?

數據庫不停服遷移 是指在不影響現有系統正常運行的情況下,進行數據庫的遷移操作。這對於保障系統的高可用性、減少停機時間以及提高業務連續性至關重要。以下是幾種常見的實現數據庫不停服遷移的方式和步驟。 1. 數據庫遷移的需求與挑戰 在進行數據庫遷移時,常見的挑戰包括: 業務不中斷:遷移過程中必須確保業務正常進行,避免影響客户或用户。 數據一致性:源數

數據同步 , 數據 , 數據庫 , 後端開發 , JAVA

大丸子 - 用Java將Excel數據導入到SQLite數據庫

在日常數據處理工作中,很多人習慣使用 Excel 進行數據錄入和整理,而將這些數據批量寫入數據庫是一個常見需求。手動複製粘貼效率低下,容易出錯,因此通過 Java 編程語言實現自動導入機制,不僅高效而且更可靠。 本文將演示如何使用 Java 將 Excel 表格數據讀取後插入到 SQLite 數據庫中,適用於初次搭建數據平台或批量錄入數據的場景。 所需技術組件 Free Spire.XLS f

xlsx , excel , sqlite , JAVA

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

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

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

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

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

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