收藏 / 列表

老污的貓 - Java 二分法查詢

public static void main(String[] args) { Integer target = 7; // 初始化數據 ListInteger data = Arrays.asList(0, 1, 3, 5, 7, 9, 2, 4, 6, 8, 10); // 排序 Collections.sort(data); // 輸出

JAVA

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

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

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

悲傷的鴨蛋 - dependencies、dependencyManagement區別

對比項 dependencyManagement dependencies 功能 聲明版本(不引入依賴) 實際引入依賴到項目 作用 統一管理版本,避免衝突 決定項目運行時依賴 生效範圍 當前項目及子項目 僅當前項目 版本控制 子項目默認繼承 可覆蓋父項目版本 總結: dependencyManagement:定規矩(版本),不幹活(不引入)。 dependenc

maven , dependencies , dependency-management

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

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

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

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

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

tcp , 計算機網絡 , 後端

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

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

多線程 , JAVA

王中陽講編程 - 面試阿里,直呼太難了!

我發現一件事,今年的秋招比去年來的更早一些,像什麼小度、深信服、OPPO、科大訊飛、華夏銀行等等知名的公司都開始了,想問問要找工作的各位:你們準備好了嗎? 這真不是危言聳聽,需要參加今年秋招的小夥伴真的要抓緊時間準備了,八股、算法、項目都要按部就班地往前推進了,畢竟時間不等人,我在星球裏還遇到過秋招錯過、春招也錯過的球友,後續真的是十分被動。 今天分享一位粉絲投稿的阿里面經,這是他第一次約到阿里的

阿里巴巴 , 面試 , go

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

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

webflux , springcloud , springboot , JAVA

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 - Linux服務器ARM架構安裝Mysql(aarch64)

一、卸載舊版本 查詢是否存在舊版本 rpm -qa | grep mysql rpm -qa | grep mariadb 如果存在,挨個刪除已有版本: yum -y remove 版本 查看etc/目錄下是否存在my.cnf文件 ls etc/my.cnf # 刪除 rm my.cnf 卸載MySQL後殘留數據保存路徑 find / -name mysql # 刪除 rm -rf 查找的路徑名

MySQL , arm64 , arm , centos7 , Linux

witt - Linux版微信的正確打開方式

關鍵字: 微信、Linux微信 2024年11月4日,Linux版的微信同Windows和Mac OS一起來到了4.0時代,Linux終於站起來了,甚至微信重構話題一度登上熱搜,隨處可見蹭熱度的文章。 微信剛剛發佈官網: https://linux.weixin.qq.com/ 其實universal deb包我已經使用了將近一年時間,功能雖是閹割版,但體驗比deepin-wine的微信強

archlinux , 微信 , manjaro , Linux

Java陳序員 - 輕量高效!一款輕量級的自託管服務器監控工具!

大家好,我是 Java陳序員。 在企業開發中,涉及眾多的服務器資源,一款好用的服務器監控工具能讓運維效率事半功倍。 今天,為大家推薦一款輕量級的自託管服務器監控工具,具備資源佔用低、部署簡單和功能實用的特點! 關注微信公眾號:【Java陳序員】,獲取開源項目分享、AI副業分享、超200本經典計算機電子書籍等。 項目介紹 Komari 是一款輕量級的自託管服務器監控工具,旨在提供簡單、高效的服

vue.js , github , Linux , Docker , go

jacheut - 【java基礎】== 和 equals 的區別,重寫equals可以不重寫hashcode嗎

== 和 equals 的區別 在編程中,== 和 equals 是兩個經常使用的運算符,但它們在處理字符串和對象時有所不同。 讓我們詳細瞭解一下它們之間的區別。 首先,讓我們明確一下,== 是一個比較運算符,它比較兩個值的值是否相等。 如果兩個值相等,它返回 true;否則返回 false。 對於基本數據類型(例如 int、float、char 等),== 直接比較它們的值是否相等。 對於對象(

基礎 , JAVA

碼猿技術專欄 - Spring Integration 輕鬆實現服務間消息傳遞,真香!

在當今分佈式系統的背景下,如何優雅地實現系統之間的消息傳遞是每個開發者都關心的話題。而Spring Integration,作為Spring家族的一員,正是為了解決這個難題而生。 在這篇文章中,我們將踏上穿越消息之路,深入探討Spring Integration的魅力。 關注公眾號:碼猿技術專欄,回覆關鍵詞:1111 獲取阿里內部Java性能調優手冊! Spring Integration基礎概念

spring , springcloud , springboot , JAVA

福 - Spring FrameWork從入門到NB - Ioc

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

spring , JAVA , ioc

點墨 - 使用gulp上傳打包文件到服務器

項目是使用create-app-rewired生成的react項目,使用gulp自動上傳打包文件到服務器,建議只在測試環境和模擬環境使用。 1.安裝gulp,gulp-ssh包 2.編寫腳本 3.修改config-overrides.js,將打包文件分環境生成 4.編寫gulp配置文件gulpfile.js const { src, task, series } = r

gulp , 部署 , 打包 , 前端 , Web

程序員波特 - 【數據結構與算法】初識算法

1.1 什麼是算法? 定義 在數學和計算機科學領域,算法是一系列有限的嚴謹指令,通常用於解決一類特定問題或執行計算 In mathematics and computer science, an algorithm (/ˈælɡərɪðəm/) is a finite sequence of rigorous instructions, typically used to solve a cl

leetcode , 數據結構 , 算法 , leetcode算法 , JAVA

尼古拉斯舞王 - 【數據結構入門手札】算法核心概念與複雜度入門

一. ⛳️算法的定義     算法:是解決特定問題求解步驟的描述,在計算機中表現為指令的有限序列,並且每條指令表示一個或多個操作。簡單説,算法就是 “解決問題的清晰流程”—— 就像菜譜(做菜的步驟)、導航路線(從 A 到 B 的路徑),本質都是算法。 二. ⛳️算法的特性     算法具有五個基本特性:輸入、輸出、有窮性、確定性和可行性。 2.1 🔔輸入     算

執行時間 , 後端開發 , 測試數據 , JAVA , 空間複雜度

清醒的人最荒唐 - SpringBoot實現自定義路由覆蓋

背景 公司最近有一個項目二期需要對一些功能進行改造,涉及部分框架內置業務接口個性化定製,兼容老接口功能並且增加一部分新的數據返回,由於前端調用這些接口分佈較多且較為零碎,修改測試成本較大,所以打算在框架層面提供路由覆蓋功能,加快項目進度減少無技術含量的修改帶來的系統風險 設計 提供自定義註解指定需要覆蓋的路由及新路由地址 系統啓動時掃描所有註解

系統啓動 , List , 自定義 , 後端開發 , JAVA

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

華為雲開發者聯盟 - 構造、析構期間被調虛函數發生的慘案,長教訓!

最近有個問題出現長達一個月,經過兩次修改未能解決,大致場景如下: 一個多態對象Children被註冊回調(m_observer對象位於基類Base中),正好在析構函數裏面回調,導致crash。 class Base { // ... protected: std::shared_ptrObserver m_observer; } class Children: public Ba

code , bug , 組合模式 , 回調函數 , 多態

mob64ca13fe62db - stageMode模式 INSTALL_PARSE_FAILED_USESDK_ERROR stage setting

這章中使用的示例,會延續上一章創建的Rails應用chapter2,但是我們會創建一個新的controller。在終端下執行: script/generate controller chapter3 index get_time repeat reverse

機器學習 , xhtml , HTTP , ViewUI , 人工智能 , HTML , Javascript

huan1993 - ForkJoinPool在生產環境中使用遇到的一個問題

1、背景 在我們的項目中有這麼一個場景,需要消費kafka中的消息,並生成對應的工單數據。早些時候程序運行的好好的,但是有一天,我們升級了容器的配置,結果導致部分消息無法消費。而消費者的代碼是使用CompletableFuture.runAsync(() - {while (true){ ..... }}) 來實現的。 即: 需要消費Kafka topic的個數: 7個,每個線程消費一個

線程池 , threadpoolexecutor , JAVA , 後端

阿里雲開發者 - 快手基於 Apache Flink 的實時數倉建設實踐

一、快手實時數倉的發展 作為短視頻領域的領頭羊,快手 APP 一直致力於視頻、直播技術的迭代,其背後對數據實時性、準確性的要求非常高,這對於數倉體系的構建也提出了新的挑戰。 下面是快手實時數倉發展到現在經歷的幾個階段: 在第一個階段,快手的實時數倉起始於春節、國慶、快手之夜等大型活動場景。在這些活動場景下,實時數據主要用於滿足活動大屏、運營看板、活動效果監控等實時需求。在這個階段

構建工具 , 數據 , 數據倉庫 , flink , apache