原创 幾種排序的直觀解釋

  1 快速排序介紹: 快速排序是由東尼·霍爾所發展的一種排序算法。在平均狀況下,排序 n 個項目要Ο(n log n)次比較。在最壞狀況下則需要

原创 ffmpeg 制定精確碼率

FFmpeg是Ubuntu下強大的視頻、音頻編解碼工具. x264可以編碼出高質量的h.264視頻,iPad必須要h.264編碼或mpeg-4編碼的視頻才能正常播放. 由於版權方面尚未確定,雖然全國很多網站都在使用h.264編碼,但將來

原创 TIME_WAIT 2MSL保持的必要性

Q: 在客戶機/服務器編程中(TCP/SOCK_STREAM),如何理解TCP自動機 TIME_WAIT 狀     態?    A: W. R

原创 Catalan數(卡特蘭數)

卡特蘭數:規定h(0)=1,而h(1)=1,h(2)=2,h(3)=5,h(4)=14,h(5)=42,h(6)=132,h(7)=429,h(8)=1430,h(9)=4862,h(10)=16796,h(11)=58786,h(12

原创 快速恢復與快速重傳算法

擁塞避免算法的修改建議1 9 9 0年提出 [Jacobson 1990b]。 在介紹修改之前,我們認識到在收到一個失序的報文段時, TCP立即需要產生一個ACK(一個重複的ACK)。這個重複的ACK不應該被遲延。該重複的ACK的目的在於

原创 使用Gnu gprof進行Linux平臺下的程序分析

Gprof功能:打印出程序運行中各個函數消耗的時間,可以幫助程序員找出衆多函數中耗時最多的函數。產生程序運行時候的函數調用關係,包括調用次數,可以幫

原创 TCP 和UDP的區別

TCP與UDP區別 TCP---傳輸控制協議,提供的是面向連接、可靠的字節流服務。當客戶和服務器彼此交換數據前,必須先在雙方之間建立一個TCP連接,之後才能傳輸數據。TCP提供超時重發,丟棄重複數據,檢驗數據,流量控制等功能,保證數據能

原创 UDP的應用範圍、與TCP之比較

我們知道,UDP協議的一些缺陷,它本身是一個不可靠的協議。但是很多地方卻又要使用這個協議。那麼我們就來具體講解一下UDP協議應用的相關內容。讓我們看

原创 strcpy考慮重疊

考慮了內存重疊的字符串複製函數 char * strcpy(char *dest, char *src) { char *d = dest; //backup input char *s = src; int count =

原创 TCP粘包與UDP數據報邊界

UDP丟包是因爲數據包在傳送過程中丟失了 而TCP是基於流式的發送 並且存在丟包重發機制 TCP是可靠連接而UDP是不可靠的這個我就不多說了 關於TCP的粘包 正是由於TCP是流式傳送的 也就是連接建立後可以一直不停的發送 並沒有明確的邊

原创 Shell 變量

Shell 變量 1、創建子進程的時候,環境變量拷貝一份到子進程的內存棧空間,因此子進程裏對環境變量的修改,並不影響父進程內存棧空間的值; 2、常用內置變量 $? —— 上一個命令的返回值 $# —— 傳遞給shell腳本的命令行位

原创 TCP字節流與UDP數據報

“TCP是一種流模式的協議,UDP是一種數據報模式的協議”,這句話相信大家對這句話已經耳熟能詳~但是,“流模式”與“數據包模式”在編程的時候有什麼區別呢?以下是我的理解,僅供參考! 1、TCP 打個比方比喻TCP,你家裏有個蓄水池,你可以

原创 Linux運維常用命令

1.刪除0字節文件find -type f -size 0 -exec rm -rf {} \; 2.查看進程按內存從大到小排列ps -e   -o "%C   : %p : %z : %a"|sort -k5 -nr 3.按cpu利

原创 Crontab

一.  Crontab 介紹          crontab命令的功能是在一定的時間間隔調度一些命令的執行。   1.1 /etc/crontab 文件        在/etc目錄下有一個crontab文件,這裏存放有系統運行的一些調

原创 screen命令

你是不是經常需要 SSH 或者 telent 遠程登錄到 Linux 服務器?你是不是經常爲一些長時間運行的任務而頭疼,比如系統備份、ftp 傳輸等等。通常情況下我們都是爲每一個這樣的任務開一個遠程終端窗口,因爲他們執行的時間太長了。必