收藏 / 列表

wx690f565d7bc78 - java 操作mysql 有則更新無則新增

方案 1:使用 MySQL 的INSERT ... ON DUPLICATE KEY UPDATE語句(推薦) MySQL 原生支持INSERT ... ON DUPLICATE KEY UPDATE語法,當插入的記錄違反唯一約束(如主鍵或唯一索引)時,會執行更新操作;否則執行插入操作。 前提條件 需要為表設置唯一約束(主鍵PRIMARY KEY或唯一索引UNI

MySQL , 數據庫 , 主鍵 , SQL

素雨末 - 從 LinkedList 到 SynchronousQueue

一、Java 隊列體系概覽 Q1:Java 中 Queue 相關的接口和類有哪些?它們的關係是什麼? 核心接口: QueueE:基礎 FIFO 隊列(offer/add,poll/remove,peek/element) DequeE:雙端隊列(支持頭尾插入/刪除),繼承Queue BlockingQueueE:阻塞隊

後端開發 , 線程安全 , JAVA , 阻塞隊列

CodePulse代碼脈搏 - 智能練習生成與進度追蹤

基於AI編程導師,添加智能練習生成和個性化學習路徑功能。 1. 智能練習生成器 # exercise_generator.py import random from typing import List, Dict from enum import Enum class Difficulty(Enum): BEGINNER = "beginner"

List , 後端開發 , JAVA , ci , Json

Zeran - JVM-解析Class文件示例

準備 class文件是Java虛擬機唯一可以識別的文件,根據Class文件我們可以完成一個程序的運行,本節文章是本人解析一個基本Class文件的全過程,記錄在此,希望能提供給正在前進路上的同學作為輔助作用,下面是我們要解析Class文件必要條件。 代碼 以下是一個簡單的Java類,一個私有變量,一個公開方法。 public class TestClass { private int a;

JAVA , class

用户bPbhIAe - Java 泛型詳細解析

泛型的定義 泛型類的定義 下面定義了一個泛型類 Pair,它有一個泛型參數 T。 public class PairT { private T start; private T end; } 實際使用的時候就可以給這個 T 指定任何實際的類型,比如下面所示,就指定了實際類型為 LocalDate,泛型給了我們一個錯覺就是通過個這個模板類 PairT,我們可以在實際使用的時候動態的派

泛型 , JAVA , 類型轉換

博學谷狂野架構師 - 刷完HashMap源碼,我們一起進大廠

不可不知的哈希映射 引言 hashmap這個東西呢,太老生常談了 開發中常用、面試中常問 總之,很重要。。。。。 接下來呢 咱們就一起來看下,裏面到底有哪些解不開的東西 2.1 HashMap數據結構 目標: HashMap 概念、數據結構回顧(JDK8和JDK7) 為什麼1.8使用紅黑樹? 概念: HashMap 是一個利用散列表(哈希表)原理來存儲元素的集合,是根據Key value而直接進

hashmap , JDK , 面試 , JAVA

小碼哥068 - 智慧家政系統核心技術解析

一、開發背景 上班族家庭:由於工作繁忙,無暇顧及家務,對日常保潔、家電清洗等便捷高效的家政服務需求強烈,希望能夠通過簡單的操作,在合適的時間預約到專業的家政人員上門服務,並且對服務質量和服務人員的專業性有較高要求 一些企業為員工提供福利,會定期採購家政服務,如辦公室清潔、企業食堂後勤服務等;同時,醫療機構、學校、酒店等也需要專業的家政服務來

數據 , 微服務 , 後端開發 , JAVA

小傅哥 - 從MVC到DDD,該如何下手重構?

作者:付政委 博客:bugstack.cn 沉澱、分享、成長,讓自己和他人都能有所收穫!😄 大家好,我是技術UP主小傅哥。MVC講解了,DDD講解了。接下來這個章節,我們講講從MVC到DDD的重構! MVC 舊工程腐化嚴重,迭代成本太高。DDD 新工程全部重構,步子扯的太大。 這是現階段在工程體系化治理中,我們所面臨的最大問題;既想運用 DDD 的思想循序漸進重構現有工程,又想不破壞原有的

架構設計 , 重構和設計模式 , 系統架構 , ddd , mvc

wx661607c93692e - Java 圖片縮略圖工具類

一、核心需求分析 我們希望工具類支持兩種主流模式: 模式 1:等比縮放(Fit) 在不超過目標寬高的前提下,按原圖比例縮放,空白處留白或透明。 適用:商品圖、文章封面預覽。 模式 2:中心裁剪(Crop) 先等比縮放使圖像覆蓋整個目標區域,再從中心裁剪出指定尺寸。 適用:用户頭像

縮放 , 後端開發 , JAVA , Image

lenglingx - Guava之EventBus

EventBus是Guava中實現的用於發佈/訂閲模式的事件處理組件。 一、先來要給簡單的Demo java一切皆對象,肯定有個事件對象。 Event.java package com.cqsym.lmdw1.testguava; import lombok.Getter; import lombok.Setter; @Getter @Set

System , 後端開發 , JAVA , 事件處理

逐夢AI - 基於YOLOv8的牛行為檢測識別項目|完整源碼數據集+PyQt5界面+完整訓練流程+開箱即用!

基於YOLOv8的牛行為檢測識別項目|完整源碼數據集+PyQt5界面+完整訓練流程+開箱即用! 源碼包含:完整YOLOv8訓練代碼+數據集(帶標註)+權重文件+直接可允許檢測的yolo檢測程序+直接部署教程/訓練教程 源碼在文末嗶哩嗶哩視頻簡介處獲取。 本系統通過 PyQt5 圖形界面 提供多種輸入方式,包括: 圖片識別:單張或批量圖片檢測牛的行為狀態。 文件夾識別:批量處理指定文件夾內的圖

機器學習 , 人工智能 , 深度學習

程序猿DD - @Autowired 的Bug讓我們白忙三天

凌晨兩點,支付服務的告警像雪崩一樣砸來,你在控制枱和棧跟蹤間瘋狂穿梭,卻始終想不明白:Spring 的依賴注入,怎麼會在生產裏突然“失手”?我最近讀到一篇事故覆盤,講的是兩個看似無害的改動如何在生產環境聯手把系統擊穿,分析深入、啓發很大。於是我把它完整翻譯出來,分享給大家,希望能幫你少走彎路。 以下內容翻譯自:https://medium.com/javarevisited/the-autow

spring , springboot , JAVA

程序員小富 - 令牌桶VS漏桶:誰才是流量控制的“最優解”?

大家好,我是小富~ 面試被問到限流算法,很多面試官會讓直接手寫令牌桶和漏桶的實現。雖然平時用過Redis、Guava等現成的限流工具,但真要手寫還是有點慌。今天就來聊聊這兩種經典限流算法的區別,並用Java手寫實現。 很多的限流工具底層都應用了它們 一、令牌桶 vs 漏桶:核心區別 令牌桶 令牌桶的核心思想:固定容量的桶,以固定速率往桶裏放令牌,請求來了就從桶拿令牌,沒令牌就拒絕。 有點像買票進站

面試 , JAVA , 後端

藍易雲 - 藍易雲:Nginx-URLRewrite偽靜態

以下內容聚焦 span style="color:red"Nginx 1.20+/span 在生產環境的 URLRewrite 偽靜態最佳實踐,目標是:規則可讀、性能穩定、灰度可控、回滾簡單。🚀 一、核心原則(結論先講) 優先使用 span style="color:red"try_files/span,僅在確需正則改寫時用 span style="color:red"rewrite/sp

kubernetes , devops , serverless , Docker , apache

認真的紫菜 - Kotlin協程的取消機制:深入理解和優雅實現

本文首發於公眾號“AntDream”,歡迎微信搜索“AntDream”或掃描文章底部二維碼關注,和我一起每天進步一點點 Kotlin協程提供了一種高效的方式來處理併發和異步任務。在協程的生命週期管理中,取消協程是一項重要的操作。本文將深入探討Kotlin協程的取消機制,介紹除了直接使用Job的cancel方法之外的其他方式,並提供優雅的實現策略。 1. 協程取消的基本概念 在Kotlin協程中,取

Kotlin , 面試 , 協程 , Android , JAVA

呂秀才 - 深入淺出Java多線程(四):線程狀態

引言 大家好,我是你們的老夥計秀才!今天帶來的是[深入淺出Java多線程]系列的第四篇內容:線程狀態。大家覺得有用請點贊,喜歡請關注!秀才在此謝過大家了!!! 在現代軟件開發中,多線程編程已經成為提升應用程序性能和響應能力的關鍵技術。Java作為一門支持多線程編程的主流語言,其內置的豐富併發庫使得開發者能夠輕鬆創建、管理和協調多個線程以實現高效的併發執行。然而,深入理解和掌握Java線程的工作機

java多線程 , 線程 , 多線程 , JAVA

阿東 - 【RocketMq】RocketMq-NameServ 源碼分析(Ver4.9.4)

引言 RocketMq3.X的版本和Kafka一樣是基於Zookeeper進行路由管理的,但是這意味着運維需要多部署一套Zookeeper集羣,後來RocketMq選擇去ZK最終出現了NameServ。NameServ作為RocketMq源碼閲讀的切入點非常不錯,本文將會介紹Ver 4.9.4 版本的NameServ源碼分析。 NameServer主要有兩個功能,Broker管理和路由信息管理。

rocketmq , 源碼學習 , 消息中間件 , 源碼分析

李通 - tio-boot整合Dubbo

tio-boot官網 概述 什麼是 Dubbo Apache Dubbo 是一款 RPC 服務開發框架,用於解決微服務架構下的服務治理與通信問題,官方提供了 Java、Golang 等多語言 SDK 實現。使用 Dubbo 開發的微服務原生具備相互之間的遠程地址發現與通信能力, 利用 Dubbo 提供的豐富服務治理特性,可以實現諸如服務發現、負載均衡、流量調度等服務治理訴求。Dubbo 被設計為高

dubbo , zookeeper , JAVA , Docker

字節幺零二四 - 源碼解讀 | Java中ReentrantLock的實現原理

ReentrantLock 依賴關係如下圖所示 非公平鎖實現原理 ReentrantLock 默認採用非公平鎖。 // ReentrantLock public ReentrantLock() { sync = new NonfairSync(); } 加鎖流程 ReentrantLock 的 lock 方法通過同步器的 lock 方法實現。 // ReentrantLock publi

JAVA , 併發 , juc , 併發編程

vivo互聯網技術 - Redis集羣slot遷移改造實踐

作者:來自 vivo 互聯網存儲團隊- Xu Xingbao Redis 集羣經常需要進行在線水平擴縮容,實際操作過程中發現遷移期間服務時延劇烈抖動,業務側感知明顯,為了應對以上問題對原生 Redis 集羣 slot 遷移功能進行優化改造。 一、背景介紹 Redis 集羣服務在互聯網公司被廣泛使用,眾所周知服務集羣化可以突破單節點的能力瓶頸,帶來規模、可用性、擴展性等多方面的收益。在實際使用 Re

redis集羣

李棟 - 【zookeeper 第二篇章】安裝

一、linux 安裝 1、基礎環境 在 Linux 種安裝 zookeeper 需要安裝 jdk。具體的安裝 jdk 方式就不再進行描述,根據你的 Linux 系統的不同安裝的方式也會不同。 2、下載 zookeeper 安裝包 通過此地址可以下載對應的安裝包 https://zookeeper.apache.org/releases.html。 3、解壓 zookeeper 壓縮包 tar -z

zookeeper , 分佈式系統 , JAVA

sangwu - 68. 文本左右對齊

68. 文本左右對齊 給定一個單詞數組words和一個長度maxWidth,重新排版單詞,使其成為每行恰好有maxWidth個字符,且左右兩端對齊的文本。 你應該使用 “貪心算法” 來放置給定的單詞;也就是説,儘可能多地往每行中放置單詞。必要時可用空格' '填充,使得每行恰好有maxWidth個字符。 要求儘可能均勻分配單詞間的空格數量。如果某一行單詞間的空格不

左對齊 , yyds乾貨盤點 , 字符串 , 後端開發 , 兩端對齊 , JAVA

虎斑嘟嘟 - 零知識證明與深度學習:打造可驗證的AI推理新時代

零知識證明與深度學習:打造可驗證的AI推理新時代 在醫療、金融和自動駕駛等關鍵領域,人工智能系統正日益成為決策的核心。然而,這些“黑箱”模型如何讓人信任?當AI告訴你不應該批准貸款或患有癌症時,你如何知道這個決策是基於正確的推理,而不是被惡意篡改或包含了偏見? 傳統方法要求完全透明公開模型參數和輸入數據,但這在保護知識產權和用户隱私方面面臨巨大挑戰。 零知識證明

yyds乾貨盤點 , 數據 , 後端開發 , JAVA , ci , 零知識證明

xiongood - Vue 中 v-if 與 v-show 的使用方法與區別

Vue 中 v-if 與 v-show 的使用方法與區別 在 Vue 中,v-if 和 v-show 是兩個用於控制元素顯示與隱藏的核心指令,就像給元素裝了 “開關”,但兩者的 “開關邏輯” 和適用場景截然不同。掌握它們的用法和區別,能讓我們更合理地控制 DOM 顯示,提升頁面性能。 一、基礎用法 1. v-if:條件渲染(動態創建 / 銷燬 DOM) v-if 是 “條

動態創建 , Vue , 後端開發 , JAVA , Css