原创 shell中函數定義使用,函數的返回值,庫函數

在shell中我們可以將頻繁使用的代碼整合到一塊,形成函數,方便調用,一般shell中方法定義如下: function function_name { commands } 函數調用如下: function_name 函數參數

原创 shell中循環,for循環,select循環,while循環,until循環,退出循環指令

for循環有兩種格式: array=(one two threee four five) for((i=0;i<${#array[*]};i++)) do echo ${array[i]} done # 或者 for item

原创 shell中特殊字符,單引號,雙引號,反引號,$()

在shell中,單引號裏面不會對變量進行解析: str=123 echo '$str' 輸出: $str 而雙引號則會對裏面包含的變量進行解析 str=123 echo “$str” 輸出: 123 shell中反引號 ` 的

原创 cc1: error: unrecognized command line option "-std=c11"

這個問題主要是由於gcc版本問題, root# gcc --version gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23) Copyright (C) 2010 Free Software

原创 shell中運算,let,expr,awk等實現計算,判斷字符串是否是整數

shell中常見的運算符如下: 運算符 功能 +、- 常見加減法 *、/、% 乘法、除法、取模 ** 冪運算 ++、– 自增、自減運算 !、&&、||邏輯非、與、或 <、<=、>、>=、==、!

原创 spring中xml配置bean加載解析流程

當我們以ClassPathXmlApplicationContext啓動的時候,在實際啓動容器的 AbstractAppliationContext.refresh spring容器啓動流程 跟蹤代碼,在 AbstractApp

原创 java中線程安全,volatile,synchronized,鎖,線程同步,鎖的狀態和鎖升級,CAS ABA,happens-before

在說線程之前,首先必須要說的一個概念是進程,任何線程不能獨立存在,進程只操作系統結構的基礎,是代碼在數據集上的一次運行活動,是系統進行資源分配和調度的一個獨立單位,線程可以理解爲是進程的子任務,是進程的一個執行路徑,進程中的多個線

原创 spring cloud入門,eureka服務註冊和發現,ribbon負載均衡,hystrix熔斷

最近幾年,微服務很火爆,隨着公司規模的上升,對應各種服務也在不斷的完善和增加,軟件的架構從之前的單體架構逐漸朝着功能分解成不同模塊繼而拆分成一組特定服務。 著名的擴展立方體如上圖所示, X軸通過部署多個相同實例,繼而在多個實例之

原创 shell中變量,獲取腳本參數變量,變量長度,獲取腳本執行路徑

shell中不會區分變量的類型,分爲環境變量和普通變量。 shell中比較重要的變量: $0 :獲取當前shell腳本的文件名,如果執行包含了路徑, 則包含路徑,通過$0可以獲取當前執行路徑,dirname $0 1−−−1

原创 spring容器啓動過程分析,以ClassPathXmlApplicationContext爲例說明

隨着spring功能的擴充,以及spring封裝了很多底層實現的細節,使得我們在學習spring的源碼的時候經常會比較困惑,本節開始研究spring容器啓動的相關過程,暫時先從整體大流程上分析,比較細節的部分後續再補充說明,spr

原创 shell中date日期相關操作

shell中日期相關操作, 獲取當前時間,並指定格式: date +%Y%m%d 返回:20200603 獲取當前時間的前n天,比如昨天: date +%Y%m%d -d "-1 days" 返回:20200602 常見格式化

原创 spring中bean的生命週期歷程

spring中bean的生命週期一般如下: (1)bean實例化,查找到bean的類相關信息並通過反射實例化 (2)bean的屬性設置。設置bean的相關屬性 (3) 如果實現了BeanNameAware,調用setBeanNam

原创 shell中數組的使用,定義,遍歷數組

shell中數組常見定義可以如下: (1) array=(1 2 3 4) 數組元素用空格隔開 (2)指定鍵值對形式 array=([1]=one [2]=two [3]=thres) echo ${array[*]} echo

原创 shell中case語句用法

在shell中case語句一般格式如下: case "變量值" in 值1) 指令 ... ;; 值2) 指令... ;; *) 指令 ... ;; esac case實例: val=$1 case ${val}

原创 shell中awk print用法

shell中awk對文本流數據進行處理, awk按行讀取數據,每行默認用空白字符分隔,分隔後的變量依次保存在$1,$1,$3 …,$0表示整行數據 一些特殊含義的選項: $0 :該變量包含當前記錄的文本內容。 $1 :該變量包含