@JAVA

动态 列表
@uname67

Java AtomicInteger類使用

一個計數器 對於普通的變量,在涉及多線程操作時,會遇到經典的線程安全問題。考慮如下代碼: private static final int TEST_THREAD_COUNT = 100; private static int counter = 0; public static void main(String[] args) { final CountDownLatch latch

uname67 头像

@uname67

昵称 ufdf

@jeecg

MiniDao1.8.3 版本發佈,輕量級Java持久化框架

項目介紹 MiniDao 是一款輕量級JAVA持久層框架,基於 SpringJdbc + freemarker 實現,具備Mybatis一樣的SQL分離和邏輯標籤能力。Minidao產生的初衷是為了解決Hibernate項目,在複雜SQL具備Mybatis一樣的靈活能力,同時支持事務同步。 當前版本:v1.8.3 | 2021-08-09 源碼下載 https://github.com/zha

jeecg 头像

@jeecg

昵称 JEECG低代碼平台

@xiaoyongyong

SpringBoot自定義校驗註解

校驗註解的作用 系統執行業務邏輯之前,會對輸入數據進行校驗,檢測數據是否有效合法的。所以我們可能會寫大量的if else等判斷邏輯,特別是在不同方法出現相同的數據時,校驗的邏輯代碼會反覆出現,導致代碼冗餘,閲讀性和可維護性極差。 自定義校驗註解 引入依賴 Hibernate框架中有一個組件hibernate-validator專門用於數據校驗,在平常的Spring項目中雖然數據層不使用Hibern

xiaoyongyong 头像

@xiaoyongyong

昵称 eacape

@god23bin

Hibernate 基本操作、懶加載以及緩存

前言 上一篇咱們介紹了 Hibernate 以及寫了一個 Hibernate 的工具類,快速入門體驗了一波 Hibernate 的使用,我們只需通過 Session 對象就能實現數據庫的操作了。 現在,這篇介紹使用 Hibernate 進行基本的 CRUD、懶加載以及緩存的知識。 提示:如果你還沒看上一篇,那麼建議你看完上一篇再來看這篇。 上一篇:一文快速入門體驗 Hibernate 基本

god23bin 头像

@god23bin

昵称 god23bin

@xiaoal

28個驗證註解,通過業務案例讓你精通Java數據校驗(收藏篇)

在現代軟件開發中,數據驗證是確保應用程序健壯性和可靠性的關鍵環節。Java Bean Validation (JSR 380) 作為一個功能強大的規範,為我們提供了一套全面的註解工具集,這些註解能夠幫助開發者在Java應用程序中以一種聲明式的方式執行數據驗證。從基本的非空驗證到複雜的正則表達式匹配,JSR 380規範及其實現,如Hibernate Validator,都為我們提供了豐富的選

xiaoal 头像

@xiaoal

昵称 肖哥彈架構

@huaweiclouddeveloper

面試必問:Java 垃圾回收機制

摘要:垃圾回收機制是守護線程的最佳示例,因為它始終在後台運行。 本文分享自華為雲社區《一文帶你瞭解Java 中的垃圾回收機制》,作者:海擁。 介紹 • 在 C/C++ 中,程序員負責對象的創建和銷燬。通常程序員會忽略無用對象的銷燬。由於這種疏忽,在某些時候,為了創建新對象,可能沒有足夠的內存可用,整個程序將異常終止,導致OutOfMemoryErrors。 • 但是在 Java 中,程

huaweiclouddeveloper 头像

@huaweiclouddeveloper

昵称 華為雲開發者聯盟

@sulf

JAVA併發編程——Java對象內存佈局和對象頭

1.對象在堆內存中佈局 2.對象的對象頭 3.對象的實例數據 4.對象的對齊填充 5.看看Object的對象頭 6.看看自定義對象的對象頭 7.總結 1.對象在堆內存中佈局 當我們寫入這樣一行代碼 Object object = new Object(); 的時候,我們都知道它會在我們的JVM堆-新生區-伊甸園區新建一個對象,但是我們可能只是知道這個對象在哪兒,但是對這個對象的內存結構卻知

sulf 头像

@sulf

昵称 蘇凌峯

@jdcdevloper

Java對象拷貝原理剖析及最佳實踐

作者:寧海翔 1 前言 對象拷貝,是我們在開發過程中,繞不開的過程,既存在於Po、Dto、Do、Vo各個表現層數據的轉換,也存在於系統交互如序列化、反序列化。 Java對象拷貝分為深拷貝和淺拷貝,目前常用的屬性拷貝工具,包括Apache的BeanUtils、Spring的BeanUtils、Cglib的BeanCopier、mapstruct都是淺拷貝。 1.1 深拷貝 深拷貝:對基本數據類型進行

jdcdevloper 头像

@jdcdevloper

昵称 京東雲開發者

@xcye

一種優雅的方式整合限流、冪等、防盜刷

大家在工作中肯定遇到過接口被人狂刷的經歷,就算沒有經歷過,在接口開發的過程中,我們也需要對那些容易被刷的接口或者和會消耗公司金錢相關的接口增加防盜刷功能。例如,發送短信接口以及發送郵件等接口,我看了國內很多產品的短信登錄接口,基本上都是做了防盜刷,如果不做的話,一夜之間,也許公司都賠完了┭┮﹏┭┮。 假設我們正在開發一個發送短信(僅國內)的接口,過程如下 接口定義為/sendSms 請求參數

xcye 头像

@xcye

昵称 xcye

@edagarli

一文讀懂整個事務機制的底層邏輯

對事務工作接觸了不少,這裏完整的從基本概念,原理,分析,案列等等梳理下事務機制的底層邏輯; 事務機制的底層邏輯 事務的基本特性、機制及原理 百度百科定義 事務(Transaction),一般是指要做的或所做的事情。在計算機術語中是指訪問並可能更新數據庫中各種數據項的一個程序執行單元(unit)。事務通常由高級數據庫操縱語言或編程語言(如SQL,C++或Java)書寫的用户程序的執行所引起,並用形如

edagarli 头像

@edagarli

昵称 edagarli

@yu_670a3980ed436

分佈式事務與Seata

一、分佈式事務 1.事務的概念 · 概念:事務是一個完整的、不可分割操作單元,整個事務要麼全部執行成功,要麼全部執行失敗。 · 事務具備4個特性:ACID A:原子性--完整的、不可分割操作單元 C:一致性--數據的一致性:事務開始前和事務結束後,數據總量不變 I:隔離性--事務相互隔離,互不影響 D:持久性--事務一旦提交,永久落盤 2.傳統事務 傳統事務由 數據庫

yu_670a3980ed436 头像

@yu_670a3980ed436

昵称 玉喵

@jinyeyoudianerliang

事物的傳播行為

在分佈式系統中,事務的傳播行為(Transaction Propagation)指的是在不同的事務上下文中如何處理事務的傳播方式。它決定了一個方法在執行時是否應該在當前事務中運行,是否應該創建新的事務,或者是否應該加入到已有的事務中。事務傳播行為在多層架構的系統(例如 Spring 框架中)尤為重要。 常見的事務傳播行為類型 以下是 Spring 框架中的七種常用事務傳播行為,這些傳播行為可以應用

jinyeyoudianerliang 头像

@jinyeyoudianerliang

昵称 今夜有點兒涼

@huan1993

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

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

huan1993 头像

@huan1993

昵称 huan1993

@lvxingdefanka

為什麼不應該在事務中嵌套發送 MQ 消息和 RPC 調用?

引言 或許你曾寫過這樣的代碼: @Transaction // 開啓事務 public void craeteOrder(Order order) { saveOrder(order); sendMQ(order); // 或者是發送 rpc } 在一個事務內,向 MySQL 寫入數據,接下來發送 MQ 或 RPC 調用。在大部分情況下,這樣寫好像沒什麼問題 但如果此時我們下游執行

lvxingdefanka 头像

@lvxingdefanka

昵称 牛肉燒烤屋

@chen_67f9ccbe6f07b

【深度解析】Spring/Boot 核心陷阱:事務、AOP 與 Bean 生命週期的常見問題與應對策略

摘要: 本文深入探討了在使用 Spring 及 Spring Boot 框架時,開發者在事務管理、面向切面編程(AOP)以及 Bean 生命週期控制方面常遇到的隱蔽問題。文章結合具體案例、底層原理分析和生產級代碼示例,旨在揭示這些“陷阱”的根源,並提供有效的解決方案和規避策略,幫助開發者構建更健壯、可預測的應用程序。 一、 @Transactional 註解:常見失效場景與優化策略 Spring

chen_67f9ccbe6f07b 头像

@chen_67f9ccbe6f07b

昵称 異常君

@beiyouzhiyu

JDK 新特性學習筆記之模塊系統

有兩條小魚快樂地遊着,碰到一條老魚從對面游過來。老魚向他們點頭問好:「早上好啊小夥子們,今天的水怎麼樣?」兩條小魚接着遊了一會兒,突然停了下來,一臉懵逼地看着對方:水是個什麼東西? 習以為常的就是水 模塊系統是JDK 9的特性,後面的JavaFX學習筆記都會基於JDK 11,甚至更高版本。同時這個特性也是我比較感興趣的,進一步強化了Java的封裝能力。 回顧Java的特性 我想起剛畢業找

beiyouzhiyu 头像

@beiyouzhiyu

昵称 北冥有隻魚

@sofastack

塗鴉智能落地 Koupleless 合併部署,實現雲服務降本增效

文|八幡、朵拉 杭州塗鴉智能技術專家\ 主要研究微服務與可觀測、消息引擎、任務調度、數據層中間件等領域。 本文5389字 閲讀15分鐘 當前塗鴉通過 Koupleless 的靜態合併部署能力,很好地解決了資源浪費問題。為了進一步提升研發效率,塗鴉與 Koupleless 正在開發動態合併部署能力,為公有云大規模合併部署打下基礎,也為未來更長遠的 Serverless 能力提供基座。 p a

sofastack 头像

@sofastack

昵称 SOFAStack

@jinyeyoudianerliang

MySQL 索引

在 MySQL 中,索引 是通過特定的數據結構來加速查詢操作。MySQL 支持多種類型的索引,其中 B+ 樹索引 是最常見的一種。 1. B+ 樹索引(B+ Tree Index) B+ 樹的特點: 所有數據存儲在葉子節點: 所有的數據都存儲在 B+ 樹的葉子節點中,非葉子節點僅存儲索引。 葉子節點鏈表: B+ 樹的葉子節點通過鏈表連接,使得在進

jinyeyoudianerliang 头像

@jinyeyoudianerliang

昵称 今夜有點兒涼

@jinyeyoudianerliang

MySQL 查詢性能較慢,優化思路

當遇到 MySQL 查詢性能較慢 的問題時,優化的思路通常包括以下幾個步驟。具體的優化方法會依賴於查詢的複雜性、表的結構以及數據量等因素。以下是我通常會遵循的優化思路和具體步驟: 1. 分析查詢執行計劃(EXPLAIN) 在開始優化之前,我會首先使用 EXPLAIN 或 EXPLAIN ANALYZE 來查看查詢的執行計劃。這樣可以清楚地瞭解 MySQL 在執行查詢時使用的索引、連接方式以及是否進

jinyeyoudianerliang 头像

@jinyeyoudianerliang

昵称 今夜有點兒涼

@macrozheng

再見Jenkins!一款更適合國人的自動化部署工具,賊帶勁!

在開發或生產環境中,我們有時候會上服務器器然後敲命令來部署項目。這種敲命令的方式不僅麻煩,有時候還容易出錯,此時使用一套自動化部署方案,不僅方便還不易出錯。最近發現了一款好用的自動化部署工具Jpom,體驗不輸Jenkins,分享給大家! Jpom簡介 Jpom是一款簡而輕的自動化部署工具,目前在Gitee上已有8.5k+star,它具有在線構建、自動部署、日常運維、項目監控等功能。 它能解決你日常

macrozheng 头像

@macrozheng

昵称 macrozheng

@macrozheng

Jenkins+Docker一鍵打包部署項目!步驟齊全,少走坑路!

有些程序員在項目上線時,會選擇手敲命令來部署項目,這種方式一旦敲錯命令就會導致項目部署失敗。今天給大家分享一套基於Jenkins+Docker的自動化部署方案,部署齊全,能讓你少走坑路! Jenkins簡介 Jenkins是一款領先的開源自動化工具,採用Java構建,提供超過1800個插件,支持自動化幾乎所有任務,目前在Github上已有23k+Star。其目標是通過自動化重複性的工作,減少人工干

macrozheng 头像

@macrozheng

昵称 macrozheng

@macrozheng

Jenkins絲滑的打包部署,一套帶走!

在之前的文章中介紹過《使用Jenkins一鍵打包部署SpringBoot項目》,其實Jenkins也可以用來打包部署前端項目。今天就以mall電商實戰項目的前端為例,來講解下如何使用Jenkins一鍵打包部署前端項目。 學習準備 學習本文需要有一定的Jenkins基礎,比如瞭解Jenkins的安裝和基本使用,這些內容可以參考這篇文章: 《Jenkins+Docker一鍵部署SpringBoot項目

macrozheng 头像

@macrozheng

昵称 macrozheng

@yifu

JAVA中正則表達式的應用-java.util.regex篇

現在JDK1.4裏有了自己的正則表達式API包,JAVA程序員可以免去找第三方提供的正則表達式庫的周折了,我們現在就馬上來了解一下這個SUN提供的遲來恩物- -對我來説確實如此。 1.簡介: java.util.regex是一個用正則表達式所訂製的模式來對字符串進行匹配工作的類庫包。 它包括兩個類:Pattern和Matcher 一個Pattern是一個正則表達式經編譯後的表現模式。

yifu 头像

@yifu

昵称 憶賦

@nianqingyouweidenangua

某全球領先的電池製造商:打造五大工廠預警中樞,“屏”實力説話

客户背景:作為全球領先的電池製造商,該企業成立於1998年,共有5家工廠,擁先進研發生產設施,專注綠色能源技術研發,致力於電池技術的升級與創新,成為全球首個推出智能無人機電池的品牌,顯著提升飛行效率並降低維護成本。其電池產品廣泛用於工業備用電源、軍用電子設備、民用電子設備及特殊電池應用定製等領域,覆蓋物流配送、農業植保、測繪巡檢、FPV競速等低空經濟核心場景。 如今,電池技術的進步為我們周圍不斷

nianqingyouweidenangua 头像

@nianqingyouweidenangua

昵称 迅易科技