收藏 / 列表

老污的貓 - Java 二分法查詢

public static void main(String[] args) { Integer target = 7; // 初始化數據 ListInteger data = Arrays.asList(0, 1, 3, 5, 7, 9, 2, 4, 6, 8, 10); // 排序 Collections.sort(data); // 輸出

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 - 【手寫 RPC】手寫一個RPC框架 使用Netty + java虛擬線程

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

框架學習 , 協程 , rpc , JAVA

王中陽講編程 - 靈活分庫分表,面試的時候這麼説,加分!

最近收到一位粉絲的提問,關於分庫分表在面試中如何結合業務邏輯舉例的問題。 他提到之前使用 serverless 數據庫時沒涉及分庫分表,現在遇到了具體場景,想請教合適的方案。 這其實是面試中很常見的考點,既要看技術思路,更要看能否結合業務落地,今天就藉着這個問題展開聊聊。 前言 怕有些朋友沒有了解過這方面的知識點,先來解釋一下這些概念: 分庫分表的核心目標:解決單庫單表因數據量過大(如千萬 /

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

lindsay_bubble - Leetcode 84_柱狀圖中最大的矩形

給定 n 個非負整數,用來表示柱狀圖中各個柱子的高度。每個柱子彼此相鄰,且寬度為 1 。 求在該柱狀圖中,能夠勾勒出來的矩形的最大面積。 想法:感覺這個題考的是數學,是邏輯。 怎麼找矩形呢?就是當前位置的最高點,向左和向右畫矩形,找他比他矮的點left, right,就停止。 高度就是height[i] 寬度就是(right-left+1)-2,因為找到的那兩個點是不能算進

leetcode , , JAVA

wasdquiop - javaScript正則表達式

JavaScript RegExp 對象 RegExp:是正則表達式(regular expression)的簡寫 正則表達式用於對字符串模式匹配及檢索替換,是對字符串執行模式匹配的強大工具 語法: var patt=new RegExp(pattern,modifiers); 或者 var patt=/pattern/modifiers; 其中: pattern:代表正則表達式

字符串 , 正則表達式 , Javascript

witt - 優雅關閉maven-default-http-blocker?

關鍵詞:maven 、 maven-default-http-blocker 、 mvn block 當maven升級到3.8.1之後,會遇到一個報錯Could not validate integrity of download from,其中包含maven-default-http-blocker關鍵詞,核心原因是maven 3.8.1之後認為HTTP不安全,禁用了HTTP的maven倉庫訪問

maven3 , maven , JAVA

步履不停 - Netty學習三

本文主要梳理下Netty裏的EventLoop。 EventLoop並非Netty所獨有,它是一種事件等待和處理的程序模型,可以解決多線程資源消耗高的問題,EventLoop在node.js中也有使用。下圖是EventLoop通用的運行模式。每當事件發生時,應用程序都會將產生的事件放入事件隊列中,然後EventLoop會輪詢從隊列中取出事件執行或者將事件分發給相應的事件監聽者執行。事件執行的方式通

websocket , tcp , netty , JAVA

Java陳序員 - 一款極簡的聊天應用

大家好,我是 Java陳序員。 今天,給大家介紹一個開源的聊天應用程序,支持PC端和移動端。 關注微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典計算機電子書籍等。 項目介紹 HasChat —— 一個基於 Vue3 + Socket.io 的聊天應用,同時支持PC端和移動端。 功能特性: 技術棧: PC 網頁版前端:Vue3 + Vite + TypeS

express , vue.js , github , 數據庫

半夏之沫 - JAVA虛擬機-方法區與字符串常量池

大家好,我是半夏之沫 😁😁 一名金融科技領域的JAVA系統研發😊😊 我希望將自己工作和學習中的經驗以最樸實,最嚴謹的方式分享給大家,共同進步👉💓👈 👉👉👉👉👉👉👉👉💓寫作不易,期待大家的關注和點贊💓👈👈👈👈👈👈👈👈 👉👉👉👉👉👉👉👉💓關注微信公眾號【技術探界】 💓👈👈👈👈👈👈👈👈 前言

jvm , 虛擬機 , jdk8 , JAVA , string

jacheut - JAVA IO流簡介

1. IO流概述 IO,即in和out,也就是輸入和輸出,指應用程序和外部設備之間的數據傳遞,常見的外部設備包括文件、管道、網絡連接。 流(Stream),是一個抽象的概念,是指一連串的數據(字符或字節),是以先進先出的方式發送信息的通道。 關於流的特性有下面幾點: 1.先進先出:最先寫入輸出流的數據最先被輸入流讀取到。 2.順序存取:可以一個接一個地往流中寫入一串字節,讀出時也將按寫

JAVA , io

福 - BlockingQueue - 基於TransferStack的SynchronousQueue

ThreadPoolExecutor以BlockingQueue存儲待執行任務,包括SynchronousQueue、LinkedBlockingQueue和ArrayBlockingQueue,今天的目的是源碼角度深入研究SynchronousQueue。 之後計劃是繼續研究LinkedBlockingQueue和ArrayBlockingQueue,搬開所有絆腳石之後再開始線程池。 基本概念#

多線程 , JAVA , 阻塞隊列 , 隊列

點墨 - JavaScript計算字符串實際長度

計算字符串的實際長度,雙字節字符(包括漢字在內)長度計2,ASCII字符計1 方法1:使用match: export function getByteLenMatch(data) { let result = 0; for (let s of data) { result += s.match(/[^\\x00-\\xff]/ig) == null ? 1 : 2; } r

長度 , string , Javascript

清醒的人最荒唐 - ImportBeanDefinitionRegistrar與BeanDefinitionRegistryPostProcessor的區別

概述 如果想實現自定義註冊bean到spring容器中,常見的做法有兩種 @Import+ImportBeanDefinitionRegistrar BeanDefinitionRegistryPostProcessor BeanDefinitionRegistryPostProcessor與ImportBeanDefinitionRe

spring , 自定義 , 後端開發 , JAVA , ide

湯太鹹 - 面向對象設計原則

開閉原則(Open Closed Principle,OCP):當應用的需求改變時,在不修改軟件實體的源代碼或者二進制代碼的前提下,可以擴展模塊的功能,使其滿足新的需求。 里氏替換原則(Liskov Substitution Principle,LSP):子類可以擴展父類的功能,但不能改變父類原有的功能。也就是説:子類繼承父類時,除添加新的方法完成新增功能外,儘量不要重寫父類的方法。

JAVA , 面向對象設計模式

華為雲開發者聯盟 - 雲小課 | “VPC連接”知多少

摘要:華為雲提供了豐富的網絡服務,可滿足多種網絡互連場景。 同Region的兩個VPC怎麼連通?” “跨Region的兩個VPC又怎麼連通?” “VPC內的ECS搭建了一個應用,需要訪問Internet,怎麼弄?” “某客户的業務一部分在香港,一部分在大陸,怎麼經濟可靠的連接起來?” “某客户既有本地的數據中心,又想把一部分業務放到雲上,怎麼玩?” …… …… 網絡域大家族提供了豐富的雲產

idc , internet-explorer , 華為雲 , 私有云 , 網絡

cicadasmile - 如何將「知識」體系化管理

積累和總結,是長期持續的過程 01 最近,很多朋友微信私聊關於「butte-java-note」倉庫的話題; 這個「Git倉庫」每年都會基於總結和思考,進行一次分類體系的改動; 多數朋友都比較好奇,整理的思路是什麼? 關於「butte-java-note」倉庫,其實就是個人對知識的積累和框架體系的迭代; 這個倉庫所記錄的內容,就是在工作中不斷遇到的各種「知識點」、「知識塊」、「知識體系」; 在工作

職場 , 知識體系

mob64ca13fe62db - stageMode模式 INSTALL_PARSE_FAILED_USESDK_ERROR stage setting

這章中使用的示例,會延續上一章創建的Rails應用chapter2,但是我們會創建一個新的controller。在終端下執行: script/generate controller chapter3 index get_time repeat reverse

機器學習 , xhtml , HTTP , ViewUI , 人工智能 , HTML , Javascript

mizeyar - Java + Fuseki 實戰:一鍵創建圖譜、自動推理隱含知識

Java + Fuseki 實戰:一鍵創建圖譜、自動推理隱含知識 在企業級知識圖譜系統中,數據的全生命週期管理(創建、寫入、更新、刪除、查詢)和語義推理能力是實現智能決策的關鍵。Apache Jena Fuseki 作為標準的 SPARQL 服務,提供了完整的 HTTP 接口支持。本文將通過完整代碼示例,演示如何在 Java 應用中:

知識挖掘 , MySQL , 推理服務 , 知識圖譜 , 數據庫 , fuseki , JAVA

野小白 - Spring Data JPA如何保持camelCase默認轉為snake_case,並防止對@Column註解的名字進行轉換

需求背景 對服務進行重構、遷移時,需要對MySQL表列進行映射,但一些老服務上往往存在列命名不規範的問題,大部分仍是snake_case,但也還是存在一些camelCase和PascalCase。如果直接更改原服務中的列命名,需要配合修改兩邊服務中的代碼,代價比較大。儘量希望新服務能夠適配原列名,等全部遷移完成後,再用遷移腳本進行統一更改。 默認設置下,沒有@Column註解的列名會轉為snake

spring , jpa , springboot , JAVA , spring-data-jpa