收藏 / 列表

軟件求生 - 為什麼 Redis 單線程卻比多線程還快?真實原因震撼我

大家好,我是小米,一個在互聯網研發裏滾了十來年、對技術既執着又好奇、寫代碼比寫週報開心的 31 歲男人。 今天這篇文章想和你聊聊一個面試“高頻炸裂”的問題——Redis 線程模型到底是怎麼回事? 別小看這個問題,它比你想象的“壞”多了。 有一次我去一家還算知名的互聯網公司面試,面試官是個戴着黑框眼鏡、看起來很斯文的小哥,但當他一開口,我立馬意識到這人不好

單線程 , redis , yyds乾貨盤點 , 數據庫 , 多線程

老污的貓 - 領域驅動設計(Domain-Driven Design)

DDD 全稱Domain-Driven Design,意為領域驅動設計,是一種軟件開發的方法論,強調通過領域模型來指導複雜系統的設計與開發,核心概念如下 限界上下文(Bounded Context) 實體(Entity)、值對象(Value Object) 聚合(Aggregate)、領域事件(Domain Event) 通用語言(Ubiquitous Language) DDD M

程序員

大廠碼農老A - CR被批“寫得像坨屎”,我三句話讓他當場閉嘴

這坨屎山,我接了 大家好,我是老A。 我想很多程序員有過這種經歷,新接手一個項目,打開工程一看,妥妥的一大坨🤦,內心OS:好嘛,又要“屎山雕花”了。。。 我這兩年在做電商業務,所以業務上經常會搞大促,3天一小促,5天一大促,作為技術早就習慣了這種研發節奏(倒排)。今年6月是我們業務年中的一次大型大促,所以5月份的需求爆炸多,基本都是倒排,業務天天拿着大喇叭在我們屁股後喊📢:這個需求不做就

segmentfault , springboot , JAVA , 程序員 , 後端

悲傷的鴨蛋 - Mybatis常見運行報錯(持續更新...)

報錯一: Caused by: org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1 解決辦法: setting - Editor - File Encodings,編碼方式都選擇UTF-8 報錯二: Cause: java.sql

MySQL , JAVA , Mybatis , Web

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

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

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

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

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

tcp , 計算機網絡 , 後端

seazhan - 【手寫 RPC】手寫一個RPC框架 使用Netty + java虛擬線程

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

框架學習 , 協程 , rpc , JAVA

王中陽講編程 - 我發現不管是Java還是Golang,懂AI之後,是真吃香!

見字如面,我是陽哥,我的文章都首發在同名公眾號:王中陽,歡迎鏈接。 兄弟們,不管你是什麼崗位,強烈建議學AI,我最近輔導的同學很多都是因為做了AI項目,拿到了遠超預期的Offer。 這篇文章不是廣告,而是告訴你怎麼在懂後端基礎之後,更好的擁抱AI的技術,怎麼學,學完後怎麼應用? 甚至你想跳槽漲薪的話,怎麼把學的AI知識寫到簡歷中,融合到你過去的項目中。 廢話不説,其實兄弟們也感受到了:純做

llm , 人工智能 , prompt , go , 後端

字節幺零二四 - 併發編程:Java常用線程調度方法及實現原理

本文將介紹Java常用線程調度方法及實現原理,包括sleep、wait¬ify、join、parkunpark。 線程方法 方法 説明 start() 用於啓動線程,讓線程進入就緒狀態 ; RUNNABLE 多次調用拋 IllegalThreadStateException 異常 run() 線程運行

JAVA , 併發 , juc

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

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

webflux , springcloud , springboot , JAVA

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

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

leetcode , , JAVA

wasdquiop - centos7 安裝 nginx

centos7 安裝 nginx 安裝包 鏈接: https://pan.baidu.com/s/1kpAYYX_yy-vXX-1vsCPhoA 提取碼: qrtb 上傳 新創建usr/local/nginx文件夾,放到文件夾下 解壓 tar -zxvf nginx-1.9.9.tar.gz 安裝編譯環境 安裝gcc,源碼編譯依賴 gcc 環境 yum -y install gcc-c+

centos7 , Linux , JAVA , Nginx

我不是碼農 - 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陳序員 - 替代 JIRA!一款功能強大的開源項目管理工具!

大家好,我是 Java陳序員。 在團隊開發項目的時候,常常會使用到項目管理工具,方便跟蹤項目進度、團隊協作以及文檔整理等。 今天,給大家介紹一款功能強大的開源項目管理工具,可替代 JIRA! 關注微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典計算機電子書籍等。 項目介紹 openproject —— 一個功能強大的開源項目管理軟件,適用於團隊協作、敏捷開發和項

ruby-on-rails , angular , MySQL , postgresql , Docker

呀哈哈kk - 【詳解】Python獲取系統性能信息

Python獲取系統性能信息 在開發和維護應用程序的過程中,瞭解系統的性能狀態是至關重要的。這不僅可以幫助我們優化程序的運行效率,還可以及時發現並解決潛在的問題。Python 作為一種強大的編程語言,提供了多種方式來獲取系統的性能信息。本文將介紹如何使用 psutil 庫來獲取包括CPU、內存、磁盤和網絡在內的系統性能數據。 安裝 psutil psutil(P

sed , 後端開發 , 磁盤分區 , JAVA , 網絡接口

journey - 大話網絡通信

1、術語 併發 vs 並行 併發和並行是相關的概念,但有一些小的區別。併發意味着兩個或多個任務正在取得進展,即使它們可能不會同時執行。例如,這可以通過時間切片來實現,其中部分任務按順序執行,並與其他任務的部分混合。另一方面,當執行的任務可以真正同時進行時,就會出現並行 簡單説啓動一個線程在一個core上就是並行,啓動兩個線程在一個core上就是併發 異步 vs 同步 如果調用者

同步 , bios , nio , 異步

mb61c46a7ab1eee - 對圖片進行解釋的大語言模型 - 實踐

文章目錄 @[toc] 一、 能夠對圖片進行解釋的大語言模型有哪些? 1. 閉源/商業API(直接使用,無需部署) 2. 開源/可自部署(重點) 二、 開源的有哪些? 三、 哪些可以部署在自己的機器上? 四、 對機器的最低要求是什麼? 分級推薦配

API , 語言模型 , 後端開發 , 模態 , harmonyos

CodePulse代碼脈搏 - 實時代碼分析與智能指導

基於Python開發一個智能編程學習助手,專注於代碼分析和實時指導。 核心功能設計 # ai_coding_tutor.py import ast import inspect from typing import Dict, List, Optional from dataclasses import dataclass from pathlib impo

後端開發 , JAVA , HTML , Json , Python

sangwu - 70. 爬樓梯

70. 爬樓梯 假設你正在爬樓梯。需要n階你才能到達樓頂。 每次你可以爬1或2個台階。你有多少種不同的方法可以爬到樓頂呢? 示例 1: 輸入:n = 2 輸出:2 解釋:有兩種方法可以爬到樓頂。 1. 1 階 + 1 階 2. 2 階 示例 2: 輸入:n = 3 輸出:3 解釋:有三種方法可以爬到樓頂。 1

狀態轉移 , 數組 , yyds乾貨盤點 , i++ , 後端開發 , JAVA

虎斑嘟嘟 - 多模態對齊的表示學習:統一對比散度框架詳解

多模態對齊的表示學習:統一對比散度框架詳解 1. 引言:多模態對齊的核心挑戰 多模態表示學習作為人工智能領域的前沿方向,旨在使機器能夠像人類一樣理解和處理文本、圖像、音頻等不同模態的信息。其核心挑戰在於如何構建一個共享的語義空間,使得異構數據在這個空間中可以相互對齊和理解。 不同模態數據之間存在三大根本矛盾:符號系統的異構性(自然語言基於離散符號系統,而視覺、聽

yyds乾貨盤點 , 錨點 , 相似度 , 後端開發 , JAVA , 模態

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

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

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

大丸子 - Python讀取PDF:文本、圖片與文檔屬性

在日常的數據採集、文檔歸檔與信息挖掘過程中,PDF格式因其版式固定、內容穩定而被廣泛使用。Python 開發者若希望實現 PDF 內容的自動化提取,選擇一個易用且功能完善的庫至關重要。本文將介紹如何使用Python實現 PDF文本提取、圖片提取 以及 文檔屬性讀取 三大核心操作,適用於信息抽取、電子檔案處理等場景。 Python讀取PDF文本 Python讀取PDF圖片 Python讀取P

pdf導出 , 文檔管理工具 , 圖片處理 , pdf , Python

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

一、為什麼要遷移到 K8s?Docker Compose 的 3 個不可逾越瓶頸 1. Docker Compose vs K8s:核心能力對比(遷移的本質原因) 能力維度 Docker Compose(單機

Deployment , Pod , yyds乾貨盤點 , 後端開發 , JAVA , Docker