收藏 / 列表

老污的貓 - 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 - 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

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

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

redis , 緩存 , JAVA , 一致性

seazhan - 【手寫 RPC】手寫一個RPC框架 使用Netty + java虛擬線程

【手寫RPC框架】如何使用netty手寫一個RPC框架 結合新特性 虛擬線程 什麼是RPC框架 RPC(Remote Procedure Call)遠程過程調用,是一種通過網絡從遠程計算機程序上請求服務,而不需要了解底層網絡技術的協議。RPC框架是一種遠程調用的框架,它可以讓你像調用本地方法一樣調用遠程方法。 避免了開發人員自己去封裝網絡請求、連接管理、序列化、反序列化等操作,提高了開發效率。 N

框架學習 , 協程 , rpc , JAVA

王中陽講編程 - 騰訊二面:Redis與MySQL雙寫一致性如何保證?

前不久,有位朋友去騰訊面試,他説被問到 Redis 與 MySQL 的一致性如何保證? 本文將跟大家一起來探討如何回答這個問題。 為什麼要使用 Redis? 首先為了提升服務器的性能,一般都是給服務器加上 redis,讓其作為數據庫的緩存。這樣,在客户端請求數據時,如果能在緩存中命中數據,那就查詢緩存,不用再去查詢數據庫,從而減輕數據庫的壓力,提高服務器的性能。 數據更新時,先更新數據庫,還是先更

redis , 騰訊 , MySQL , 面試問題

Awbeci - React項目集成Immutable.js

1、前言 本文章項目的依賴包及其版本如下: Package Name Version antd ^3.16.6 connected-react-router ^6.4.0 customize-cra ^0.2.12 immutable ^4.0.0-rc.12

react , redux-saga , redux , immutable-js , redux-persist

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 - centos7 安裝 nginx

centos7 安裝 nginx 安裝包 鏈接: https://pan.baidu.com/s/1kpAYYX_yy-vXX-1vsCPhoA 提取碼: qrtb 上傳 新創建usr/local/nginx文件夾,放到文件夾下 解壓 tar -zxvf nginx-1.9.9.tar.gz 安裝編譯環境 安裝gcc,源碼編譯依賴 gcc 環境 yum -y install gcc-c+

centos7 , Linux , JAVA , Nginx

witt - mybatis升級到3.4.5後導致的偽bug

關鍵詞: mybatis、foreach、foreach context scope、MyBatis3.4.5、BindingException 背景: 隨着團隊開發人數越來越多,項目迭代越來越久,加上一些半吊子開發的盲目自信,項目如果不夠健壯,就會出現莫名其妙的問題,甚至讓測試團隊對某些開發一瞬間喪失全部信任。 起因是團隊有150多個服務的分佈式微服務項目,服務之間有RPC調用關係,也有公

spring , maven , mapper , JAVA , Mybatis

ximinghui - 國際化(i18n)

國際化(i18n) 源: https://blog.ximinghui.org/e9b09f41/index.html 以 Java 21 為例,簡單探索i18n。 一、什麼是國際化 / i18n? 國際化是中文名,i18n是國際化英文單詞“internationalization”的縮寫,因為第一個字母i和最後一個字母n中間有18個字母。 應用程序國際化就是應用程序適應不同的地區/國家和語言。比

JAVA , i18n

Java陳序員 - 再見 Postman!一款開源免費的全能 API 客户端工具!

大家好,我是 Java陳序員。 在日常開發工作中,常常需要進行 API 接口調試,通常是藉助 Postman 進行調試或者接口管理。 但是基於 Electron 框架開發的 Postman,啓動速度較慢,且運行時會佔用較多內存和 CPU 資源。而且依賴雲同步功能,用户的接口集合、密鑰、Token 等敏感信息可能存儲在第三方服務器,存在數據泄露風險。此外,一些高級功能,還需要進行付費。 今天,給大家

github , rust , postman

半夏之沫 - 數據庫連接池-Druid數據庫連接池源碼解析

大家好,我是半夏之沫 😁😁 一名金融科技領域的JAVA系統研發😊😊 我希望將自己工作和學習中的經驗以最樸實,最嚴謹的方式分享給大家,共同進步👉💓👈 👉👉👉👉👉👉👉👉💓寫作不易,期待大家的關注和點贊💓👈👈👈👈👈👈👈👈 👉👉👉👉👉👉👉👉💓關注微信公眾號【技術探界】 💓👈👈👈👈👈👈👈👈 前言

druid , datasource , 數據庫連接池 , jdbc

jacheut - 談談HashMap的一些問題

hashMap在多線程環境下的表現 在jdk1.7中多線程put時可能會導致get無限循環,具體表現為CPU使用率100%; 該方法實現的機制就是將每個鏈表轉化到新鏈表,並且鏈表中的位置發生反轉,而這在多線程情況下是很容易造成鏈表迴路,從而發生 get() 死循環。所以只要保證建新鏈時還是按照原來的順序的話就不會產生循環(JDK 8 的改進)。即在jdk1.7是採用的頭插法,在jdk1.8使

hashmap , JAVA

碼猿技術專欄 - SpringBoot大文件上傳卡死?分塊切割術搞定GB級傳輸,速度飆升!

在互聯網應用中,大文件上傳是一個常見而棘手的挑戰。傳統的單文件上傳方式在面對大文件時經常面臨超時、內存溢出等問題。本文將深入探討如何利用Spring Boot實現高效的分塊上傳方案,解決大文件傳輸痛點。 一、為什麼需要文件分塊上傳? 當文件上傳超過100MB時,傳統上傳方式存在三大痛點: 網絡傳輸不穩定: 單次請求時間長,容易中斷 服務器資源耗盡: 大文件一次性加載導致內存溢出 上傳失敗代

spring , springcloud , springboot , JAVA

福 - Spring FrameWork從入門到NB - Ioc

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

spring , JAVA , ioc

點墨 - Qt connectiontype

Qt的信號槽連接機制如下: Qt::AutoConnection:默認,如果信號和槽在同一線程,使用DirectConnection;否則使用QueuedConnection。 Qt::DirectConnection:槽函數立即在信號發出的線程執行,同步。 Qt::QueuedConnection:槽函數在接收者的線程的事件循環中異步執行。 Qt::BlockingQueuedCon

qt , connection

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

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

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

清醒的人最荒唐 - 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

華為雲開發者聯盟 - 4問教你搞定java中的ThreadLocal

摘要:ThreadLocal是除了加鎖同步方式之外的一種保證規避多線程訪問出現線程不安全的方法。 本文分享自華為雲社區《4問搞定java中的ThreadLocal》,作者:breakDraw。 多線程訪問同一個共享變量的時候容易出現併發問題,特別是多個線程對一個變量進行寫入的時候,為了保證線程安全,一般使用者在訪問共享變量的時候需要進行額外的同步措施才能保證線程安全性。ThreadLocal

threadlocal , 線程 , 多線程 , JAVA , 變量

cicadasmile - 理解Java中對象基礎Object類

一、Object簡述 源碼註釋:Object類是所有類層級關係的Root節點,作為所有類的超類,包括數組也實現了該類的方法,注意這裏説的很明確,指類層面。 所以在Java中有一句常説的話,一切皆對象,這話並不離譜。 1、顯式擴展 結論驗證 既然Object作為所有類的父級別的類,則不需要在顯式的添加繼承關係,Each01編譯期就會提示移除冗餘。 public class Each01 extend

JAVA , object

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