收藏 / 列表

老污的貓 - 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 - CR被批“寫得像坨屎”,我三句話讓他當場閉嘴

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

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

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

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

redis , 緩存 , JAVA , 一致性

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

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

多線程 , JAVA

王中陽講編程 - 高階面經:Spring框架全析

在 Java 開發的浩瀚世界裏,Spring 框架無疑是一顆璀璨耀眼的明珠。無論是初涉編程領域的新手,還是經驗豐富的資深開發者,都難以忽視它的強大與實用。它宛如一把萬能鑰匙,為諸多複雜的企業級應用開發難題解鎖,那麼 Spring 框架究竟是什麼呢?下面就帶你一探究竟。 一、Spring 框架 是什麼? Spring 是輕量級的控制反轉(IoC)和麪向切面(AOP)的容器框架,可以很方便地對數據庫進

spring , 框架 , java框架 , JAVA , 後端

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

本文將介紹Java中ReentrantReadWriteLock的實現原理,從JDK源碼層面講解讀寫鎖的加鎖、釋放鎖的流程,最後對流程進行總結。 讀寫鎖概述 讀寫鎖 ReentrantReadWriteLock 的依賴關係如下圖所示。 讀寫鎖的基本使用如下 ReentrantReadWriteLock lock = new ReentrantReadWriteLock(); Reentrant

源碼 , JAVA , juc , 併發編程

Awbeci - 百度地圖-製作靜態圖片包含:標籤、折線圖和標記

前言 最近公司需要製作地圖截圖功能,一開始準備使用html2canvas但是發現生成的圖片中地圖是空白也不知道咋回事,然後發現百度地圖有現成的生成靜態圖片的辦法,而且可以生成折線圖、標記、標籤等還能控制中心點,試了一下挺好的,分享給大家。 操作 這個是百度地圖官網生成靜態圖片的api地址百度地圖靜態圖API,裏面有demo,但是鏈接有的有問題,下面會講如何解決。 1、顯示圖片 https://ap

百度地圖api , 百度地圖

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 安裝 redis

centos7 安裝 redis redis是由C語言開發,安裝之前需要確保服務器已經安裝了gcc,可以通過如下命令查看機器是否安裝: gcc -v 如果沒有安裝則通過以下命令安裝: yum install -y gcc 安裝包 鏈接: https://pan.baidu.com/s/1dY9QPwWzUM-9bKtCmWIixw 提取碼: qrtb 也可以在線下載 wget htt

redis , arm , centos7 , Linux , JAVA

witt - SseEmitter返回data被雙引號包裹的問題排查

一、背景 最近做接口的性能改造,大概背景如下: 舊: 1.前端每秒輪詢後端接口,接口返回數據狀態,前端用狀態做判斷,變更頁面交互。 2.前端固定調用後端接口,接口阻塞100秒,等待後端隨時返回結果,100秒到達後無結果,直接失敗。 新: 改為ServerSentEvent以text-event-stream固定時間窗口由後端返回處理進度。 二、簡單對比 1.後端服務壓力大。

spring , servlet , spring-mvc , JAVA , sse

Java陳序員 - 佔用資源極低!這款輕量級 Nacos 性能炸裂!

大家好,我是 Java陳序員。 在開發中,Nacos 作為一款非常流行的微服務配置中心、註冊中心,在構建微服務項目時往往會使用到它。 但是對於個人開發者而言,雲服務器資源有限,往往無法撐起 Nacos 服務的高內存使用! 今天,給大家介紹一款輕量級的 Nacos 服務,功能平替,佔用資源極低! 關注微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典計算機電子書籍等。

github , rust , rpc , JAVA

jacheut - JAVA IO流簡介

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

JAVA , io

福 - Spring FrameWork從入門到NB - Ioc

SpringFramework是Spring全家桶的基礎,並且已經是公認的java開發基準框架,現在的java開發,沒有spring framework會寸步難行。 正是因為Spring已經變成了當前JAVA開發的事實上的霸主,絕大部分的JAVA項目都不太可能沒有Spring,而且,最重要的,絕大部分的初學者如果不掌握Spring,你可能就很難入門:你拿不到offer,即使是小公司的offer你都

spring , JAVA , ioc

點墨 - 編譯器優化對多線程數據競爭的影響分析

編譯器優化如何讓多線程代碼"失效":從彙編視角解密數據競爭謎題 在多線程編程中,我們常遇到一個反直覺現象:關閉編譯器優化反而能暴露預期的數據競爭問題。本文通過分析MSVC編譯器對同一代碼的不同優化策略,揭示現代編譯器如何通過指令重排和內存訪問優化,徹底改變多線程程序的執行軌跡。 一、現象之謎:優化等級決定程序行為 當使用/O2優化編譯給定代碼時,程序輸出穩定在10萬或20萬這兩個確定值,而非預期的

c++ , 多線程

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

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

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

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

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

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

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

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

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

湯太鹹 - 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

華為雲開發者聯盟 - 最強雲硬盤來了,讓AI模型迭代從1周縮短到1天

摘要:華為雲擎天架構+ Flash-Native存儲引擎+低時延CurreNET,數據存儲和處理還有啥擔心的? 雖然我們已經進入大數據時代,但多數企業數據利用率只有10%,數據的價值沒有得到充分釋放。面對海量數據爆炸式的增長和發掘數據內在價值的巨大需求,擁有彈性伸縮、無限擴展能力的雲存儲正發展成為時代的智能數據底座。 另一方面,隨着人工智能(AI)、VR/AR、5G、自動駕駛等技術的發展,應

ssd , Flash , 華為雲 , 雲存儲 , 數據存儲

mob64ca13fe62db - 【AI理論學習】多模態介紹及當前研究方向_多模態人工智能

你是否還在為AI項目中同時處理文本、圖像和音頻數據而煩惱?面對TensorFlow、PyTorch等不同框架的兼容性問題,以及各種模態數據處理接口的差異,開發效率大打折扣。本文將介紹如何使用Ivy框架(The Unified AI Framework)輕鬆實現多模態數據的統一處理,讓你告別框架切換的痛苦,專注於模型創新。 讀完本文,你將能夠: 瞭解I

數據 , 加載 , 後端開發 , 模態 , Python

mb61c46a7ab1eee - 實用指南:HashMap 源碼逐行讀:hash 方法、衝突鏈表、紅黑樹閾值、擴容死鏈

關鍵詞:HashMap、hash 算法、紅黑樹、鏈表、擴容死鏈、源碼、面試 適合人羣:Java 初中高級工程師 · 面試衝刺 · 代碼調優 · 架構設計 閲讀時長:40 min(≈ 6000 字) 版本環境:JDK 17(源碼行號對應 jdk-17+35,同時回顧 JDK 7 死鏈)

紅黑樹 , 位異或 , 後端開發 , 鏈表 , Python

bigsai - 棧和括號匹配問題,一文搞懂

什麼是棧 棧在我們日常編碼中遇到的非常多,很多人對棧的接觸可能僅僅侷限在 遞歸使用的棧 和 StackOverflowException,棧是一種後進先出的數據結構(可以想象生化金字塔的牢房和生化角鬥場的狗洞)。 棧(stack)是一種運算受限的線性數據結構,它具有以下特點: 1. 運算受限: 棧限定僅在表尾進行插入和刪除操作,這一端被稱為棧頂,而另一端稱為棧底。這限制了對棧的操作,只能按照後進

數據結構 , , JAVA , 數據結構與算法 , 後端