原创 Redis緩存淘汰策略(對內存的管理)

文章目錄問題出現的背景LRU算法Redis使用的LRU算法算法的底層數據結構何時執行,如何執行 問題出現的背景 當 Redis 內存超出物理內存限制時,內存的數據會開始和磁盤產生頻繁的交換 (swap)。交換會讓 Redis 的

原创 發現併發容量問題---tomcat內嵌容器參數調整

文章目錄Server端併發線程數上不去查看內嵌的tomcat的容器的配置修改配置(顯示)定製化內嵌tomcat開發(修改keepAlive)存在問題線程數據庫 QPS查詢優化QPSTPS Server端併發線程數上不去 當使用j

原创 ConcurrentHashMap面試大總結

底層數據結構 JDK7 在JDK1.7中ConcurrentHashMap採用了數組+Segment+分段鎖的方式實現。 分段鎖 ConcurrentHashMap中的分段鎖稱爲Segment,它即類似於HashMap的結構

原创 HashMap面試大總結

文章目錄hashMap特性、原理、內部數據結構hashMap的put方法/get方法hashMap中的hash函數怎麼實現?還有哪些hash的實現方式?什麼是hash衝突?如何解決hash衝突?開放定址法2.2 鏈地址法(拉鍊法)

原创 04秒殺系統業務之二 商品服務

架構設計(基礎的組件) 涉及到的數據表 涉及到的模型(抽象,根據各層的需要) 根據各層不同的需求需要進行POJO的各種封裝 獲取商品的列表 前端請求的信息 // 定義全局商品數組信息 var g_itemLis

原创 02Java BIO

Java BIO基本介紹 Java BIO工作機制 對BIO編程流程的處理 JavaBIO應用實例 package com.zj.bio; import java.io.IOException; import jav

原创 01 JavaIO模型

IO模型 IO模型基本說明 BIO、NIO、AIO適用場景分析

原创 05秒殺系統業務之三 訂單服務

架構設計(基礎的組件) 涉及到的數據表 用戶信息表 user_info 字段 定義 id 用戶id name 用戶名 gender 性別0爲女,1爲男 age 年齡 register_mode 註冊方

原创 06秒殺系統業務之一 促銷服務

促銷服務在之前的基礎上,進行業務的增加。 表 同時在商品的Model中添加一個促銷字段 PromoModel 若發現這個商品有促銷字段則在促銷中添加 代碼 @RequestMapping(value = "/c

原创 線程間通信機制

文章目錄volitale和synchronized等待通知機制synchronized+object方式reentanLock+condition方式ThreadJoinThreadLocal機制管道輸入/輸出流 PipedWri

原创 線程池剖析

文章目錄爲什麼要用線程池常規實現的線程池(通過創建不同的ThreadPoolExecutor對象)JUC裏面線程池內部實現hanler阻塞隊列線程池拒絕策略線程池任務調度策略線程池中submit和execute有什麼區別??線程數

原创 03Nginx的配置文件

nginx 安裝目錄下,其默認的配置文件都放在這個目錄的 conf 目錄下,而主配置文件 nginx.conf 也在其中,後續對 nginx 的使用基本上都是對此配置文件進行相應的修改

原创 AQS以及其典型應用ReentranLock

文章目錄ReentranLock原理:併發基礎組件AQS與ReetrantLockAQS介紹同步隊列AQS的使用ReentranLock分析ReentranLock與Synchronized的區別ReentanLock與AQS關係

原创 06 Netty核心模塊組件

文章目錄BootStrap、ServerBootStrap(配置引導類)Future、ChannelFutureChannelEnventLoopGroup和其實現類NioEventLoopGroupSelector(聚合在Nio

原创 Synchronized馬士兵底層剖析

文章目錄Synchronized剖析synchronizerd對象頭的鎖synchronized鎖升級過程偏向鎖(只有一個線程訪問鎖)輕量級鎖/自旋鎖(多個線程搶)重量級鎖(用戶太升級到內核態,操作系統互斥量)鎖消除鎖粗化sync