收藏 / 列表

軟件求生 - 為什麼 Redis 單線程卻比多線程還快?真實原因震撼我

大家好,我是小米,一個在互聯網研發裏滾了十來年、對技術既執着又好奇、寫代碼比寫週報開心的 31 歲男人。 今天這篇文章想和你聊聊一個面試“高頻炸裂”的問題——Redis 線程模型到底是怎麼回事? 別小看這個問題,它比你想象的“壞”多了。 有一次我去一家還算知名的互聯網公司面試,面試官是個戴着黑框眼鏡、看起來很斯文的小哥,但當他一開口,我立馬意識到這人不好

單線程 , redis , yyds乾貨盤點 , 數據庫 , 多線程

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

打盹的猴子 - 策略模式(Strategy Pattern)深度解析教程

一、模式定義 策略模式屬於行為型設計模式,通過定義算法族並將其封裝為獨立的策略類,使得算法可以動態切換且與使用它的客户端解耦。該模式通過組合替代繼承,符合開閉原則(對擴展開放,對修改關閉)。 二、核心角色 Strategy(策略接口) 定義所有支持的算法的公共接口 ConcreteStrategy(具體策略) 實現策略接口的具體算法

設計模式 , JAVA , 策略模式

vivo互聯網技術 - 基於three.js的虛擬人陰影渲染優化方案

作者:來自 vivo 互聯網大前端團隊- Su Ning 本文將探討 three.js 中的陰影渲染機制,並分享一些針對性能和效果優化的實用技巧,幫助開發者在不同場景下做出最佳的權衡選擇。 一、前言 在3D網頁應用中,高質量的陰影渲染對於營造場景的真實感至關重要。作為廣泛採用的 WebGL 框架之一,three.js 為開發者提供了多種陰影渲染選項,使得創建生動逼真的光影效果成為可能。然而,實現這

three.js , web3 , 前端

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

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

redis , 緩存 , JAVA , 一致性

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

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

多線程 , JAVA

王中陽講編程 - 面試必問:MyBatis 高頻面試題!

這些都是面試常見的問題,看看下面的問題你都能答得上來嗎? 1.什麼是 MyBatis?它有哪些主要特性和優勢? 2. mybatis 和數據庫交互的原理? 3. mybatis 中#{}、${}的區別 4. Mybatis 自帶連接池都有什麼? 5. Mybatis 的一級、二級緩存? 6. MyBatis 是如何進行分頁的?分頁插件的原理是什麼? 7. m

面試問題 , JAVA , 後端 , Mybatis

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

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

源碼 , JAVA , juc , 併發編程

Awbeci - Next.js-Cookie鑑權+續期+退出登錄

前言 之前寫過關於next.js鑑權操作cookie的文章,Next.js-cookie鑑權+續期1和Next.js-cookie鑑權+續期2,最近chatgpt非常火,於是我問它next.js鑑權最佳實踐,下面是它的回答: 設置合理的 cookie 有效期:合理的 cookie 有效期應該根據網站的特點來確定,通常建議將其設置為一定時間內(如 30 分鐘)。 定時刷新 cookie

next.js , cookie

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

我不是碼農 - mybatis和mybatis-plus的json字段類型失效以及處理原理解析

最近接手一個老項目,進行json類型字段的對象映射,使用的是老版本的mybatis-plus(2.1.8),出現了一些問題 1、@TableFiled註解沒有typeHandler屬性,只能通過@TableField(el = "filed, typeHandler=xxx.TypeHandler")這種方式來配置 2、配置了@TableField(el = "filed, typeH

mybatis-plus , springboot , JAVA , Json , Mybatis

江南一點雨 - JWT 簽名用對稱加密還是非對稱加密?

一 概念梳理 對稱加密和非對稱加密是兩種基本的加密方法,它們在現代密碼學中扮演着核心角色,用於保護數據的安全和隱私。 1.1 對稱加密(Symmetric Encryption) 對稱加密是指加密和解密使用同一個密鑰的過程。這意味着發送方和接收方都必須知道並使用這個共享的密鑰來對信息進行加密和解密。這種方法的優點在於加密和解密速度快,效率高,適合處理大量數據。但是,安全分發密鑰成為一個挑戰,因為如

spring , JAVA , Jwt

Java架構師 - 吹爆Alibaba自研的Spring全能筆記,建議人手一份!

Spring 這個技術棧,想必大家都知道,這玩意麪試必考工作必用,對於每位 Java 程序員來説都是至關重要的;俗話説 Java 開發不學習 Spring 就像士兵上戰場不帶槍,我認為這個比喻很形象。Spring 幾乎佔據了 Java web 的半壁江山,其重要性不言而喻,它跟它後面誕生的一系列解決方案被我們親切的稱為“Spring 全家桶”。 在當下毫不誇張地説,若是不會 Spring 就去面試

spring , spring-mvc , springboot , JAVA , 程序員

wx690f565d7bc78 - java文檔註釋

Java 文檔註釋(JavaDoc)是一種特殊的註釋格式,用於生成標準化的 API 文檔。它以 /** 開頭,以 / 結尾,通常用於類、方法、字段、接口等元素上方,描述其功能、參數、返回值、異常等信息。 基本格式 文檔註釋通常包含以下部分: java 運行 /* 類/方法/字段的簡要描述(單行) 詳細描述(可選,多行)

文檔註釋 , 字段 , MySQL , 數據庫 , JAVA

呀哈哈kk - 【詳解】HadoopMapReduce實現從海量數字信息中獲取最大值

Hadoop MapReduce實現從海量數字信息中獲取最大值 在大數據處理領域,Hadoop是一個非常重要的工具。它通過MapReduce編程模型來處理和生成大規模數據集。本文將介紹如何利用Hadoop的MapReduce框架從海量數字信息中找出最大值。 1. 環境準備 1.1 安裝Hadoop 確保你的環境中已經安裝了Hadoop。如果還沒有安裝,可以

hadoop , text , 後端開發 , JAVA , apache

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

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

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

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

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

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

鴿鴿程序猿 - 【項目】【抽獎系統】獎品創建

一、圖片上傳功能 1.1 配置 application.properties 配置上傳⽂件路徑 ## 圖⽚服務 ## pic: local-path: D:/PIC # spring boot3 升級配置名 spring: web: resources: static-locations: classpath:/static/,file:

spring , yyds乾貨盤點 , 後端開發 , JAVA , Css

資深程序設計 - 基於python的高校後勤報修系統

1、研究背景 隨着高校規模的不斷擴大,後勤管理工作變得日益繁雜。傳統的後勤報修方式主要依賴人工操作,例如學生髮現設施設備故障後,需通過口頭報告或填寫紙質報修單的形式提交申請,維修人員則根據人工分配的任務進行維修。這種模式存在諸多弊端,如信息傳遞效率低下,容易出現信息丟失、延誤等情況,且難以對維修流程進行有效跟蹤和管理。在當今數字化時代,高校急需藉助信息技術提升後勤管理效率,

yyds乾貨盤點 , MySQL , Vue , 後端開發 , JAVA , Web

g天命風流 - 併發編程之常見線程安全類以及一些示例的詳細解析

常見線程安全類 String Integer StringBuffer Random Vector Hashtable java.util.concurrent 包下的類 這裏説它們是線程安全的是指,多個線程調用它們同一個實例的某個方法時,是線程安全的。也可以理解為 Hashtable table = new Hashtable()

項目代碼 , 線程安全 , JAVA , 前端開發 , Javascript

Turbo_K - mysql的查詢優化器如何選擇執行計劃

MySQL 查詢優化器(Query Optimizer)負責決定如何執行一個查詢,它通過選擇最優的 執行計劃 來實現查詢的高效執行。查詢優化器的目標是根據查詢的複雜性、表的大小、索引的可用性等因素選擇最優的執行路徑。下面將詳細介紹 MySQL 查詢優化器是如何選擇執行計劃的。 1. 執行計劃概述 執行計劃 是 MySQL 查詢優化器選擇的一系列操作步驟,指明如何掃描表

MySQL , 執行計劃 , 查詢優化 , 後端開發 , JAVA