原创 @SpringbootApplication註釋是什麼意思?

什麼是springboot? Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。通過這種方式

原创 springcloud(二)配置中心config

config配置中心介紹 spring cloud config是用來爲分佈式系統中的基礎設施和微服務應用提供集中化的外部配置支持,他爲分服務端和客戶端。什麼意思呢?簡單點來說,再分佈式架構中,通常會有很多的微服務,這時候就會產生很多的配

原创 常見的三種排序(冒泡排序、插入排序、選擇排序)

冒泡排序 什麼是冒泡排序? 百度百科解釋: 它重複地走訪過要排序的元素列,依次比較兩個相鄰的元素,如果順序(如從大到小、首字母從從Z到A)錯誤就把他們交換過來。走訪元素的工作是重複地進行直到沒有相鄰元素需要交換,也就是說該元素列已經排序完

原创 mysql:悲觀鎖與樂觀鎖

爲什麼會使用到數據庫級別的鎖? 你可能會有這麼一個疑問:現在的程序已經提供了很完善的鎖機制來保證多線程的安全問題,還需要用到數據庫級別的鎖嗎?我覺得還是需要的,爲什麼呢?理由很簡單,我們再編程中使用的大部分鎖都是單機,尤其是現在分佈式集羣

原创 java併發編程之線程同步(CountDownLatch、CyclicBarrier)

多線程 線程:類似執行一個命令,多線程:併發執行多條命令。 多線程的優點: 1.充分利用cpu的性能。 2.提高系統性能。 3.同一時刻處理可以處理不同的命令 線程同步 即當有一個線程在對內存進行操作時,其他線程都不可以對這個內存地址進行

原创 使用數組與有序集合LinkedHashMap(雙向鏈表)實現一個簡單的LRU算法(最近最少使用策略 LRU(Least Recently Used))

什麼是LRU算法? redis大家都玩過吧,你們好奇redis內存數據存滿之後會發生什麼嗎?拋出異常?禁止使用?還是刪除數據?其實redis設計了一種內潤淘汰機制。 noeviction(默認策略):屏蔽寫操作,返回錯誤(特殊的寫操作除外

原创 java併發編程:CAS(Compare and Swap)

  目錄 概念 需求: 實現 1.正常累加(既不加鎖,也不使用原子類)。 2.使用synchronized 原子類 爲什麼原子類比互斥鎖的效率低? CAS的ABA問題 概念 compare and swap,解決多線程並行情況下使用鎖造成

原创 二分:如何判斷某個元素是否存在一個有序的數組中?

需求 有一個數組,大小1000w,數據由小到大,現在用戶隨便輸入一個數字,如何快速的判斷此元素是否在數組中存在? 看到上面的需求你可能馬上就想到怎麼做了,循環這個數組,如果用戶輸入的數據等於當前循環的數據,表示存在,數組循環結束還沒有找到

原创 事務特徵以及隔離級別

事務是什麼? 事務(Transaction),一般是指要做的或所做的事情。在計算機術語中是指訪問並可能更新數據庫中各種數據項的一個程序執行單元(unit)。事務通常由高級數據庫操縱語言或編程語言(如SQL,C++或Java)書寫的用戶程序

原创 優美的lambda表達式

原文鏈接:https://juejin.im/post/5ce66801e51d455d850d3a4a 轉載:lambda表達式

原创 ReentrantReadWriteLock讀寫鎖

佔個位

原创 windows+linux安裝consul配置中心

配置中心consul安裝使用 Windows環境    第一步:下載consul,路徑:https://www.consul.io/downloads.html          下載完成之後解壓 第二步:啓動consul    在當前

原创 springcloud讀取配置文件的先後順序

先佔個位,回家再寫

原创 Jenkins部署springboot項目

Jenkins是什麼? Jenkins是一款開源 CI&CD 軟件,用於自動化各種任務,包括構建、測試和部署軟件。 Jenkins 支持各種運行方式,可通過系統包、Docker 或者通過一個獨立的 Java 程序。 安裝jenkins