收藏 / 列表

cyl173 - 【後端面經-Java】I/O多路複用 簡錄

0. Java 線程IO模型 Java當中的線程I/O模型如圖所示: 1. BIO 當一個線程進行I/O操作的時候,傳統的做法是阻塞等待,直到I/O操作完成再繼續後續的操作,這種IO方式就是BIO(Blocking I/O)。 BIO方式的缺點是: 大量併發線程的場景下效率過低; 空等待浪費資源; 2. NIO JDK1.4引入了NIO(No Blocking I/O或者是New

面試 , JAVA , nio , 後端

mb61c46a7ab1eee - mysql高可用架構之MHA部署(三)——故障轉移後郵件告警配置(保姆級) - 詳解

本教程基於前面兩篇 mysql高可用架構之MHA部署(一)(保姆級)mysql高可用架構之MHA部署(二)VIP漂移(保姆級) 實現了HMA發郵件提醒,QQ郵箱 【注意】 以下所有操作均在MHA管理節點【10.0.0.62】執行 1、前提條件 前提條件:主從架構正常、MHA啓動,請按下面操作進行環境檢查

ssl , MySQL , ip , Css , 前端開發 , HTML

愛看C語言的BK - Java21天學習計劃第十一天:集合框架高級應用

集合框架高級應用:從實現原理到性能優化 今天我們將深入探索Java集合框架的高級應用,這是Java開發中處理數據的核心技能。經過前幾天的基礎學習,你已經掌握了集合框架的基本使用,現在是時候揭開ArrayList、HashMap等實現類的底層奧秘,學會在不同場景下選擇最優集合,並通過Collections工具類提升代碼效率。 集合框架體系全景圖 Java集合框架猶

List , System , 集合框架 , AI寫作 , aigc

劉大貓26 - ZTree基本使用及本人詳解 使用案例3

需求8:2棵樹之間的數據交互 注意説明:該案例需單獨引入demo.css,同時div中的class名字好像必須指定官網給定的那個名字,比如class="content_wrap",class="zTreeDemoBackground left",class="zTreeDemoBackground right", 否則外面沒有邊框背景樣式。 案例

機電一體化 , 指尖人生 , 電氣機械 , 金屬加工 , 機械工業 , 機械工程 , 後端開發 , JAVA

emanjusaka - 新文章:引入了 Shiro 的項目請求路徑中帶有中文報錯400 的問題

新文章:“引入了Shiro的項目請求路徑中帶有中文報錯400的問題” - 原文地址 當我們的項目中引入了 Shiro 後,帶有中文的請求路徑會被攔截並返回 400 的錯誤。一般我們的請求路徑是不會帶有中文字符,但當我們訪問靜態資源時那些文件是有可能是中文名稱的。本文闡述了問題產生的原因以及解決方案。

shiro , error , 400 , JAVA

code小生 - 一文回顧 Java 入門知識(中)

前言 上週發表了推薦學java系列第一篇,內容零基礎小白也能看得懂,今天這篇內容就比較多,也是比較重點的內容,小編會先上一個思維導圖,有助於大家理解每個知識點和層次結構。 知識導圖 説明: 這部分內容可以説是真正進入編程的視界了,因為已經牽扯到邏輯和思維了。首先是最最基礎的 Java 編碼寫法規則和結構,比如導圖裏的:運算符、流程控制語句、循環、數組和方法這些內容;而後面的面向對象、以及面向對象

面向對象編程 , java-se , java開發 , JAVA , 後端

智定義科技 - #智慧文旅整體解決方案:賦能景區智能升級,激活全域營銷勢能

一、背景      隨着科技的不斷髮展,旅遊業正逐步邁向智慧化、信息化。傳統的旅遊管理不足以滿足現代旅遊市場的多樣化需求,需通過建設現代化智慧文旅管理平台,提升旅遊服務質量和管理效率。 二、系統架構 三、軟件結構     本軟件採用的是 uniapp+JAVA 語言開發,編碼規範完全按照阿里巴巴編碼規範     移動端:採用 uni-app 方案,一份代碼多終端適配,同時支持 AP

uniapp , springboot , JAVA , element-ui , html5

豐木 - ES(Elasticsearch)的時間映射

1.自動映射 如果index在創建時,未手動定義schema,而是靠put進第一條數據時自動識別的, 那麼識別規則如下: 1.1 text/long/float的識別 "title": "Elasticsearch In Action"-text "age": 20 - long "rating": 50.40 - float 1.2 date的識別 1.2.1 識別為常規date(IS

elasticsearch

湯卜 - 請求在tomcat源碼中的流轉(源碼分析篇)

Connector的初始化 catalina解析server.xml是通過degister來實現的,degister解析到Connector標籤後做的事情如下代碼所見 ConnectorCreateRule @Override public void begin(String namespace, String name, Attributes attributes)

tomcat , 架構 , 源碼分析 , JAVA , nio

肆式青春 - java測驗

在 Java 開發中,測試是保證代碼質量、可靠性和可維護性的基石。下面我將從測試類型、核心框架、最佳實踐到與持續集成的結合,為你係統介紹 Java 測試。 🧪 Java 測試的主要類型 根據測試的粒度和目標,Java 測試主要分為以下幾種: 單元測試:這是對軟件中最小可測試單元(在 Java 中通常是一個方法或一個類)進行的測試。其目標是驗證每個獨立

測試方法 , 單元測試 , 後端開發 , JAVA

IT利刃出鞘 - Shiro實戰教程(整合SpringBoot,全網最強)

​ 本文介紹一個強大的Shiro實戰教程,用最簡單的代碼、最常用的場景讓你徹底掌握Shiro的用法,成為Shiro實戰高手。本Shiro教程是全網最強的Shiro實戰教程。 教程地址:Shiro項目實戰專欄介紹 - 自學精靈 為什麼這個Shiro教程是全網最強? 其他資料的特點 代碼不全,根本運行不起來。 不包含有無權限、認證、鑑權等多種功能的對比與測試。 只控制了認證(authentic

shiro , JAVA

wzw45233 - java數據類型,BigDecimal判斷是否相等

BigDecimal 是一個用於高精度算術運算的類,提供了多種方法來比較兩個 BigDecimal 對象是否相等。 為什麼不推薦使用 == 首先,需要明確一點:不要使用 == 運算符來比較 BigDecimal 對象。 原因如下: == 比較的是對象的引用(內存地址),而不是對象的值。 即使兩個 BigDecimal 對象的值相同,它們也

運算符 , 實際開發 , System , 後端開發 , JAVA

梁雨季 - java.lang.ClassNotFoundException: javax.servlet.Filter

環境 Linux/Ubuntu20.04LTS IntelliJ IDEA Community Editon 2021.1 maven 3.6.3 jetty 11.0.5 異常 java.lang.ClassNotFoundException: javax.servlet.Filter java.lang.NoClassDefFoundError: javax/servlet/Fil

servlet , JAVA

瘋狂迪霸戈 - idea中git暫存撤銷操作

在 IDEA 中,若已將不需要提交的文件 commit 但未 push,可按以下步驟取消該文件與 Git 的關聯且不提交: 步驟 1:撤銷最近一次 commit(保留工作區文件) 需要先撤銷包含該文件的 commit,但保留文件的本地修改(避免丟失代碼)。 在 IDEA 終端執行命令: git reset --soft HEAD~1 --soft

暫存區 , bash , 後端開發 , JAVA , Git

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

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

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

不止極客 - 百萬架構師第二十五課:分佈式架構的基礎:分佈式系統的基石TCP-IP通訊協議|JavaGuide

原文鏈接 通訊協議在分佈式架構中的核心應用 深入料及TCP/IP和UDP/IP通信協議 TCP流量整形 基於Java自身技術實現系統通訊 多任務處理及優化 瞭解什麼是NIO 組播協議 Multicast 從集中式的架構到分佈式架構粗粒度的架構模型圖 相當於是在整個架構層面上去做一個分層,分層以後會存在按照某一個領域去切分的服務層,存在web層。 ​ 如果我們以前是在一個獨立的服

tcp , 架構 , 網絡 , 分佈式 , 後端

網絡安全守護神 - Java項目性能分析工具(神器)--阿里Arthas

在日常線上排查和性能調優中,除了 top、jmap、jstat 等命令行工具外,Java 自帶和第三方 GUI 工具也非常重要,能更直觀地觀察 JVM 內存、線程、GC 等狀態。 1️⃣ 系統級監控工具 vmstat 作用:週期性統計虛擬內存、CPU、swap 使用情況,並可觀察進程上下文切換。 命令示例:

jvm , 內存泄漏 , 後端開發 , Linux , JAVA

吳大同 - 輕鬆上手 qData 數據中台開源版:Docker Compose 助你10分鐘跑起來

説在前面 誰適合看這份指南? 初次接觸 qData,希望快速體驗功能的小夥伴 不想折騰複雜環境配置和前端打包的人 想用“一鍵啓動”省事體驗完整平台的用户 我們已經為你準備好“開箱即用”的完整部署包,包括: ✅ 前端靜態資源(打包好的 dist 文件夾) ✅ DolphinScheduler 調度器(無需額外安裝) ✅ Hadoop 全家桶(HDFS + YARN) ✅ Flin

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

飛天鑄幣 - redis高頻面試題

緩存穿透 概念 緩存穿透是指查詢一個數據庫中不存在的數據,由於這個數據在緩存不存在,所以會直接跳過緩存,直接請求數據庫。 解決辦法 1. 緩存一個空對象 如果查詢的是一個不存在的數據時,可以設置一個短期過期時間的key的數據,然後將它存入緩存中。 2. 布隆過濾器 2.1 先把緩存中的數據的key值存入到布隆過濾器中 2.2 在查詢緩存前,先判斷當前的key值是否存在於布隆過濾器中,其中分為兩個結

redis , 面試 , JAVA

舒一笑不禿頭 - 用數據照亮成長之路:PandaCoder Git 統計工具窗口

✨ 關於本工具 這份統計報告的初衷,是幫助每一位程序員更清晰地瞭解自己的代碼狀態。 通過觀察代碼的增刪趨勢,我們可以反思:是否每次都在朝着正確的方向前進? 是否能夠一次性寫出高質量的代碼,減少返工和修改? 這不是績效考核工具,而是自我提升的鏡子。 願每一次提交都是深思熟慮的結晶,願每一行代碼都經得起時間的考驗。 —— 讓代碼更優雅,讓技術更精進 📊 什

intellij-idea , 代碼質量 , 代碼規範 , 後端 , Git

Meng小羽 - Phoenix框架 從0到1設計業務併發框架 小米商城產品站革新之路

前言 小米商城產品站之前由於歷史原因,存在着諸多問題與不便,隨着技術的快速變革,技術部中台化的建設,越來越不適用於現在快速迭代的業務需求,接下來我將以技術的視角講解我們遇到的痛點,以及解決這些痛點的思路,也就是 Phoenix 框架誕生的故事。 為啥要進行設計一個框架,其實是業務發展導向的結果,若是我們不進行設計,那麼我們會遇到如下一些問題: 在新的產品需求規劃下,無法承接大型項目,只能進行小

框架 , 架構設計 , JAVA , 併發

軟件求生 - 從 0 到 1 玩轉 Spring AI + 智譜 AI 向量模型,RAG 工程師都在用!

事情是這樣的。 上週,我負責的一個智能問答項目,老闆突然説一句話: “小米啊,我們要做知識庫檢索,搞個類似 RAG 的東西,支持語義搜索。” 我當場愣住:語義搜索?知識庫?向量?Embedding? 老闆微微一笑:“別慌,用 SpringAI 接智譜 AI。” 那一刻,我的人生彷彿聽見了 命運的 Callback。於是,就有

機器學習 , yyds乾貨盤點 , 搜索 , 屬性表 , 向量空間 , 人工智能

Enaium - Java革命性ORM框架Jimmer簡單介紹

首發於Enaium的個人博客 本文使用Jimmer的官方用例來介紹Jimmer的使用方法,Jimmer同時支持Java和Kotlin,本文使用Java來介紹,實際上Kotlin比Java使用起來更方便,這裏為了方便大家理解,使用Java來介紹,本篇文章只是對Jimmer的一個簡單介紹,更多的內容請參考官方文檔 這裏開始就不從實體類開始介紹了,這裏簡單的把用到的三張表之間的關係介紹一下: Bo

orm , 框架 , JAVA , 後端 , 前端

JavaGuide - Redis大key有什麼危害?如何排查和處理?

這個問題在面試中還是比較容易遇到的,尤其是在考察 Redis 性能優化相關知識點的時候。 通常情況下,問了 bigkey(大 Key)還會繼續問 hotkey(熱 Key)。即使不準備面試也建議看看,實際開發中也能夠用到(hotkey 相關的內容會在下一篇文章中提到)。 什麼是 bigkey? 簡單來説,如果一個 key 對應的 value 所佔用的內存比較大,那這個 key 就可以看作是 big

redis , JAVA , redis集羣 , 後端