收藏 / 列表

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

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

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

filter , JAVA , token , Jwt

打盹的猴子 - Java 設計模式:裝飾者模式(Decorator Pattern)

一、模式定義 裝飾者模式屬於結構型設計模式,允許通過動態包裝對象的方式為對象添加新功能,提供比繼承更靈活的擴展方式。該模式通過組合替代繼承,遵循開閉原則(對擴展開放,對修改關閉)。 二、核心角色 Component(組件接口) 定義被裝飾對象的公共接口 ConcreteComponent(具體組件) 實現基礎功能的具體類 Dec

裝飾者模式 , 設計模式 , JAVA

牛肉燒烤屋 - TCP 真的存在“粘包”問題嗎?

引言 許多開發者都曾面對過這樣一個的問題:明明分別調用兩次send()發送了"Hello"和"World",接收方卻可能在一個recv()調用中讀到完整的"HelloWorld";或是發送了一個完整的 JSON 對象,接收端卻需要多次讀取才能拼湊出完整數據。這種現象被中文技術社區廣泛稱為“TCP 粘包” 然而,若我們深入 TCP 協議的設計本質,會發現一個令人困惑的矛盾——RFC 文檔中從未定義過

tcp , 計算機網絡 , 後端

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

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

多線程 , JAVA

王中陽講編程 - 微服務門檻高到勸退?其實 90% 的人都踩錯了第一步

你是否也曾陷入這樣的循環:對着《微服務架構設計模式》啃了半年理論,卻連一個完整的服務拆分案例都寫不出來;GitHub上star過幾十個微服務開源項目,下載後看着幾百個模塊的代碼樹,連啓動命令都找不到;好不容易搭起一套框架,一到高併發場景就各種報錯,排查三天發現是服務註冊中心的配置沒配對…… 微服務的門檻,從來不在知道名詞,而在落地能力。今天結合幾個主流開源項目的實戰體驗,聊聊從看懂代碼到做出能用的

微服務 , 後端

Awbeci - SpringCloud-WebClient使用Get和Post請求

前言 這是一篇關於SpringCloud中使用webclient調用微服務的總結性文章,使用期間遇到好多問題及其解決方法,希望幫助到大家。 準備 首先我們在SpringCloud項目中配置WebClient,如下所示: @Component public class WebClientConfig { @Bean @LoadBalanced public WebClient

springcloud , JAVA

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

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

leetcode , , JAVA

wasdquiop - 常用正則表達式整理

常用正則表達式(持續更新) 校驗數字 1 數字:^[0-9]*$ 或者 ^\d$ 2 n位數字:^\d{n}$ 3 正整數:^(0?|[1-9]\d*)$ 4 最多兩位小數:^(0?|[1-9]\d*)(.\d{1,2})?$ 校驗字符 1 漢字:^[\u4e00-\u9fa5]+$ 2 英文和數字:^[A-Za-z0-9]+$

字符串 , 正則表達式 , 程序員

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

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

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

express , vue.js , github , 數據庫

jacheut - JAVA IO流簡介

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

JAVA , io

碼猿技術專欄 - SpringBoot可以同時處理多少請求?

大家好,我是不才陳某~ 我們都知道,SpringBoot默認的內嵌容器是Tomcat,也就是我們的程序實際上是運行在Tomcat裏的。所以與其説SpringBoot可以處理多少請求,倒不如説Tomcat可以處理多少請求。 關注公眾號:碼猿技術專欄,回覆關鍵詞:1111 獲取阿里內部性能調優手冊 關於Tomcat的默認配置,都在spring-configuration-metadata.json文件

spring , 微服務 , spring-mvc , springboot

福 - BlockingQueue - 基於TransferStack的SynchronousQueue

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

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

點墨 - likely()/unlikely()宏的編譯器優化機制分析

引言 在Linux內核源碼中,我們經常看到if(likely(condition))和if(unlikely(condition))這樣的代碼結構。這些宏通過指導編譯器進行分支預測優化,可以顯著提升程序性能。本文將深入分析其工作原理,並通過彙編代碼展示實際優化效果。 核心原理 likely()和unlikely()宏的本質是調用GCC內置函數: #define likely(x) __buil

likely-unlikely , 編譯 , Linux , 優化

程序員波特 - 三萬字長文總結常見的線性結構

前言   本篇博客主要是記錄手寫這些這數據結構的底層實現,加深對線性結構的理解,實現自己的一個小型數據結構庫,也會進行簡單的時間複雜度分析,對不同的實現進行比較和優化,即側重於代碼實現。由於數據結構是實踐性比較強的一個科目,希望大家在看這篇博客時,自己也去寫一下代碼,看一下運行結果是不是自己想要的,我也會貼出我的運行結果來進行分析。 數組 數組介紹   數組是在內存中存儲相同數據類型的連續的空間,

數組 , 數據結構 , 鏈表 , JAVA , 隊列

尼古拉斯舞王 - 內連接與隱式內連接:SQL連接的本質解析

學習目標: 學習 在SQL查詢中,數據表的連接操作是我們日常開發中最常用的功能之一。今天我們來深入探討兩種實現內連接的方式:顯式內連接和隱式內連接,看看它們之間的區別以及如何選擇。 什麼是內連接? 首先,讓我們明確內連接的核心概念:內連接只返回兩個表中連接條件匹配的行。如果某行在其中一個表中沒有匹配項,那麼這行數據就不會出現在結果集中。 顯式內連接(EXPLICIT

顯式 , 內連接 , 後端開發 , JAVA , SQL

清醒的人最荒唐 - SpringBoot實現自定義路由覆蓋

背景 公司最近有一個項目二期需要對一些功能進行改造,涉及部分框架內置業務接口個性化定製,兼容老接口功能並且增加一部分新的數據返回,由於前端調用這些接口分佈較多且較為零碎,修改測試成本較大,所以打算在框架層面提供路由覆蓋功能,加快項目進度減少無技術含量的修改帶來的系統風險 設計 提供自定義註解指定需要覆蓋的路由及新路由地址 系統啓動時掃描所有註解

系統啓動 , List , 自定義 , 後端開發 , JAVA

湯太鹹 - JAVA基礎知識String以及文件目錄讀取

String基礎 String s = "Hello World!"; s.chars().mapToObj(letter - (char)letter) .map(Character::toUpperCase) .forEach(System.out::print); //輸出 HELLO WORLD! StringBuffer是同

JAVA , string

華為雲開發者聯盟 - 事件Event:帶你體驗鴻蒙輕內核中一對多、多對多任務同步

摘要:本文通過分析鴻蒙輕內核事件模塊的源碼,深入掌握事件的使用。 本文分享自華為雲社區《鴻蒙輕內核M核源碼分析系列十二 事件Event》,原文作者:zhushy 。 事件(Event)是一種任務間通信的機制,可用於任務間的同步。多任務環境下,任務之間往往需要同步操作,一個等待即是一個同步。事件可以提供一對多、多對多的同步操作。本文通過分析鴻蒙輕內核事件模塊的源碼,深入掌握事件的使用。本文中所

iot , 事件 , 開源 , 任務管理器 , harmonyos

mob64ca13fe62db - Unity Shader學習:貼花(Decal)

Unity URP中的Decal(貼花)系統是一種用於將材質投射到場景幾何體表面的技術,主要用於實現血跡、彈孔、塗鴉等動態表面裝飾效果。以下是詳細解析: 核心功能與用途 動態投影:通過Decal 【從UnityURP開始探索遊戲渲染】專欄-直達 Unity URP中的Decal(貼花)系統是一種用於將材質投

性能優化 , 世界座標 , 貼圖 , 前端開發 , Javascript

huan1993 - Transaction rolled back because marked as rollback-only問題解決

1、背景 在我們的日常開發中,經常會存在在一個Service層中調用另外一個Service層的方法。比如:我們有一個TaskService,裏面有一個execTask方法,且這個方法存在事務,這個方法在執行完之後,需要調用LogService的insertLog方法記錄一條日誌,這個方法上也有事務,不管日誌記錄成功還是失敗,都不能影響execTask方法的執行。因此我們很容易寫出如下代碼。 @Tr

spring , springboot , JAVA , 事務 , 後端

mb61c46a7ab1eee - 實用指南:電壓源和電流源學習理解

文章目錄 前言 一、什麼是電壓源 二、什麼是電流源 三、為什麼要分這兩種?它們分別是什麼用途? 1. 用途:電壓源 2. 用途:電流源 四、目前的主流的設計路線 4.1高精度低噪聲電壓源主流硬件設計開發路線 4.2高精度電流源目前的主流硬件設計開

電流源 , 硬件設計 , 高精度 , 前端開發 , Javascript