收藏 / 列表

老污的貓 - 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 , 故障 , 後端 , 前端

悲傷的鴨蛋 - 會話技術、過濾器、攔截器

登錄校驗:判斷用户是否登錄,從而決定是否讓其執行相關操作。(已登錄則可執行,未登錄則不可,必須登錄後才能執行) 具體操作步驟: 1、記錄用户已經成功登錄的標記(會話技術)會話:指的就是瀏覽器與服務器之間的一次連接。在一次會話當中,是可以包含多次請求和響應的(瀏覽器不能關閉、服務器不能斷開)會話跟蹤:服務器識別多次請求是否來自於同一瀏覽器,以實現在同一次會話的多次請求間共享數據。此技術一

filter , JAVA , token , Jwt

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

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

設計模式 , JAVA , 策略模式

牛肉燒烤屋 - 超時時間應該設置多長?長尾請求和重試風暴又該如何解決?打造高效穩定的網絡請求!

超時時間 概念 超時時間指系統在等待某個操作響應時設定的最大容忍時間閾值。當操作未在指定時間內完成,系統將主動終止等待並觸發預設處理邏輯 超時可以看做是一種降級手段。因為假設服務永遠能正常運行,我們並不需要超時時間,來保證服務的可用性和穩定性 常見需要依賴超時時間的場景 網絡層:TCP 協議的 connect timeout(Linux 默認 120 秒)、HTTP 請求的 socket ti

微服務 , rpc , 高可用 , 計算機網絡 , 後端

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

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

多線程 , JAVA

王中陽講編程 - 面試必問:MyBatis 高頻面試題!

這些都是面試常見的問題,看看下面的問題你都能答得上來嗎? 1.什麼是 MyBatis?它有哪些主要特性和優勢? 2. mybatis 和數據庫交互的原理? 3. mybatis 中#{}、${}的區別 4. Mybatis 自帶連接池都有什麼? 5. Mybatis 的一級、二級緩存? 6. MyBatis 是如何進行分頁的?分頁插件的原理是什麼? 7. m

面試問題 , JAVA , 後端 , Mybatis

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

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

源碼 , JAVA , juc , 併發編程

Awbeci - Seaurl-分享一個雲上網址收藏網站

前言 最近網上發現一個強大的網址收藏網站,點擊這裏打開,分享給大家,希望大家會喜歡。 網址空間 "網址空間"是一個專業的在線平台,它允許用户分享他們在日常生活和工作中頻繁訪問的網站鏈接。此外,該平台還提供了社交功能,使用户能夠查看並探索他們的朋友們所添加的網站鏈接,從而增強信息共享和網絡資源的發現。 當你添加網址時候,它會自動帶出標題和描述,非常方便。 它還提供了快捷工具功能,上面列出

網址 , url

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

Java陳序員 - 再見 Postman!一款開源免費的全能 API 客户端工具!

大家好,我是 Java陳序員。 在日常開發工作中,常常需要進行 API 接口調試,通常是藉助 Postman 進行調試或者接口管理。 但是基於 Electron 框架開發的 Postman,啓動速度較慢,且運行時會佔用較多內存和 CPU 資源。而且依賴雲同步功能,用户的接口集合、密鑰、Token 等敏感信息可能存儲在第三方服務器,存在數據泄露風險。此外,一些高級功能,還需要進行付費。 今天,給大家

github , rust , postman

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

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

權限控制 , 權限 , JAVA

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

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

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

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

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

數據庫 , 後端開發 , JAVA

mb61c46a7ab1eee - 深入解析:《黑馬商城》Elasticsearch基礎-詳細介紹【簡單易懂註釋版】

目錄 一、Elasticsearch01 1.初識elasticsearch 1.1.認識和安裝 1.1.1.安裝elasticsearch 1.1.2.安裝Kibana 1.2.倒排索引 1.2.1.正向索引 1.2.2.倒排索引 1.2.3.正向和倒排 1.3.IK分詞器 1.3.1.安裝IK分詞器 1.

MySQL , 倒排索引 , 搜索 , 數據庫 , 分詞器

CodePulse代碼脈搏 - 智能練習生成與進度追蹤

基於AI編程導師,添加智能練習生成和個性化學習路徑功能。 1. 智能練習生成器 # exercise_generator.py import random from typing import List, Dict from enum import Enum class Difficulty(Enum): BEGINNER = "beginner"

List , 後端開發 , JAVA , ci , Json

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

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

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

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

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

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

自由的瘋 - 《單元測試與Mock:保證代碼質量(十四)》

單元測試是確保代碼質量的核心手段,通過隔離測試目標代碼(System Under Test, SUT),驗證其邏輯正確性。結合Mock框架(如Moq)可以模擬外部依賴,使測試更可控、更高效。 1. xUnit/NUnit基礎:單元測試框架 1.1 xUnit與NUnit對比

List , Test , Stack , yyds乾貨盤點 , c++ , 後端開發 , c

小風箏 - 對敏感操作的二次認證 —— 詳解 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 , 數據治理平台

飛天鑄幣 - mybastis動態sql解析異常

今天練習項目的時候爆了一個錯誤 它爆的錯誤我不認識,所有我想自己先找找看,但是找了好久還沒發現,於是乎問了一下deep seek,它告訴我這個錯誤是MyBatis的OGNL表達式解析異常,就是説在解析動態SQL語言中遇到了一個感嘆號,於是乎,我猜應該是mapper映射文件中的動態SQL寫錯了,找了一下還真是,附上粗心的代碼 在查詢語句的時候,由於粗心少些了一個=號就變成

springboot , JAVA , Mybatis