收藏 / 列表

老污的貓 - Java 爬樓梯

題目 假設你正在爬樓梯。需要 n 階你才能到達樓頂。 每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢? 原題地址 解題 每一步只能走1階或2階,因此每一步可拆分為2個分支,f(n)=f(n-1)+f(n-2) 遞歸 public static int climbStairs(int n) { if (n == 1) { return

算法 , JAVA

大廠碼農老A - 我帶的外包兄弟放棄大廠轉正,薪資翻倍入職字節

大家好,我是老A 國慶節的時候,收到一位粉絲的私信求助。一來一回聊了半天,我發現了一個很多技術兄弟的通病——我們稱之為「收藏夾式努力​」。水文看不上,只想讓大佬推薦技術寶典,一旦拿到手,焦慮感削弱,寶典就在收藏夾裏吃灰,下了班照樣峽谷開黑。當你想督促他深入研究時,他又會用「他是大佬,我不是,我做不到」來給自己設限,最終陷入「持續焦慮,持續躺平」的惡性循環。 這種惰性,是人之常情。但人和人之間

觀點 , JAVA , 程序員 , 後端 , 前端

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

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

junit , maven , 測試 , JAVA

打盹的猴子 - 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

王中陽講編程 - 微服務門檻高到勸退?其實 90% 的人都踩錯了第一步

你是否也曾陷入這樣的循環:對着《微服務架構設計模式》啃了半年理論,卻連一個完整的服務拆分案例都寫不出來;GitHub上star過幾十個微服務開源項目,下載後看着幾百個模塊的代碼樹,連啓動命令都找不到;好不容易搭起一套框架,一到高併發場景就各種報錯,排查三天發現是服務註冊中心的配置沒配對…… 微服務的門檻,從來不在知道名詞,而在落地能力。今天結合幾個主流開源項目的實戰體驗,聊聊從看懂代碼到做出能用的

微服務 , 後端

字節幺零二四 - 算法典型例題:N皇后問題,五種解法,逐步優化(非遞歸版)

本文將介紹N皇后問題的五種解法,包括樸素回溯法、對稱優化、標記優化、可用優化、位運算優化,對於每種解題思路,提供相應的非遞歸版代碼實現,最後將對每種解法進行測試,橫向對比每種解法的求解時間。 題目描述 在 N×N 格的國際象棋上擺放 N 個皇后,使其不能互相攻擊,即任意兩個皇后都不能處於同一行、同一列或同一斜線上,問有多少種擺法? 回溯法 解題思路 回溯法採用深度有限的搜索策略遍歷問題的解空間樹,

遞歸 , 算法 , 回溯法

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

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

webflux , springcloud , springboot , JAVA

lindsay_bubble - Leetcode 46&47_Permutations_全排列

一、不重複全排列 給定一個不含重複數字的數組 nums ,返回其 所有可能的全排列 。你可以 按任意順序 返回答案。 https://leetcode.cn/problems/permutations/description/ 1、dfs + boolean[] 通過boolean[]記錄 public ListListInteger permute(int[] nums

leetcode , 排列 , JAVA , 回溯法

wasdquiop - javaScript正則表達式

JavaScript RegExp 對象 RegExp:是正則表達式(regular expression)的簡寫 正則表達式用於對字符串模式匹配及檢索替換,是對字符串執行模式匹配的強大工具 語法: var patt=new RegExp(pattern,modifiers); 或者 var patt=/pattern/modifiers; 其中: pattern:代表正則表達式

字符串 , 正則表達式 , Javascript

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

Enaium - Gradle極簡入門

首發於Enaium的個人博客 什麼是 Gradle Gradle是一個基於Apache Ant和Apache Maven概念的項目自動化構建工具。它使用一種基於Groovy的特定領域語言(DSL)來聲明項目設置,而不是傳統的XML。Gradle構建腳本是用Groovy編寫的,也可以使用Kotlin編寫,兩者都是基於JVM的語言。 安裝 Gradle 在開始之前,想必大家已經學會了Java或者Ko

構建工具 , Kotlin , JAVA , gradle

Java陳序員 - ZooKeeper 入門教程

0. 前言 文章已經收錄到 GitHub 個人博客項目,歡迎 Star: https://github.com/chenyl8848/chenyl8848.github.io 或者訪問網站,進行在線瀏覽: https://chenyl8848.github.io/ 1. ZooKeeper 簡介 ZooKeeper(動物園管理者)簡稱 ZK,一個分佈式的,開放源碼的分佈式應用程序協調服務,是 G

zookeeper , springboot , JAVA

JavaGuide - Java 基礎常見知識點&面試題總結(上),2022 最新版!| JavaGuide

《Java 面試指北》來啦!這是一份教你如何更高效地準備面試的小冊,涵蓋常見八股文(系統設計、常見框架、分佈式、高併發 ......)、優質面經等內容。 JavaGuide(Java學習面試指南) :https://javaguide.cn/ 首發於:https://javaguide.cn/java/basis/java-basic-questions-01.ht

java8 , 面試 , JAVA

wayn - Spring Security權限控制框架使用指南

在常用的後台管理系統中,通常都會有訪問權限控制的需求,用於限制不同人員對於接口的訪問能力,如果用户不具備指定的權限,則不能訪問某些接口。 本文將用 waynboot-mall 項目舉例,給大家介紹常見後管系統如何引入權限控制框架 Spring Security。大綱如下, 一、什麼是 Spring Security Spring Security 是一個基於 Spring 框架的開源項目,旨在為

權限控制 , springsecurity , springboot , JAVA , spring-security

程序員波特 - Java中鎖的解決方案

前言 在上一篇文章中,介紹了什麼是鎖,以及鎖的使用場景,本文繼續給大家繼續做深入的介紹,介紹JAVA為我們提供的不同種類的鎖。 JAVA為我們提供了種類豐富的鎖,每種鎖都有不同的特性,鎖的使用場景也各不相同。由於篇幅有限,在這裏只給大家介紹比較常用的幾種鎖。我會通過鎖的定義,核心代碼剖析,以及使用場景來給大家介紹JAVA中主流的幾種鎖。 樂觀鎖 與 悲觀鎖 樂觀鎖與悲觀鎖應該是每個開發人員最先接觸

lock , , JAVA , synchronized

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

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

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

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

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

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

wangfang呀 - Vue 單元測試 & 集成測試:把組件從“能跑”變成“可驗證”!

哈嘍,各位小夥伴,歡迎來到我是wangfang呀的博客!我是我是wangfang呀,雖然還在編程的“菜鳥”階段,但我已經迫不及待地想和大家分享我一路上踩過的坑和學到的小技巧。如果你也曾為bug頭疼,那麼你來對地方了!今天的內容希望能夠給大家帶來一些靈感和幫助。 前言 一句話先立旗: 寫測試 ≠ 浪費時間,寫測試 = 把 BUG 容易出現的地方提前炸出來。 這

API , Vue , 後端開發 , JAVA , HTML

mob64ca13fe62db - Unity Shader學習:貼花(Decal)

Unity URP中的Decal(貼花)系統是一種用於將材質投射到場景幾何體表面的技術,主要用於實現血跡、彈孔、塗鴉等動態表面裝飾效果。以下是詳細解析: 核心功能與用途 動態投影:通過Decal 【從UnityURP開始探索遊戲渲染】專欄-直達 Unity URP中的Decal(貼花)系統是一種用於將材質投

性能優化 , 世界座標 , 貼圖 , 前端開發 , Javascript

mb61c46a7ab1eee - 實用指南:【Kafka系列】第四篇| 硬核Kafka面試題集錦:一網打盡32道核心題

1. 請簡述 Kafka 的核心架構組件及作用? 核心組件: Producer:消息生產者,支持批量、異步向 Topic 發送消息。 Broker:服務器節點,存儲消息並提供讀寫服務,集羣可橫向擴展。 Consumer:消息消費者,通過消費者組訂閲 Topic,構建負載均衡。 Topic:消息邏輯分類,物理由多個 Partition

數據 , 負載均衡 , 後端開發 , harmonyos , kafka

CodePulse代碼脈搏 - AI低代碼平台增強版:企業級功能與AI增強

基於現有低代碼平台,添加企業級功能、AI增強和高級集成能力。 1. 企業級工作流引擎 # workflow_engine.py from typing import Dict, List, Any from enum import Enum from datetime import datetime import asyncio class NodeTyp

List , 數據 , 後端開發 , JAVA , Json

崽崽233 - Java(day241):Java 中如何使用 ThreadLocal 實現線程局部變量?

大家好,我是不熬夜崽崽!大家如果覺得看了本文有幫助的話,麻煩給不熬夜崽崽點個三連(點贊、收藏、關注)支持一下哈,大家的支持就是我寫作的無限動力。 前言   在多線程編程中,線程之間可能會共享數據。雖然共享數據有時是必要的,但如果不加控制,可能會導致線程安全問題,如數據競態、髒讀等。這種情況下,我們可以使用 線程局部變量(Thread Local Variables)

共享數據 , 後端開發 , 線程安全 , JAVA , 局部變量