收藏 / 列表

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

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

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

老污的貓 - 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 , 程序員 , 後端

悲傷的鴨蛋 - Mybatis常見運行報錯(持續更新...)

報錯一: Caused by: org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1 解決辦法: setting - Editor - File Encodings,編碼方式都選擇UTF-8 報錯二: Cause: java.sql

MySQL , JAVA , Mybatis , Web

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

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

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

vivo互聯網技術 - vivo Pulsar 萬億級消息處理實踐(4)-Ansible運維部署

作者:Liu Sikang、互聯網大數據團隊-Luo Mingbo Pulsar作為下一代雲原生架構的分佈式消息中間件,存算分離的架構設計能有效解決大數據場景下分佈式消息中間件老牌一哥"Kafka"存在的諸多問題,2021年vivo 分佈式消息中間件團隊正式開啓對Pulsar的調研,2022年正式引入Pulsar作為大數據場景下的分佈式消息中間件,本篇文章主要從Pulsar運維痛點、Ansi

中間件 , 大數據 , 運維自動化 , ansible , pulsar

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

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

redis , 緩存 , JAVA , 一致性

seazhan - 【RocketMQ 消息中間件】RocketMQ篇之-消息存儲 為什麼性能高 CommitLog 刷盤機制 同步 異步

RocketMQ篇之-消息存儲 RocketMQ作為一款分佈式消息中間件,高可靠性是其最重要的特性之一。 所以需要將消息進行持久化存儲,以保證消息不丟失。 RocketMQ的消息存儲是RocketMQ的核心組件之一,負責消息的存儲和傳輸。RocketMQ的消息存儲主要包括CommitLog、ConsumeQueue、IndexFile、Checkpoint等幾個部分。 (前置)消息存儲交互流

中間件 , JAVA , 消息隊列

王中陽講編程 - 頭一次見問這麼多kafka的問題

分享一篇粉絲朋友整理的面經,第一次遇見問那麼多kafka的問題,看看他是怎麼回答的。 先來看看 職位描述: 崗位職責: 負責基於 Go 的後端服務的設計、開發和維護; 參與系統架構設計,確保系統的高可用性、高性能和可擴展性; 編寫高質量、可維護的代碼,並進行代碼評審; 解決複雜的技術問題,優化系統性能; 與跨職能團隊合作,確保項目按時交付; 編寫技術文檔和開發規範,提升團隊整體開發效

kafka , 後端

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

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

遞歸 , 算法 , 回溯法

Awbeci - Java-實現axios上傳文件接口攜帶多參數

前言 最近在實現小圖片上傳的過程中剛開始我使用base64字符串做為後台接口參數傳遞給後台並解析保存也沒問題,但是發現第2次及之後就報下面的錯: org.springframework.core.io.buffer.DataBufferLimitException: Exceeded limit on max bytes to buffer : 262144 然後問了AI給的回覆如下: 這個問題通

Axios , JAVA , Javascript

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

我不是碼農 - spring使用@Async註解導致循環依賴問題異常的排查

因為我用到了@async來實現異步操作,在本地跑的時候一直沒有報錯,可是當我打包到服務器啓動的時候卻報了一個BeanCurrentlyInCreationException Bean with name 'xxx' has been injected into other beans [xxx2] in its raw version as part of a circular reference

spring , async , aop , springboot , JAVA

江南一點雨 - 前綴索引,在性能和空間中尋找平衡

@[toc] 我們在項目的具體實踐中,有時候會遇到一些比較特殊的字段,例如身份證號碼。 鬆哥之前有一個小夥伴做黑龍江省的政務服務網,裏邊有一些涉及到用户身份證存儲的場景,由於存儲的數據大部分都是當地的,此時如果想給身份證號碼建立索引的話,小夥伴們知道,身份證前六位是地址碼,在這樣的場景下,給身份證字段建立索引的話,前六位的區分度是很低的,甚至前十位的區分度都很低(因為出生年份畢竟有限,一個省

MySQL , java-ee , JAVA , java-web

Java架構師 - 騰訊架構師極力推薦:Java多線程與Socket實戰微服務框架

在這個技術不斷更新的年代,跟不上時代變化的速度就會被刷掉,特別是咱們程序員這一羣體,技術不斷更新的同時也要同時進步,不然長江後浪推前浪,前浪...... 一個程序員從一個什麼都不懂的小白在學到有一定的Java基礎的時候肯定是要學習更多的技術充實自己,甚至還要往架構師方向靠。但是一個優秀的架構師必須要有紮實的編程功底和豐富的理論知識,不光要能完成架構設計,更要有能力將設計轉換為實際的產品。不會寫代碼

socket , 微服務 , 多線程 , JAVA , 程序員

wx690f565d7bc78 - java代碼可接受感應信號

一、場景 1:接收硬件傳感器信號(最常用) 如果感應信號來自硬件設備(如温度傳感器、紅外感應器、運動傳感器等),通常通過以下方式與 Java 程序通信: 串口通信(RS-232/USB):傳感器通過串口線或 USB 轉串口連接電腦,Java 用RXTX或jSerialComm庫讀取串口數據。 USB 直接通信:部分傳感器支持 USB HID 協議,可

System , 串口 , 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 - Linux內存 --- pte_offset_map/pte_offset_kernel - 實踐

文章目錄 前言 一、walk_pte_range 二、pte_offset_kernel 三、pte_offset_map 3.1 highmem 3.2 no highmem 前言 pte_offset_kernel() 用於內核頁表,因為內核頁表頁恆在線性映射區,可直接訪問; p

頁表 , Linux , Css , 直接訪問 , 前端開發 , HTML

資深程序設計 - 基於android的個人健康管理系統

1、研究背景 在當今社會,隨着人們生活水平的提高和生活節奏的加快,健康問題逐漸成為社會關注的焦點。現代人對個人健康管理的需求日益增長,然而傳統的健康管理方式往往存在諸多不便,如信息記錄不完整、數據分散、健康諮詢不及時等。此外,傳統的健康管理方式通常依賴於紙質記錄或零散的電子數據,不僅效率低下,而且難以實現數據的全面整合與分析。在新冠疫情的背景下,人們對健康的關注度進一步提升

yyds乾貨盤點 , 管理系統 , 後端開發 , Android , JAVA

g天命風流 - 併發編程之變量的線程安全分析的詳細解析

4.4 變量的線程安全分析 成員變量和靜態變量是否線程安全? 如果它們沒有共享,則線程安全 如果它們被共享了,根據它們的狀態是否能夠改變,又分兩種情況 如果只有讀操作,則線程安全 如果有讀寫操作,則這段代碼是臨界區,需要考慮線程安全 局部變量是否線程安全? 局部變量是線程安全的 但局部變量引用的對象則未必 如果該對象沒有逃離方法的作用訪問,它是

d3 , 線程安全 , JAVA , 前端開發 , Javascript

Turbo_K - ThreadLocal有什麼缺點?

ThreadLocal 是 Java 中一個用於為每個線程提供獨立變量副本的類,它允許每個線程都能獨立地訪問和修改變量,避免了多線程間的競爭和同步問題。它是通過在每個線程中維護一個 線程局部變量 來實現的,通常用於線程間的數據隔離。 然而,ThreadLocal 並不是完美的,它有一些缺點和潛在的問題,特別是在多線程和資源管理方面。以下是 ThreadLocal 的一些主要

線程池 , 後端開發 , 多線程 , JAVA , 解決方案