原创 Docker技術介紹

一、解決的問題 由於不同的機器有不同的操作系統,以及不同的庫和組件,在將一個應用部署到多臺機器上需要進行大量的環境配置操作。 Docker 主要解決環境配置問題,它是一種虛擬化技術,對進程進行隔離,被隔離的進程獨立於宿主操作系統和其它隔離的

原创 Maven依賴原則

1. 依賴路徑最短優先原則 A -> B -> C -> X(1.0) A -> D -> X(2.0) 由於 X(2.0) 路徑最短,所以使用 X(2.0)。 2. 聲明順序優先原則 A -> B -> X(1.0) A -> C ->

原创 二分搜索擴展實現

原理 1. 正常實現 public int binarySearch(int[] nums, int key) { int l = 0, h = nums.length - 1; while (l <= h) {

原创 SQL基本知識點整理

一、基礎 模式定義了數據如何存儲、存儲什麼樣的數據以及數據如何分解等信息,數據庫和表都有模式。 主鍵的值不允許修改,也不允許複用(不能使用已經刪除的主鍵值賦給新數據行的主鍵)。 SQL(Structured Query Language),

原创 JAVA中各種鎖介紹

java中的鎖按狀態,特性,功能,實現可以劃分爲多種鎖; 公平鎖/非公平鎖,可重入鎖,獨享鎖/共享鎖,互斥鎖/讀寫鎖,樂觀鎖/悲觀鎖,分段鎖,偏向鎖/輕量級鎖/重量級鎖,自旋鎖 。 樂觀鎖,悲觀鎖 從併發同步的角度。悲觀鎖認爲對於同一個

原创 正則表達式入門

一、概述 正則表達式用於文本內容的查找和替換。 正則表達式內置於其它語言或者軟件產品中,它本身不是一種語言或者軟件。 正則表達式在線工具 二、匹配單個字符 . 可以用來匹配任何的單個字符,但是在絕大多數實現裏面,不能匹配換行符; . 是

原创 集羣模式下的負載均衡算法與session管理

一、負載均衡 集羣中的應用服務器(節點)通常被設計成無狀態,用戶可以請求任何一個節點。 負載均衡器會根據集羣中每個節點的負載情況,將用戶請求轉發到合適的節點上。 負載均衡器可以用來實現高可用以及伸縮性: 高可用:當某個節點故障時,負載均衡

原创 JDK中關於BIO,NIO,AIO,同步,異步介紹

本文原創地址,我的博客:https://jsbintask.cn/2019/04/16/essay/nio/(食用效果最佳),轉載請註明出處! 在理解什麼是BIO,NIO,AIO之前,我們首先需要了解什麼是同步,異步,阻塞,非阻塞。假

原创 Linux中的IO模型介紹

一、I/O 模型 一個輸入操作通常包括兩個階段: 等待數據準備好 從內核向進程複製數據 對於一個套接字上的輸入操作,第一步通常涉及等待數據從網絡中到達。當所等待數據到達時,它被複制到內核中的某個緩衝區。第二步就是把數據從內核緩衝區複製到

原创 從未這麼明白的設計模式(二):觀察者模式

<!-- more --> 本文原創地址,我的博客:https://jsbintask.cn/2019/04/15/designpattern/observer/(食用效果最佳),轉載請註明出處! 前言 觀察者模式定義了對象間的一種一對多依

原创 數據庫事務,鎖,範式,設計. 原理總結

一、事務 概念 事務指的是滿足 ACID 特性的一組操作,可以通過 Commit 提交一個事務,也可以使用 Rollback 進行回滾。 ACID 1. 原子性(Atomicity) 事務被視爲不可分割的最小單元,事務的所有操作要麼全部提

原创 SpringCloud-Zuul(三):常用配置詳解

本文原創地址,我的博客:https://jsbintask.cn/2019/04/11/springcloud/springcloud-zuul-config/(食用效果最佳),轉載請註明出處! SpringCloud Zuul同系列

原创 操作系統中的進程管理

本文轉載自cs-notes 進程與線程 1. 進程 進程是資源分配的基本單位。 進程控制塊 (Process Control Block, PCB) 描述進程的基本信息和運行狀態,所謂的創建進程和撤銷進程,都是指對 PCB 的操作。 下

原创 談一談ConcurrentModificationException

本文原創地址,我的博客:https://jsbintask.cn/2019/04/09/jdk/jdk8-concurrentmodificationexception/(食用效果最佳),轉載請註明出處! 前言 ConCurrentM

原创 後端運維人員必備shell編程入門

本文轉載自 公衆號 Snailclimb Shell 編程入門 走進 Shell 編程的大門 爲什麼要學Shell? 學一個東西,我們大部分情況都是往實用性方向着想。從工作角度來講,學習 Shell 是爲了提高我們自己工作效率,提高產出