原创 數據結構之跳錶

文章目錄前言什麼是跳錶引題跳錶跳錶的實現代碼實現時間複雜度的分析空間複雜度的分析比較跳錶 與平衡樹、哈希表的比較解釋如下:`Redis`中作者選擇SkipList的原因:總結推薦最後 前言 文中附代碼實現. 在公衆號回覆 【跳錶】

原创 Redis系列03之Redis簡介

Redis簡介 Redis是一個開放源代碼(BSD許可)的內存中數據結構存儲,用作數據庫,緩存和消息代理。它支持數據結構,例如字符串,哈希,列表,集合,帶範圍查詢的排序集合,位圖(bitMap),超日誌(hyperlog),帶有半

原创 你!學Java的,除了Spring你還知道什麼

Vert.x 是什麼 vert.x是基於JVM,輕量級,高性能的應用平臺。 JVM的Reactive開發套件 基於全異步Java服務Netty 同時支持多種編程語言 同步無鎖編程 極好的分佈式開發支持 Vert.x爲Java中

原创 Java定時器系列一之你最容易忽略的定時器

Timer介紹 Timer是JDK自帶的一種最爲簡單的定時器實現. Timer在java.util包中,最好出現在jdk1.3 線程的工具,用於在後臺線程中安排將來執行的任務。 可以將任務安排爲一次性執行,或者以固定間隔重複執行

原创 Kafka-Manager 安裝

Kafka-Manager 安裝 安裝步驟 如果你不想下載並打包,你也可以使用我打包好的程序,獲取方式我放在文末。直接從第5步開始安裝即可 1.下載Kakfa-Manager wget https://github.com/yah

原创 數據源讀寫分離

以springboot2.x+mybatis+mysql+HikariCP爲例,記錄下自己的開發記錄。 說點廢話 從四種讀寫分離的方式看到了讀寫分離有四種實現方式。 我這裏使用的是第三種方式實現的。目前實現的是一個主(Master

原创 SpringCloud-alibaba - 03 - 使用nacos做配置中心

使用nacos做配置中心 步驟 1.新建一個springboot項目 2.修改pom.xml,如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave

原创 SpringCloud-ablibaba - 01 - 搭建nacos

搭建步驟 在 https://github.com/alibaba/nacos/releases 下載最新版本. 解壓後,點擊startup.md運行即可。 啓動完成後,http://127.0.0.1:8848/nacos/,默認用

原创 SpringCloud-ablibaba - 02 - 構建一個服務提供者

步驟 新建一個springboot應用。 修改pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4

原创 java8中新的日期和時間API

日期時間API發展歷程 java1.0 只有java.util.Date類 jdk1.1 java.util.Calender類 jdk1.8 java.time.* JDK1.8的java.time包。 jdk8在java.ti

原创 netty實戰筆記 第六章 ChannelHandler和ChannelPipeline

6.1 ChannelHandler家族 6.1.1 Channel的生命週期 Channel有四種狀態.如下; 狀態 描述 channelUnregistered channel已經被創建,但還未註冊到EventLoo

原创 netty實戰筆記 第七章 EventLoop和線程模型

7.1 線程模型概述 java5 隨後引入了Executor API, 其線程池通過緩存和重用Thread極大的提高了性能。 基本的線程池話模型描述爲: 1.從池的空閒線程列表中選擇一個Thread,並且指派它去運行一個已提交的任務(

原创 netty實戰筆記 第八章 引導

8.1 bootstrap類 先看下引導類的層次結構 服務器端使用一個父Channel來接受來自客戶端的連接,並創建子Channel用於他們之間的通信。客戶端將最可能只需要一個單獨的,沒有父Channel的Channel來用於所有的

原创 netty實戰筆記 第九章 單元測試

9.1 EmbeddedChannel 概述 netty提供了Embedded傳輸,用於測試ChannelHandler. 這個服傳輸是一種特殊的Channel實現,EmbeddedChannel的功能,這個實現提供了通過Channe