原创 性能剖析器

 PerformanceProfiler.h: #include<iostream> using namespace std; #include<map> #include<windows.h> #include<time.h> #incl

原创 單例模式

設計模式--單例模式: 創建一個安全並且高效的Sington很重要。 (1)單例類保證全局只有一個唯一實例對象; (2)單例類提供獲取這個唯一實例的接口。 下面爲四種創建單例類的方法:  //單例模式 ////////不考慮線程安全的單例

原创 IO多路複用epoll的工作原理

      epoll是一種IO多路複用技術,可以非常高效的處理數以百萬計的socket句柄,比起以前的select和poll效率高很多。先簡單回顧下如何使用C庫封裝的3個epoll系統調用吧。1 int epoll_create(int 

原创 管道

linux 管道管道是Linux中很重要的一種通信方式,是把一個程序的輸出直接連接到另一個程序的輸入,常說的管道多是指無名管道,無名管道只能用於具有親緣關係的進程之間,這是它與有名管道的最大區別。有名管道叫named pipe或者FIFO(

原创 進程的調度算法

在操作系統,進程是很重要的概念!!!!               進程(Process)是計算機中的程序關於某數據集合上的一次運行活動,是系統進行資源分配和調度的基本單位,是操作系統結構的基礎。在早期面向進程設計的計算機結構中,進程是程序

原创 文件描述符的重定向

關於文件描述符的重定向,有三種方法,分別爲dup(),dup2(),dup3()。下面即爲三種函數的原型,本文主要介紹前兩種函數的使用。其中dup()接受一個參數,將舊的文件描述符重定向到新的文件中。而dup2()接受兩個參數,一個爲新的文

原创 C++ 動態內存

瞭解動態內存在 C++ 中是如何工作的是成爲一名合格的 C++ 程序員必不可少的。C++ 程序中的內存分爲兩個部分:棧:在函數內部聲明的所有變量都將佔用棧內存。堆:這是程序中未使用的內存,在程序運行時可用於動態分配內存。很多時候,您無法提前

原创 TCP三次握手,四次揮手

       TCP 是面向連接的協議。運輸連接使用傳送TCP報文的。TCP運輸連接建立和釋放是每一次面向連接的通信中必不可少的過程。因此,運輸連接就有三個過程,即,連接建立,數據傳輸和連接釋放。運輸連接的管理就是使運輸連接的建立和釋放都能

原创 黑盒測試之邊界值分析

首先,爲什麼使用邊界值分析法?答:歷史經驗證明,大量的錯誤發生在輸入或輸出範圍的邊界值上,而不是在輸入範圍的內部。邊界:1、測試對象規格說明中明確的定義輸入域的邊界值。2、開發人員容易對邊界理解錯誤。如何使用邊界值分析法?1、邊界值分析法需

原创 各種排序算法

在C++和數據結構的學習中,我學到了很多種排序方法。下面我簡單列出這些排序算法的C++實現方法。還有很多不成熟的地方,以後會及時改正!!!#include<stack> #include<assert.h> //直接插入排序 void I

原创 黑盒測試之等價類劃分

等價類劃分:把所有可能的輸入數據,即程序的輸入域劃分爲若干部分(子集),然後從每個子集中選取少數具有代表性的數據作爲測試用例。劃分等價類的標準:1、所有的子集的並是整個集合;2、子集互不相交;3、同一個子集中的不同測試用例處理相同,即有“相

原创 結對測試

嘗試測試所有組合(笛卡爾積)--->項目延期選擇一些容易設計和執行的測試用例--->缺陷遺漏羅列所有組合,選擇其中的子集進行測試--->缺陷遺漏採取特殊的測試技術,選擇能發現大部分缺陷的子集進行測試--->結對測試大部分的實效是單失效模式和

原创 黑盒測試之狀態轉換測試法

狀態轉換圖的組成:1、狀態:以圓圈表示,開始和結束是特殊狀態;2、轉換:由於事件的驅動,系統從一個狀態到另一個狀態;3、事件:以系統的相關接口觸發,和特定的轉換關聯;4、活動:以“/”表示,活動由狀態轉換觸發;5、條件:以“[ ]”表示,說

原创 黑盒測試之等價類劃分

等價類劃分:把所有可能的輸入數據,即程序的輸入域劃分爲若干部分(子集),然後從每個子集中選取少數具有代表性的數據作爲測試用例。