收藏 / 列表

軟件求生 - 面試官笑了:終於有人能把 Tomcat 的 Container 講明白了!

大家好,我是小米,一個在代碼裏泡了九年的程序員。前幾天去面試一家互聯網公司,面試官笑眯眯地問我:“你瞭解 Tomcat 的 Container 架構嗎?” 我心想,這問題挺常見的,屬於那種“問不深就考概念、問深了就勸退”的經典類型。於是我開始講——沒想到,這一講,就聊了快半個小時。 今天就把我當時的回答完整覆盤給你聽,保證聽完後,你不再怕面試官問這個問題。

yyds乾貨盤點 , 主機名 , 加載 , 後端開發 , JAVA , Web

老污的貓 - 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 - 凌晨零點,一個TODO,差點把我們整個部門抬走

那晚杭州的悶熱,至今記憶猶新。 2021年,我剛來到杭州這座“卷城”,入職了一家夢想中的互聯網大廠。作為一名電商新人,我一頭扎進了促銷和會場的研發中。 那晚,我們正為一個S級的“會員閃促”活動做最後的護航,它將在零點準時生效。作戰室裏燈火通明,所有人都盯着大盤,期待着活動上線後,GMV曲線能像火箭一樣發射。 然而,我們等來的不是火箭,而是雪崩。 剛過0點,登登登登… 告警羣裏的消息開始瘋狂刷屏,聲

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

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

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

設計模式 , JAVA , 策略模式

vivo互聯網技術 - 微信小程序端智能項目工程化實踐

作者: vivo 互聯網大前端團隊- You Chen 本文介紹可以在微信小程序上應用的端智能技術方案,聚焦TensorFlow.js推理和微信原生推理,詳細講解這兩種方案在項目中的應用過程,為小程序開發者提供可複用的端智能技術選型策略與工程化解決方案。 1分鐘看圖掌握核心觀點👇 本文提供配套演示代碼,可下載體驗: Github |weixin-mini-ai 一、背景 隨着AI浪潮的

微信小程序 , 人工智能 , 前端

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

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

redis , 緩存 , JAVA , 一致性

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

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

多線程 , JAVA

王中陽講編程 - 我週末突發奇想,讓AI總結了我們最近做的項目:

見字如面,我是王中陽,祝大家升職加薪,早日上岸。 我週末突發奇想,讓AI總結了我們做的GoFrame分佈式微服務電商項目(https://mp.weixin.qq.com/s/ACzEHtvGh2YsU_4fxo83fQ),做的哪裏好?哪裏不好,有哪些優化的空間。 他是這麼説的: AI回覆:我需要幫你總結項目中關於分佈式微服務和高併發的優秀實踐。讓我先查看項目的主要架構和配置,然後分析其中的亮點

go , 後端

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

ReentrantLock 依賴關係如下圖所示 非公平鎖實現原理 ReentrantLock 默認採用非公平鎖。 // ReentrantLock public ReentrantLock() { sync = new NonfairSync(); } 加鎖流程 ReentrantLock 的 lock 方法通過同步器的 lock 方法實現。 // ReentrantLock publi

JAVA , 併發 , juc , 併發編程

Awbeci - Next.js 14集成next-auth(v5)和redux-toolkit最佳實踐

前言 自從next.js14發佈之後,app router變成了官網主推的架構區別於pages router的傳統架構,app router更適合最新的react,於是自己動手把next-auth、redux-toolkit、ant-design、tailwindcss也一同集成進來,分享給大家,如果有錯誤之處歡迎大家指正。 操作 1、創建項目 使用下面命令創建項目,並且選擇tailwind cs

next-auth , redux , next.js

lindsay_bubble - Leetcode 84_柱狀圖中最大的矩形

給定 n 個非負整數,用來表示柱狀圖中各個柱子的高度。每個柱子彼此相鄰,且寬度為 1 。 求在該柱狀圖中,能夠勾勒出來的矩形的最大面積。 想法:感覺這個題考的是數學,是邏輯。 怎麼找矩形呢?就是當前位置的最高點,向左和向右畫矩形,找他比他矮的點left, right,就停止。 高度就是height[i] 寬度就是(right-left+1)-2,因為找到的那兩個點是不能算進

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

我不是碼農 - 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

江南一點雨 - 手把手教小夥伴們使用 Nginx 部署 TienChin 項目!

今天我就來手把手教小夥伴們部署 TienChin 項目,一起把這個項目跑起來,看看到底是個什麼樣的項目。 小夥伴們知道,對於這種前後端分離的項目,我們在實際部署的時候,可以按照前後端分離的方式來部署,也可以按照前後端不分的方式來部署。接下來兩種不同的部署方式我都和小夥伴們來分享一下。 1. 前後端分離部署 1.1 部署架構圖 前後端分離部署的話,我們一般是需要一個 Nginx 服務器,我先畫一個簡

前後端分離 , Nginx

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

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

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

wx690f565d7bc78 - java程序員自測標準

一、 Java 基礎 Java 語言特性: JVM 與內存模型: 理解 JVM 架構(堆、棧、方法區等)、垃圾回收機制(G1、ZGC)、Java 內存模型(JMM)以及 volatile、synchronized 的內存語義。 面向對象 (OOP): 熟練掌握類、對象、繼承、多態、封裝。理解抽象類與接口的區別,以及何時使用它們。

MySQL , API , 緩存 , 數據庫 , 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 - 對圖片進行解釋的大語言模型 - 實踐

文章目錄 @[toc] 一、 能夠對圖片進行解釋的大語言模型有哪些? 1. 閉源/商業API(直接使用,無需部署) 2. 開源/可自部署(重點) 二、 開源的有哪些? 三、 哪些可以部署在自己的機器上? 四、 對機器的最低要求是什麼? 分級推薦配

API , 語言模型 , 後端開發 , 模態 , harmonyos

資深程序設計 - 基於微信小程序的民宿預定系統

1、研究背景 隨着互聯網技術的飛速發展以及移動設備的普及,人們的生活方式和消費習慣發生了深刻變化。在旅遊出行領域,微信小程序作為一種新興的應用形式,憑藉其便捷性、無需下載安裝的特點,迅速成為用户獲取服務的重要渠道。民宿作為一種個性化、多樣化的住宿選擇,受到越來越多遊客的青睞。它不僅提供了一種不同於傳統酒店的住宿體驗,更能讓遊客深入當地生活,感受獨特文化氛圍。民宿預訂過程中仍

微信小程序 , yyds乾貨盤點 , MySQL , 管理系統 , 後端開發 , JAVA

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

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

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

Turbo_K - ThreadLocal有什麼缺點?

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

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