原创 棧(思路分析以及代碼實現)

1、棧的介紹 1)棧的英文爲(stack) 2)棧是一個先入後出(FILO-First In Last Out)的有序列表。 3)棧(stack)是限制線性表中元素的插入和刪除只能在線性表的同一端進行的一種特殊線性表。允許插入和刪除的

原创 雙(單)向列表分析思路以及代碼實現

單向鏈表 1、鏈表(Linked List)介紹          1)鏈表是以節點的方式來存儲,是鏈式存儲         2)每個節點包含 data 域, next 域:指向下一個節點.         3)如圖:發現鏈表的各個節

原创 數據結構之隊列

1、隊列介紹  隊列是一個有序列表,可以用數組或是鏈表來實現。  遵循先入先出的原則。即:先存入隊列的數據,要先取出。後存入的要後取出  示意圖:(使用數組模擬隊列示意圖) 2、數組模擬隊列 隊列本身是有序列表,若使用數組的結構來存儲隊

原创 數據結構之稀疏數組

1、基本介紹 當一個數組中大部分元素爲0,或者爲同一個值的數組時,可以使用稀疏數組來保存該數組。 稀疏數組的處理方法是: 1)記錄數組一共有幾行幾列,有多少個不同的值 2)把具有不同值的元素的行列及值記錄在一個小規模的數組中,從而縮小程序

原创 linkedList源碼分析jdk1.8

前言: 上篇文章我們分析了常見的ArrayList源碼,它的內部是由一個數組來實現的。那麼今天,我們來分析另一個常見的類LinkedList。 public class LinkedList<E> extends Abstrac

原创 kafka消息隊列常見的幾種使用場景介紹

一、簡介 消息隊列中間件是分佈式系統中重要的組件,主要解決應用耦合,異步消息,流量削鋒等問題。實現高性能、高可用、可伸縮和最終一致性架構。使用較多的消息隊列有ActiveMQ、RabbitMQ、ZeroMQ、Kafka、MetaMQ、Ro

原创 分佈式鎖的原理以及實現方式

一、爲什麼要使用分佈式鎖            由於業務的發展以及複雜度,需要用到集羣,一個業務被部署都多態服務器上,然後做負載均衡。爲了保證一個方法或屬性在高併發情況下的同一時間只能被同一個線程執行,在傳統單體應用單機部署的情況下,可以

原创 IO , NIO ,AIO

1、JAVA NIO 概念         NIO與原來的IO有同樣的作用和目的,但是使用 的方式完全不同,NIO支持面向緩衝區的、基於 通道的IO操作。NIO將以更加高效的方式進行文 件的讀寫操作 2、Java NIO 與 IO

原创 Java 後端架構之路

JavaEE基本知識 JavaEE基礎                     1、枚舉(enum)類的定義以及使用               2、在Java中如何高效的判斷數組中是否包含某個元素               3、e

原创 hashCode和equals詳細講解

一、hashCode()和equals()是什麼? hashCode()方法和equals()方法的作用其實一樣,在Java裏都是用來對比兩個對象是否相等一致。 二、hashCode()和equals()的區別 下邊從兩個角度介紹

原创 mysql 查詢速度爲變慢

查詢優化、索引優化、庫表結構優化齊頭並進才能保證出一條高效的查詢策略。 1、不要向數據庫請求不需要的數據   2、確定mysql 是否掃描了額外的記錄   1、衡量 mysql 開銷的三個指標             響應時間  

原创 H2 數據庫 安裝部署 java測試

爲什麼要使用H2數據庫 H2數據庫是可以嵌入到JAVA項目中的,因爲只需要導入一個jar包即可,所以非常的方便,接下來是linux 中部署 非常快,開源,JDBC API 嵌入式和服務器模式; 內存數據庫 基於瀏覽器的Console應用

原创 ArrayList 源碼分析 jdk1.8

ArrayList 源碼基本操作是對數組的操作  1、成員變量 /** * Default initial capacity. */ private static final int DEFAUL

原创 使用springcloud + ZipKin進行分佈式鏈路跟蹤持久化到es mysql

zipKin 說明 Zipkin 是一個開放源代碼分佈式的跟蹤系統,由Twitter公司開源,它致力於收集服務的定時數據,以解決微服務架構中的延遲問題,包括數據的收集、存儲、查找和展現。 每個服務向zipkin報告計時數據,zipkin會

原创 使用springBoot-admin 對springcloud 各個爲服務進行監控

由來 Spring Boot Actuator 提供了對單個 Spring Boot 的監控,信息包含:應用狀態、內存、線程、堆棧等等,比較全面的監控了 Spring Boot 應用的整個生命週期。 但是這樣監控也有一些問題:第一,所有的