原创 數據庫之樂觀鎖與悲觀鎖

(如需要牛客網的java面經電子版本,可以加個關注,私信我,免費分享) 悲觀鎖 : 總是假設最壞的情況,每次去拿數據的時候都認爲別人會修改,所以每次在拿 數據的時候都會上鎖,這樣別人想拿這個數據就會阻塞直到它拿到鎖(共享資 源每次

原创 JVM java虛擬機-----內存

1.jvm定義:java程序的運行環境 2.好處 一次編寫 處處運行 自動內存管理,垃圾回收功能 數組下標越界檢查 多態 3.jvm jre jdk的區別 4.學習路線 5.內存結構 程序計數器 虛擬機棧 本地方法棧

原创 redis的過期策略都有哪些?內存淘汰機制都有哪些?寫一下LRU代碼實現?

redis的過期策略都有哪些?內存淘汰機制都有哪些?寫一下LRU代碼實現? 往redis裏寫的數據怎麼沒了? 啥叫緩存?用內存當緩存。內存是無限的嗎,內存是很寶貴而且是有限的,磁盤是廉價而且是大量的。可能一臺機器就幾十個G的內存,

原创 併發專題(java)

Synchronized 相關問題 Synchronized 用過嗎,其原理是什麼? 被 Synchronized 修飾過的程序塊,在編譯前後被編譯器生成了 monitorenter 和 ==monitorexit ==兩個字節碼

原创 爲啥使用B+樹作爲索引而不是b樹,他們之間的區別是啥

前天美團面試,問到了這個題目,所以我特意記了下來 爲什麼選擇B樹/B+樹,而不是紅黑樹? 我們知道MySQL的數據是存放在磁盤上的,而讀取磁盤的IO開銷非常大,當需要定位到磁盤的具體位置時就需要幾次IO操作,所以每次進行查找時就要

原创 在瀏覽器中輸入url地址到顯示主頁的過程,整個過程會使用哪些協議?TCP 三次握手和四次揮手

這是我在面試中遇到的一個問題 總體來說分爲以下幾個過程: DNS解析 TCP連接 發送HTTP請求 服務器處理請求並返回HTTP報文 瀏覽器解析渲染頁面 連接結束 TCP 三次握手和四次揮手 客戶端–發送帶有 SYN

原创 JVM java虛擬機-----垃圾回收

1、如何判斷對象可以被回收 引用計數法 可達性分析算法 2、可達性分析算法 java虛擬機中的垃圾回收器採用可達性分析來探索所有存活的對象 掃描堆中的對象,看是否能夠沿着GC Root對象爲起點的引用鏈找到該對象,找不到,表

原创 redis如何通過讀寫分離來承載讀請求QPS超過10萬+?

(如需要牛客網的java面經電子版本以及其他學習視頻,可以加個關注,私信我,免費分享) 1.redis不能支撐高併發的瓶頸在哪裏? 單機 2、如果redis要支撐超過10萬+的併發,那應該怎麼做? 單機的redis幾乎不太可能說

原创 類加載過程JVM

jvm類加載分爲5個部分:加載、驗證、準備、解析、初始化 加載 加載是類加載的一個階段,這個階段會在內存中生成一個代表這個類的java.lang.class對象,作爲方法區這個類的各種數據的入口 驗證 這一個階段的主要目的是爲了

原创 MySQL 性能優化的 21 個最佳實踐

(如需要牛客網的java面經電子版本以及其他學習視頻,可以加個關注,私信我,免費分享) 1. 爲查詢緩存優化你的查詢  大多數的 MySQL 服務器都開啓了查詢緩存。這是提高性最有效的方法之 一,而且這是被 MySQL 的數據庫引

原创 計算機基礎知識------操作系統

計算機系統概述 操作系統的概念 操作系統 是指控制和管理整個計算機系統的硬件與軟件資源,合理地組織、調度計算機的工作與資源的分配,進而爲用戶和其他軟件提供方便接口與環境的程序集合。 操作系統是計算機系統中最基本的系統軟件。

原创 計算機基礎知識---數據結構

數據結構 時間複雜度 時間複雜度是指執行算法所需要的計算工作量,因爲整個算法的執行時間與基本操作重複執行的次數成正 比,所以將算法中基本操作的次數作爲算法時間複雜度的度量,一般情況下,按照基本操作次數最多的輸 入來計算時間複雜

原创 CurrentHashMap的jdk1.7與jdk1.8的區別

JDK1.7版本的CurrentHashMap的實現原理 (如需要牛客網的java面經電子版本,可以加個關注,私信我,免費分享) 在JDK1.7中ConcurrentHashMap包含兩個內部靜態類:Segment、HashEnt

原创 面試官問我微信支付流程是怎樣的?我是這樣給出了滿分答案

面試官問我微信支付流程是怎樣的? 申請微信公衆號及支付功能申請:根據公衆號申請流程申請即可 獲取商戶支付配置信息及支付測試配置: 支付授權目錄最多可以配置三個域名,測試授權目錄只可以一個,這裏需要 注意的是域名大小寫必須要網站U

原创 面試官問你對消息隊列都有哪些瞭解?我的回答讓面試官點贊

爲什麼使用消息隊列啊?消息隊列有什麼優點和缺點啊?kafka、activemq、rabbitmq、rocketmq都有什麼區別以及適合哪些場景? 1.消息隊列的常見使用場景吧,其實場景有很多,但是比較核心的有3個:解耦、異步、削峯