原创 商城數據表設計

1、商品規格:採用豎表設計,規格組表+規格參數表,一個分類->多個組->多個規格參數 規格參數分組表:tb_spec_group CREATE TABLE `tb_spec_group` (   `id` bigint(20) NOT

原创 商城秒殺功能總結

秒殺系統的場景特點:高併發、請求數量遠遠大於庫存數量、下訂單減庫存。 秒殺架構設計理念:限流、削峯、異步處理、緩存、可拓展。 實現方案: 前端:頁面靜態化、禁止用戶重複提交; 後端:限流、採用消息隊列緩存、利用緩存應對讀寫請求。 使用技術

原创 Java知識點六:消息隊列與數據庫

Kafka架構原理【1】: kafka架構1、消費模式:producer使用push模式,consumer使用pull模式。 tips:如果採用 Push,消息消費的速率就完全由消費代理控制,一旦消費者發生阻塞,就會出現問題。 Kafka

原创 Java知識點七:算法

快速排序【1】 private <T extends comparable<? super T>> void quicksort (T[] targetArr, int start, int end) { int i = sta

原创 Java知識點五:緩存(Redis與Memcache)

Memcache【1】:多線程、異步IO、KV存儲、內存存儲沒有持久化、採用LRU(Least Recent Used)淘汰算法。 1、內存管理:Slab->Page,內存將按照1MB的大小劃分爲頁,而該頁內存則會繼續被分割爲一系列具有相

原创 Java知識點三:併發與多線程

CAS:首先CPU將內存中的將要被修改的數據與預期的值進行比較,如果這兩個值相等,CPU則會將內存中數值替換爲新值,否則不做操作。 Synchronized原理: Synchronized實現原理_EntryList、Owner、_Wa

原创 記錄一次請求無響應的問題定位(jstat、VisualVM)

問題場景:測試seata分佈式事務回滾 問題現象:shop模塊調用user模塊創建新的user,並在shop模塊中拋出異常,觸發全局回滾。shop模塊觸發回滾成功,但是user模塊讀取超時。而且後續向user模塊發送請求均被阻塞。 問題分

原创 Java知識點二:JVM

加載機制-雙親委派模式【1】: 對於任意一個類,都需要由加載它的類加載器和這個類本身來一同確立其在Java虛擬機中的唯一性。 雙親委派:如果一個類加載器收到了加載某個類的請求,則該類加載器並不會去加載該類,而是把這個請求委派給父類加載器,

原创 微服務分佈式事務組件Seata使用指南

Seata原理(轉自官方文檔:https://github.com/seata/seata/wiki/%E6%A6%82%E8%A7%88)   Transaction Coordinator (TC): 事務協調器,維護全局事務的運行

原创 Tech Lead(用於個人收藏)

  上上週末,蹭了一個公司的 Tech Lead 培訓—— Coach 來自 ThoughtWorks 中國區的兩個資深 Tech Lead 和 ThoughtWorks 澳大利亞聯邦區的資深 Tech Lead。兩天的培訓下來,學習到了

原创 Vue開發中的優秀實踐(持續更新)

1、路由跳轉時的loading組件:nprogress; 2、store自動讀取並註冊所有模塊: /** * 讀取./modules下的所有js文件並註冊模塊 */ const requireModule = require.con

原创 《Javascript設計模式與開發實踐》關於設計模式典型代碼的整理(上):單例模式、策略模式、代理模式、迭代器模式、發佈-訂閱模式、命令模式、組合模式

1、單例模式:保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。  使用閉包封裝私有變量 // 使用閉包創建單例 var user = (function () { var _name = 'sven', _

原创 《Javascript設計模式與開發實踐》關於設計模式典型代碼的整理(下):模板方法模式、享元模式、職責鏈模式、中介者模式、裝飾模式、狀態模式、適配器模式

8、模板方法模式:一種基於繼承的設計模式。 // 模板方法模式 var Beverage = function (param) { var boilWater = function () { console.l

原创 erget項目基本流程入門

       本文通過白鷺官方示例程序(一分鐘掰彎工廠)爲例,初步學習分析一個遊戲的基本流程。        1、加載配置:入口文件爲Main.ts,創建任何遊戲第一都是要創建stage,在stage創建完成後通過json配置加載資源庫,

原创 組件化

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>test</title> <script src="http://code.jquery.com/jque