收藏 / 列表

軟件求生 - 深夜調Bug:那次我被@OneToMany坑到懷疑人生

大家好,我是小米,一個31歲的Java後端開發者。 我發現程序員這行啊,最容易讓人“精神內耗”的不是加班、不是需求改動,而是——被註解支配的恐懼。 有一天,我在項目裏寫了一個看似普通的實體類映射,然後一運行,控制枱瞬間爆紅: com.fasterxml.jackson.databind.JsonMappingException: Infinit

Spring Boot , yyds乾貨盤點 , 遞歸 , 外鍵 , 後端開發 , jpa

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

悲傷的鴨蛋 - Maven、測試、Junit依賴

Maven的作用 管理依賴:通過pom.xml管理項目依賴的資源(jar包)。(不再需要每次都手動導入jar包) 項目構建(標準化跨平台的項目構建方式):complie,test,package,install(編譯,測試,打包,發佈)等項目構建流程 統一項目結構:提供標準、統一的項目結構(主程序,測試程序) 倉庫:用於存儲資源,管理各種jar包。 本地倉庫:自己計算機上的

junit , maven , 測試 , JAVA

打盹的猴子 - 跨域請求(CORS)如何解決?

1. CORS 產生的原因 CORS 全稱為(Cross-Origin Resource Sharing:跨站資源共享),跨域請求是由於瀏覽器的同源策略(Same-Origin Policy)引起的,那麼 CORS 的產生和瀏覽器的同源策略有關係,我們先了解什麼是同源策略。 2. 什麼是同源策略 SOP 是所有的現代瀏覽器都具備的安全措施,它不允許從一個加載的js腳本和資源的 Origin 域與另

JAVA , 跨域 , Javascript

vivo互聯網技術 - 高性能無鎖隊列 Disruptor 核心原理分析及其在i主題業務中的應用

作者:來自 vivo 互聯網服務器團隊- Li Wanghong 本文首先介紹了 Disruptor 高性能內存隊列的基本概念、使用 Demo、高性能原理及源碼分析,最後通過兩個例子介紹了 Disruptor 在i主題業務中的應用。 一、i主題及 Disruptor 簡介 i主題是 vivo 旗下的一款主題商店 app,用户可以通過下載主題、壁紙、字體等,實現對手機界面風格的一鍵更換和自定義。 D

內存 , 緩存 , 隊列

牛肉燒烤屋 - 詳解分佈式緩存不一致性的所有情況!除了分佈式緩存外,其它場景又是如何解決緩存一致性的呢?

[toc] 引言 持久化層和緩存層的一致性問題也通常被稱為「雙寫一致性問題」,“雙寫”意為數據既在數據庫中保存一份,也在緩存中保存一份。對於一致性來説,包含強一致性和弱一致性,強一致性保證寫入後立即可以讀取,弱一致性則不保證立即可以讀取寫入後的值,而是儘可能的保證在經過一定時間後可以讀取到,在弱一致性中應用最為廣泛的模型則是最終一致性模型,即保證在一定時間之後寫入和讀取達到一致的狀態。 我們一般會

redis , 緩存 , JAVA , 一致性

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

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

框架學習 , 協程 , rpc , JAVA

王中陽講編程 - 為啥用GoZero快速實現AI應用開發後,我們又決定用字節的Eino重構優化項目呢?

大家好,我是王中陽,見字如面,感謝閲讀! 最近我們團隊在瘋狂的研究AI。期間不僅做了幾個還不錯的項目,也踩坑不少。下面我就分享一下,過去用GoZero開發了怎樣一個AI應用,以及為什麼現在要用字節的Eino重構和優化。 我們過去基於gozero實現AI面試官智能體項目,一方面搞定了從0到1開發AI智能體應用,各種造輪子;另一方面,模擬面試,也是我粉絲股東們很迫切的需求。 之所以使用GoZero,是

人工智能 , 程序員

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

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

JAVA , 併發 , juc

Awbeci - Next.js 14集成next-auth(v5)和redux-toolkit最佳實踐

前言 自從next.js14發佈之後,app router變成了官網主推的架構區別於pages router的傳統架構,app router更適合最新的react,於是自己動手把next-auth、redux-toolkit、ant-design、tailwindcss也一同集成進來,分享給大家,如果有錯誤之處歡迎大家指正。 操作 1、創建項目 使用下面命令創建項目,並且選擇tailwind cs

next-auth , redux , next.js

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 - 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

江南一點雨 - 手把手教小夥伴們使用 Nginx 部署 TienChin 項目!

今天我就來手把手教小夥伴們部署 TienChin 項目,一起把這個項目跑起來,看看到底是個什麼樣的項目。 小夥伴們知道,對於這種前後端分離的項目,我們在實際部署的時候,可以按照前後端分離的方式來部署,也可以按照前後端不分的方式來部署。接下來兩種不同的部署方式我都和小夥伴們來分享一下。 1. 前後端分離部署 1.1 部署架構圖 前後端分離部署的話,我們一般是需要一個 Nginx 服務器,我先畫一個簡

前後端分離 , Nginx

Java架構師 - 騰訊架構師極力推薦:Java多線程與Socket實戰微服務框架

在這個技術不斷更新的年代,跟不上時代變化的速度就會被刷掉,特別是咱們程序員這一羣體,技術不斷更新的同時也要同時進步,不然長江後浪推前浪,前浪...... 一個程序員從一個什麼都不懂的小白在學到有一定的Java基礎的時候肯定是要學習更多的技術充實自己,甚至還要往架構師方向靠。但是一個優秀的架構師必須要有紮實的編程功底和豐富的理論知識,不光要能完成架構設計,更要有能力將設計轉換為實際的產品。不會寫代碼

socket , 微服務 , 多線程 , JAVA , 程序員

wx690f565d7bc78 - 從 BPMN 到 Flowable

BPMN 是業務流程建模與標註的標準,Flowable 是基於 BPMN 標準的開源流程引擎,核心是將 BPMN 設計的流程模型落地為可執行的業務流程。 核心關聯:BPMN 是標準,Flowable 是落地工具 BPMN 定義流程的可視化規範(如流程圖元素、網關、任務類型等),解決 “流程怎麼畫” 的問題。 Flowable 支持 BPMN 2.0

業務流程 , MySQL , 可執行 , 流程模型 , 數據庫

呀哈哈kk - 【詳解】Kali安裝BCM43142802.11b/g/nLinux驅動

Kali安裝BCM43142802.11b/g/n Linux驅動 在使用Kali Linux時,有時會遇到無線網卡驅動不兼容的問題。本文將詳細介紹如何在Kali Linux上安裝Broadcom BCM43142 802.11b/g/n的Linux驅動。 環境準備 操作系統:Kali Linux 2023.1 硬件:帶有BCM43142無線網

驅動程序 , 加載 , 無線網卡 , 後端開發 , JAVA

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

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

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

mb61c46a7ab1eee - 策略模式詳情 - 實踐

策略模式:定義一組算法,將每個算法封裝起來,使它們可以互相替換,且算法的變換不會影響使用算法的客户。 • 抽象策略(Strategy)類:這是一個抽象角色,通常由一個接口或抽象類實現。此角色給出所有的具體策略類所需的接口。 • 具體策略(Concrete Strategy)類:實現了抽象策略定義的接口,提供具體的算法實現或行為。

System , 封裝 , MySQL , 數據庫 , 策略模式

資深程序設計 - 基於大數據的信貸風險評估的數據可視化分析與預測系統

1 研究背景 在現代金融市場中,信貸業務作為金融機構的核心業務之一,對於促進經濟增長、推動企業發展以及滿足個人資金需求等方面發揮着至關重要的作用。信貸業務的快速發展也伴隨着信貸風險的不斷積累。信貸風險主要包括信用風險、市場風險和操作風險等,其中信用風險尤為突出。信用風險是指借款人因各種原因未能按時足額償還貸款本息,從而給金融機構帶來損失的可能性。隨着全球經濟形勢的複雜多變、

機器學習 , 信貸分析 , yyds乾貨盤點 , 數據 , 數據可視化 , 後端開發 , Python

Turbo_K - ThreadLocal有什麼缺點?

ThreadLocal 是 Java 中一個用於為每個線程提供獨立變量副本的類,它允許每個線程都能獨立地訪問和修改變量,避免了多線程間的競爭和同步問題。它是通過在每個線程中維護一個 線程局部變量 來實現的,通常用於線程間的數據隔離。 然而,ThreadLocal 並不是完美的,它有一些缺點和潛在的問題,特別是在多線程和資源管理方面。以下是 ThreadLocal 的一些主要

線程池 , 後端開發 , 多線程 , JAVA , 解決方案

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

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

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