原创 session、jwt、token
什麼是JWT Json web token (JWT), 是爲了在網絡應用環境間傳遞聲明而執行的一種基於JSON的開放標準((RFC 7519).該token被設計爲緊湊且安全的,特別適用於分佈式站點的單點登錄(SSO)場景
原创 線性數據結構算法
數據結構是計算機存儲、組織數據的方式。數據結構是指相互之間存在一種或多種特定關係的數據元素的集合。通常情況下,精心選擇的數據結構可以帶來更高的運行或者存儲效率。數據結構往往同高效的檢索算法和索引技術有關。 圖形結
原创 漢諾塔+二叉樹(前序,中序,後序)
/** * 漢諾塔 * * @param n 盤子的個數 * @param start 開始的柱子 * @param middle 中介柱子 * @para
原创 Java堆內存是線程共享的?
Java作爲一種面向對象的,跨平臺語言,其對象、內存等一直是比較難的知識點,所以,即使是一個Java的初學者,也一定或多或少的對JVM有一些瞭解。可以說,關於JVM的相關知識,基本是每個Java開發者必學的知識點,也是面試的時候必考的知識
原创 如何對一個億的數組進行快速排序
總結概括: 1.數據結構 歸併排序 (也是後續排序 LRD) 2.多線程 ForkJoin框架 繁重任務的並行計算框架,map-reduce思想 計算代碼 /*** *@author don
原创 Spring boot 啓動過程工作原理
1. SpringBootApplication rum()方法 @SpringBootApplication //註解 public class SpringBootTestApplication{ public sta
原创 Java GC調優(下)
4.Sun HotSpot 垃圾回收器 概述 當永久代和舊生代出發GC時,除CMS外都會發生Full GC 首先按照 新生代配置的GC,發生Mintor GC 再按照舊生代配置的GC,對舊生代和永久代GC 若JVM 對Mintor G
原创 mysql數據庫設計規範和優化
數據庫的設計 1、數據庫命名規範 •所有的數據庫對象名稱必須使用小寫字母並使用下劃線分割(mysql 數據庫對大小寫敏感) •所有數據庫對象名稱禁止使用MySqL保留關鍵字 eg. from關鍵字 •MySQL關鍵字查詢 •數據庫對象
原创 mysql分庫分表解決方案思路
垂直拆分 水平拆分 分庫分表解決方案 技術方案:proxy或應用層 proxy: mycat-cobar(社區), atlas(數字),heinsberge(百度),vitess(youtube) 應用層:sharding-jdbc(
原创 redis 令牌桶算法—Lua
令牌桶算法 場景:秒殺(也可以用於平滑限流某個接口請求) import java.io.IOException; import java.nio.charset.Charset; import org.springframework.
原创 redis基本類型(1)
redis介紹 Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and mess
原创 redis 漏桶算法—Lua
漏桶算法 import java.io.IOException; import java.nio.charset.Charset; import org.springframework.core.io.ClassPathReso
原创 二分查找、快速排序、歸併排序(分而治之)
順序查找 如果線性表爲無序表,即表中元素的排列是無序的,則不管線性表採用順序存儲還是鏈式存儲,都必須使用順序查找。 如果線性表有序,但採用鏈式存儲結構,則也必須使用順序查找。 二分查找 必須遵循兩個條件:數組有序、符
原创 Lucene-分詞器(2)
Lucene-分詞器API 1. org.apache.lucene.analysi.Analyzer 分析器,分詞器組件的核心API,它的職責:構建真正對文本進行分詞處理的TokenStream(分詞處理器)。通過調用它的如
原创 RPC理論-分佈式系統開發技術
RPC(Reomte Procedure Call Protocol) 遠程過程調用協議,一種通過網絡從遠程計算機上請求服務,而不需要了解底層網絡技術的協議。RPC協議假定某些傳輸協議的存在,如 TPC或UDP,爲通信程序之間