收藏 / 列表

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

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

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

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

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

springboot , JAVA , 故障 , 後端 , 前端

悲傷的鴨蛋 - dependencies、dependencyManagement區別

對比項 dependencyManagement dependencies 功能 聲明版本(不引入依賴) 實際引入依賴到項目 作用 統一管理版本,避免衝突 決定項目運行時依賴 生效範圍 當前項目及子項目 僅當前項目 版本控制 子項目默認繼承 可覆蓋父項目版本 總結: dependencyManagement:定規矩(版本),不幹活(不引入)。 dependenc

maven , dependencies , dependency-management

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

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

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

vivo互聯網技術 - 擁抱新一代 Web 3D 引擎,Three.js 項目快速升級 Galacean 指南

作者: vivo 互聯網前端團隊- Su Ning 本文從多個維度對比 Galacean 和 Three.js 兩款Web3D 引擎的差異,並介紹擬我形象項目從Three.js 切換到 Galacean 以後帶來的提升以及項目遷移的心得,為其他 Three.js 項目升級到 Galacean 提供參考。 1分鐘看圖掌握核心觀點👇 一、背景 Web 3D 技術的發展日新月異,為我們帶來了

three.js , 前端

牛肉燒烤屋 - 為什麼不應該在事務中嵌套發送 MQ 消息和 RPC 調用?

引言 或許你曾寫過這樣的代碼: @Transaction // 開啓事務 public void craeteOrder(Order order) { saveOrder(order); sendMQ(order); // 或者是發送 rpc } 在一個事務內,向 MySQL 寫入數據,接下來發送 MQ 或 RPC 調用。在大部分情況下,這樣寫好像沒什麼問題 但如果此時我們下游執行

MySQL , mq , JAVA , 事務 , 後端

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

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

中間件 , JAVA , 消息隊列

王中陽講編程 - 面試阿里,直呼太難了!

我發現一件事,今年的秋招比去年來的更早一些,像什麼小度、深信服、OPPO、科大訊飛、華夏銀行等等知名的公司都開始了,想問問要找工作的各位:你們準備好了嗎? 這真不是危言聳聽,需要參加今年秋招的小夥伴真的要抓緊時間準備了,八股、算法、項目都要按部就班地往前推進了,畢竟時間不等人,我在星球裏還遇到過秋招錯過、春招也錯過的球友,後續真的是十分被動。 今天分享一位粉絲投稿的阿里面經,這是他第一次約到阿里的

阿里巴巴 , 面試 , go

字節幺零二四 - 併發編程:Java常用線程調度方法及實現原理

本文將介紹Java常用線程調度方法及實現原理,包括sleep、wait¬ify、join、parkunpark。 線程方法 方法 説明 start() 用於啓動線程,讓線程進入就緒狀態 ; RUNNABLE 多次調用拋 IllegalThreadStateException 異常 run() 線程運行

JAVA , 併發 , juc

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

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

webflux , springcloud , springboot , JAVA

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

我不是碼農 - hibernate的@ManyToOne(fetch=FetchType.LAZY)無效原因

遇到了一個hibernate查詢問題,當查詢實體時,並沒有任何顯式調用@ManyToOne註解的屬性的情況下,依然會進行查詢,(開始使用idea進行debug的時候,發現在debug過程中,idea會觸發hibernate的加載操作,當然了這是另外一個問題),我在hibernate官網找到了答案: https://docs.jboss.org/hibernate/orm/6.4/usergu

hibernate , jpa , spring-data-jpa

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

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

前後端分離 , Nginx

Java架構師 - IO:阻塞和非阻塞、同步和異步

阻塞和非阻塞 阻塞的時候線程會被掛起 阻塞: 當數據還沒準備好時,調用了阻塞的方法,則線程會被掛起,會讓出CPU時間片,此時是無法處理過來的請求,需要等待其他線程來進行喚醒,該線程才能進行後續操作或者處理其他請求。 非阻塞: 意味着,當數據還沒準備好的時候,即便我調用了阻塞方法,該線程也不會被掛起,後續的請求也能夠被處理。 同步 同步和異步跟串行和並行非常形似。 假設在一個場景下:完成一個大任務需

阻塞 , JAVA , io , 異步 , 後端

wx690f565d7bc78 - java程序員自測標準

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

MySQL , API , 緩存 , 數據庫 , JAVA

呀哈哈kk - 【詳解】Python獲取系統性能信息

Python獲取系統性能信息 在開發和維護應用程序的過程中,瞭解系統的性能狀態是至關重要的。這不僅可以幫助我們優化程序的運行效率,還可以及時發現並解決潛在的問題。Python 作為一種強大的編程語言,提供了多種方式來獲取系統的性能信息。本文將介紹如何使用 psutil 庫來獲取包括CPU、內存、磁盤和網絡在內的系統性能數據。 安裝 psutil psutil(P

sed , 後端開發 , 磁盤分區 , JAVA , 網絡接口

清醒的人最荒唐 - SpringBoot實現自定義路由覆蓋

背景 公司最近有一個項目二期需要對一些功能進行改造,涉及部分框架內置業務接口個性化定製,兼容老接口功能並且增加一部分新的數據返回,由於前端調用這些接口分佈較多且較為零碎,修改測試成本較大,所以打算在框架層面提供路由覆蓋功能,加快項目進度減少無技術含量的修改帶來的系統風險 設計 提供自定義註解指定需要覆蓋的路由及新路由地址 系統啓動時掃描所有註解

系統啓動 , List , 自定義 , 後端開發 , JAVA

mb61c46a7ab1eee - Ubuntu 20.04 利用 Issac Gym 進行宇樹G1人形機器人進行強化學習訓練(Linux仿真)

目錄 一、PBHC源碼下載 二、創建虛擬環境 三、安裝 Isaac Gym 四、安裝 rsl_rl 五、安裝Unitree 強化學習相關庫 5.1 安裝unitree_rl_gym 5.2unitree_sdk2py(可選) 六、強化學習訓練 6.1 訓練命令 6.2 效果演示 Play 6.3 Mujuco 仿真

github , Css , 前端開發 , HTML , Git , Python

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

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

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

g天命風流 - 併發編程之Java 對象頭的詳細解析

Java 對象頭 以 32 位虛擬機為例 普通對象 |--------------------------------------------------------------| | Object Header (64 bits) | |------------------------------------|-------------------------|

word , 項目代碼 , JAVA , 前端開發 , Javascript

Turbo_K - ThreadLocal有什麼缺點?

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

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