原创 對秒殺系統和有損服務的思考

秒殺系統設計思路 用戶量不大的策略 隊列+redis全局計數器即可 用戶量大的策略(柔性服務策略) 前端處理95%的請求直接返回已經售光(前端隨機數,矩陣,離散等概率算法) 全局計數處理 降級跳過非關鍵邏輯 中間錯誤異步修復 業務流程上可

原创 發現動態熱點數據

發現動態熱點數據 我們可以通過賣家報名或者大數據預測這些手段來提前預測靜態熱點數據,但這其中有一個痛點,就是實時性較差,如果我們的系統能在秒級內自動發現熱點商品那就完美了。 能夠動態地實時發現熱點不僅對秒殺商品,對其他熱賣商品也同樣有價值

原创 idea 集成github並上傳項目

1.先申請github帳號,密碼,配置github 2.下載並安裝git,然後集成git 3.上傳項目到github

原创 MySQL -- 理想的索引

•頻 1: 索引長度直接影響索引文件的大小,影響增刪改的速度,並間接影響查詢速度(佔用內存多) 解決方案:針對列中的值,從左往右截取部分,來建索引 ①: 截的越短, 重複度越高,區分度越小, 索引效果越不好 ②: 截的越長, 重複度越低,

原创 MQ 選型以及使用中的問題和解決方案

MQ(Message Queue)消息隊列 MQ:是一種應用程序對應用程序傳遞消息的中間件,是通過讀寫出入隊列來通信。 三種通訊模式 1.點對點,2.多點廣播,3.發佈和訂閱(一般用這個) 優點: 1.異步:執行失敗重試,提高接口的性能(

原创 算法學習筆記

複雜度分析 1.只關注循環次數最多的一行代碼 2.總複雜度等於量級最大代碼的複雜度 3.嵌套代碼的複雜度等於嵌套代碼內外複雜度的乘積 單鏈表結構和順序存儲結構的優缺點   存儲分配方式 時間性能 空間性能 單鏈表結構 用一組任意的存儲單元

原创 Java 生產者消費者實現

import java.util.concurrent.*; import java.util.concurrent.atomic.AtomicInteger; public class ConsumerAndProduct {

原创 Java 基礎總結

Http和Https(區別) HTTP:超文本傳輸協議,是瀏覽器和服務端的請求和響應的標準TCP(網絡傳輸協議),特點:無狀態 HTTPS:是以安全爲目的的HTTP通道是HTTP的安全版,在HTTP中間增加了SSL層傳輸的安全 區別

原创 瞭解Jvm類加載機制

類加載流程(七個生命週期階段) 一、類的加載 我們平常說的加載大多不是指的類加載機制,只是類加載機制中的第一步加載。在這個階段,JVM主要完成三件事: 1、通過一個類的全限定名(包名與類名)來獲取定義此類的二進制字節流(Class文件)

原创 HTTP/1,HTTP/2,HTTPS 之間的區別

HTTP:超文本傳輸協議,是瀏覽器和服務端的請求和響應的標準TCP(網絡傳輸協議),特點:無狀態 HTTPS:是以安全爲目的的HTTP通道是HTTP的安全版,在HTTP中間增加了SSL層傳輸的安全 Http 與 Https的區別 區別

原创 技能儲備

JAVA基礎 JVM 設計模式 技術棧 Redis(Remote Dictionary Server(遠程數據服務))緩存 Redis是基於內存的高速緩存key-value數據庫(C語言開發) 優點: 1.基於內存讀寫速度快,可以支持高性

原创 redis的使用和問題的解決策略

Redis(Remote Dictionary Server(遠程數據服務))緩存 Redis是基於內存的高速緩存key-value數據庫(C語言開發) 優點: 1.基於內存讀寫速度快,可以支持高性能的業務場景 2.支持豐富的數據結構(S

原创 MQ的選型和使用問題

MQ(Message Queue)消息隊列 MQ:是一種應用程序對應用程序傳遞消息的中間件,是通過讀寫出入隊列來通信。 三種通訊模式 1.點對點,2.多點廣播,3.發佈和訂閱(一般用這個) 優點: 1.異步:執行失敗重試,提高接口的性能(

原创 mysql 服務器邏輯架構

第一層,每個客戶端連接都會在服務器進程中擁有一個線程,服務器會緩存這些線程,所以不需要爲每個連接創建或者銷燬線程;(連接處理,身份驗證,安全性)。 第二層,mysql的核心服務都在這一層,包括查詢解析,分析,優化,緩存以及內置函數等等。

原创 mysql 理想的索引

•頻 1: 索引長度直接影響索引文件的大小,影響增刪改的速度,並間接影響查詢速度(佔用內存多) 解決方案:針對列中的值,從左往右截取部分,來建索引 ①: 截的越短, 重複度越高,區分度越小, 索引效果越不好 ②: 截的越長, 重複度越低,