原创 springMVC的常見註解,以及註解的作用。@Controller,@RestController,@RequestMapping,@RequestParam,@RequestHeader等

目錄注:使用註解,必須要開啓註解包掃描1.@Controller2.@RequestMapping3.@PathVariable4.@RequestParam5.@RequestHeader6.@CookieValue7.@RequestB

原创 C++實現已知二叉樹前序遍歷和中序遍歷,求後序遍歷

一、基本概念 1.先序遍歷(NLR)可以確定二叉樹的父子結點;   2.中序遍歷(LNR)可以確定二叉樹的左右子樹;   3.後序遍歷(LRN)可以確定二叉樹的父子結點;   二、結論 1.已知先序遍歷,中序遍歷序列,能夠創建出一棵唯一的二

原创 linux系統磁盤管理(磁盤陣列)

1 磁盤陣列簡介 RAID(Redundant Array of Independent Disks)即獨立硬盤冗餘陣列,簡稱磁盤陣列。磁盤陣列是由很多價格較便宜的磁盤,以硬件(RAID卡)或軟件(MDADM)形式組合成一個容量巨大的磁盤組

原创 二叉樹中已知前序和中序求其後序(圖解加技巧讓你輕鬆掌握)

    一          首先咱得瞭解二叉樹的結構,和前序/中序/後序遍歷分別是什麼。  1:什麼是根和左右孩子:二叉樹的每個節點都可以作爲根,每個根下面的叫左右孩子,也可以沒有孩子 ​ 實際使用中會如下圖A是根左孩子是B,右孩子是

原创 手寫智能指針(類)

基礎知識: 智能指針的設計與實現: 1.智能指針類將一個計數器與類指向的對象相關聯,引用計數跟蹤該類有多少個對象共享同一指針。 2.每次創建類的新對象時,初始化指針並將引用計數置爲1; 3/當對象作爲另一對象的副本而創建時,拷貝構造函數拷貝

原创 給出中序和前序如何求出後序

看題: 輸入: ABEDFCHG CBADEFGH 輸出:AEFDBHGC 這裏利用到一個最重要的知識點——二叉樹遍歷。 前序遍歷:根左右 中序遍歷:左根右 後序遍歷:左右根 前序遍歷是先遍歷根節點,再遍歷根節點的左右子樹。

原创 Qt設計用戶界面的三種方法

今天閱讀了《C++ GUI Qt4編程》的中創建對話框的章節,內容不難也不多,易於掌握。雖然此章的標題爲“創建對話框”;但我卻認爲其內容的重點可放在如何使用Qt設計界面上。   Qt設計界面有三種方式: 手工編寫創建界面的代碼 :此方法比較

原创 C++11多線程(簡約但不簡單)

一、簡單使用 C++11提供了一套精練的線程庫,小巧且易用。運行一個線程,可以直接創建一個std::thread的實例,線程在實例成功構造成時啓動。若有底層平臺支持,成員函數std::thread::native_handle()將可提供

原创 動態庫文件(.so文件)的realname,soname和linkname 介紹和使用說明

動態庫文件(.so文件)的realname,soname和linkname 介紹和使用說明 介紹 動態庫文件(.so文件)的realname,soname和linkname 介紹 編譯時設置soname 和 realname 參考ma

原创 動態庫realname、soname和linkname

1. realname 等同於庫文件的filename,是在庫文件生成時就被指定的 怎麼指定庫文件名,例如 (1) g++編譯程序時指定realname $ g++ -g test1.cpp -o test1.so -std=c++11

原创 Linux環境中動態庫文件(.so文件)的realname,soname和linkname--解釋清楚

realname: 實際等同於庫文件的filename,是在庫文件生成時就被指定的,如:gcc -shared -o $(realname) dependence flagsrealname的一般格式爲 lib$(name).so.

原创 GCC 使用庫文件名進行鏈接

使用 GCC 進行 C/C++ 代碼編譯時,如果代碼中使用到了庫函數,需要使用 -l 選項指定該庫函數所在的庫。如:-lm、-lrt、-lpthread等。這種方式使用的是庫的縮寫。一個庫的文件名如果是:libxxx.so 或 libxxx

原创 systemd使用示例

[Unit]Description=monitor sg_ai_framework_boxAfter=network.target [Service]User=rootType=forkingExecStart=/data/script/r

原创 如何優雅的使用 Systemd 管理服務

背景:我們在構建 Kubernetes 容器化平臺時,會在節點上部署各種 agent ,雖然容器化當道的今天很多程序可以直接採用 docker 方式進行運行,但我們在整個集羣內部仍然大量使用了 systemd 來管理基礎服務。不過在使

原创 高版本gcc編譯出的程序在低版本glibc機器上運行

比如我們用gcc 9.3.0編譯程序,但需要發佈的機器gcc版本是4.8.5,怎麼辦? 你可能想到如下方法 靜態編譯 容器發佈 打包依賴的so,使用本地so運行程序 1.靜態編譯 將libc和libstdc++靜態編譯,編譯時帶上如下