原创 哈夫曼樹(Huffman Tree)

哈夫曼樹(Huffman Tree),又叫最優二叉樹,指的是對於一組具有確定權值的葉子結點的具有最小帶權路徑長度的二叉樹。(1)路勁(Path):從樹中的一個結點到另一個結點之間的分支構成兩個結點間的路徑。(2)路徑長度(Path Leng

原创 進程地址空間與虛擬存儲空間的理解

在進入正題前先來談談操作系統內存管理機制的發展歷程,瞭解這些有利於我們更好的理解目前操作系統的內存管理機制。一早期的內存分配機制在 早期的計算機中,要運行一個程序,會把這些程序全都裝入內存,程序都是直接運行在內存上的,也就是說程序中訪問的內

原创 TCP三次握手及四次揮手詳細圖解

相對於SOCKET開發者,TCP創建過程和鏈接折除過程是由TCP/IP協議棧自動創建的.因此開發者並不需要控制這個過程.但是對於理解TCP底層運作機制,相當有幫助. 而且對於有網絡協議工程師之類筆試,幾乎是必考的內容.企業對這個問題熱情之

原创 Linux--線程編程

進程  系統中程序執行和資源分配的基本單位  每個進程有自己的數據段、代碼段和堆棧段  在進行切換時需要有比較複雜的上下文切換線程  減少處理機的空轉時間,支持多處理器以及減少上下文切換開銷, 比創建進程小很多  進程內獨立的一條運行路線 

原创 C++模板學習

1. 模板的概念。我們已經學過重載(Overloading),對重載函數而言,C++的檢查機制能通過函數參數的不同及所屬類的不同。正確的調用重載函數。例如,爲求兩個數的最大值,我們定義MAX()函數需要對不同的數據類型分別定義不同重載(Ov

原创 我的友情鏈接

51CTO博客開發

原创 Linux--線程編程

進程  系統中程序執行和資源分配的基本單位  每個進程有自己的數據段、代碼段和堆棧段  在進行切換時需要有比較複雜的上下文切換線程  減少處理機的空轉時間,支持多處理器以及減少上下文切換開銷, 比創建進程小很多  進程內獨立的一條運行路線 

原创 unless,until, for, while, last, next,foreach redo

unless在if 控制結構中,只有條件爲真時,才執行塊中的代碼。如果你想在條件爲假時執行,可以使用unless:除非條件爲真,否則執行塊中的代碼unless($fred =~ /^[A-Z_]\w*$/i){print “The valu

原创 TCP三次握手及四次揮手詳細圖解

相對於SOCKET開發者,TCP創建過程和鏈接折除過程是由TCP/IP協議棧自動創建的.因此開發者並不需要控制這個過程.但是對於理解TCP底層運作機制,相當有幫助. 而且對於有網絡協議工程師之類筆試,幾乎是必考的內容.企業對這個問題熱情之

原创 Expect模塊安裝 Perl腳本

一、Expect模塊安裝通過安裝Perl的Expect模塊可以方便的實現遠程主機自動登入和執行命令的功能。由於Expect模塊依賴於IO::Tty模塊,所以要使用Expect模塊需要安裝這2個模塊:(1)IO-Tty-1.10 (2)Exp

原创 C++模板學習

1. 模板的概念。我們已經學過重載(Overloading),對重載函數而言,C++的檢查機制能通過函數參數的不同及所屬類的不同。正確的調用重載函數。例如,爲求兩個數的最大值,我們定義MAX()函數需要對不同的數據類型分別定義不同重載(Ov

原创 Perl Socket 通信recv超時退出子進程

#!/usr/bin/perl#serveruse strict;use Socket;use IO::Handle;use POSIX ":sys_wait_h";my($this, $now);my $port = shift || 2

原创 IOSelect模塊

IO::Select模塊IO::Select模塊[b]IO::Select[/b]系統調用select的面向對象接口use IO::Select;$s = IO::Select->new();$s->add(\*STDIN);$s->add

原创 數據庫中DISTINCT用法

select 中的DISTINCT用法 在 使用mysql時,有時需要查詢出某個字段不重複的記錄,雖然mysql提供有distinct這個關鍵字來過濾掉多餘的重複記錄只保留一條,但往往只用 它來返回不重複記錄的條數,而不是用它來返回不重記錄

原创 [perl]理解貪婪匹配和最小匹配之間的區別

正則表達式的新手經常將貪婪匹配和最小匹配理解錯誤。默認情況下,Perl 的正則表達式是“貪婪地”,也就是說它們將儘可能多地匹配字符。下面的腳本打印出“matched defgabcdef”,因爲它儘可能多地匹配模式,直至結尾的‘g’。$da