原创 項目 RSA文件加密工具

目錄 傳統的加密技術 非對稱加密 RSA加密算法 RSA算法原理 RSA的E, D, N產生過程 RSA加密的安全性 RSA算法實現中的問題以及解決辦法 問題1 : 模反元素的求解 問題2 : 大數的冪運算  問題3 : 大數的加/減/乘

原创 C/C++ const修飾指針變量的三種情況

在C/C++中, const修飾指針變量, 有三種情況, 以 int* 爲例, 三是以下種情況 原則: const修飾誰, 誰就不能被修改, 否則編譯出錯 第一種 和 第二種: const int* p; 和 int const * p

原创 計算n x m的棋盤格子, 沿着各自邊緣線從左上角走到右下角,總共有多少種走法. 要求不能走回頭路,即:只能往右和往下走,不能往左和往上走。

語言C++  題目 : [編程題]201301 JAVA 題目2-3級 題目描述 :  請編寫一個函數(允許增加子函數),計算n x m的棋盤格子(n爲橫向的格子數,m爲豎向的格子數)沿着各自邊緣線從左上角走到右下角,總共有多少種走法,

原创 網絡基礎 -- 保證TCP協議可靠傳輸和提高性能的機制

目錄 保證TCP可靠傳輸的機制 1. 面向連接 2. 包序管理和確認應答 3. 超時重傳機制 4. 滑動窗口機制 5. 快速重傳機制 6. 擁塞窗口 7. 保活機制 提高傳輸性能的機制 1. 延遲應答機制 2. 捎帶應答機制 保證TCP可

原创 Linux 進程程序替換

目錄 進程程序替換          進程替換的原理 替換函數exec族函數 1. execv(參數格式是數組) 2.execl(參數格式是列表) 3.execvp / execlp(不帶替換程序的路徑) 4.execle / execv

原创 Linux 進程控制(創建/退出/等待/替換)

目錄 進程創建 fork()函數 fork返回值 fork寫時拷貝 fork失敗原因 fork用法 進程退出 退出場景 常見的退出方法 正常退出 異常退出 _exit()系統調用 exit()函數 _exit()和exit()的區別 re

原创 Shell ? bash?

 Shell shell  n. (蛋、堅果、某些種子和某些動物的)殼;殼狀物;炮彈 v. 炮擊; 給…去殼 shell在排序算法中是希爾排序, 不過接下來要說的是它的另一個意思 " 殼 " 計算機發展到現在, 用戶與計算機交互的方式

原创 Linux 進程狀態(R, S, D, T(t), X, Z)

目錄 進程狀態 R-- 運行狀態 S-- 睡眠狀態(可中斷睡眠狀態) D-- 磁盤休眠狀態(不可中斷睡眠) T-- 停止狀態& t-- (跟蹤狀態) X-- 死亡狀態(退出狀態) Z-- 僵死狀態&殭屍進程 殭屍進程 殭屍進程危害 如何避

原创 Linux 多線程(線程概念/特點/優缺點/與進程比較)

目錄 線程 線程間數據的獨有與共享(同組線程) 線程的優點--("輕"+多任務併發/並行處理的優勢(對比於進程)) 線程的缺點 多線程與多進程的比較 Linux 多線程(線程控制(創建/終止/等待/分離)) 什麼是線程? 說到線程, 離

原创 網絡基礎 -- 傳輸層協議(UDP與TCP/三次握手與四次揮手/可靠傳輸)

  目錄 傳輸層 端口號 UDP協議(User Datagram Protocol, 用戶數據報協議) UDP報文格式 UDP的特點 協議實現(原理) / 特性對於上層應用層代碼編寫的影響 (我們用UDP協議時該注意什麼?) TCP協議(

原创 Linux 網絡編程套接字(socket) (網絡字節序/UDP/TCP)

目錄 認識TCP協議與UDP協議 網絡字節序 字節序轉換接口 套接字(socket)  sockaddr結構 socket通信接口 UDP通信流程(客戶端) UDP通信流程(服務端) TCP通信流程(服務端) TCP通信流程(客戶端) T

原创 Linux 進程的退出

目錄 進程退出 退出場景 常見的退出方法 正常退出 異常退出 _exit()系統調用 exit()函數 _exit()和exit()的區別 return  進程退出 退出場景 正常符合預期退出 正常不符合預期退出 異常退出(執行過程中異常

原创 Linux 源碼安裝, rpm和yum三種安裝方式

目錄 原碼安裝 rpm yum Linux中安裝軟件可不像Windows那樣只需要我同意xxx, 我接受xxx, 然後一直下一步就ok了 Linux中主要有三種安裝方式: 源碼安裝, rpm和yum 注: 本文測試於Centos 7中

原创 Linux 進程的創建

 目錄 進程創建 fork()函數 fork返回值 fork寫時拷貝 fork失敗原因 fork用法 進程創建 Linux 中我們可以說一個進程就是一個PCB, 即 一個task_struct, 那麼創建進程也就是創建PCB, 即是創建

原创 網絡基礎 -- 應用層HTTP協議

目錄 應用層(TCP/IP協議中的應用層/HTTP協議) HTTP協議 URL -- 統一資源定位符 UrlEncode / UrlDecode HTTP協議格式 概述  HTTP 請求消息Request / 響應消息Response 首