原创 安卓APP穩定性測試-----monkey

      穩定性測試:通過在主流真機終端上,模擬真人對App的操作行爲,支持自動登陸、運行時間可配置,有效點擊覆蓋更全更深,從而發現程序的Crash及ANR,一般使用monkey對應用程序進行穩定性測試。       monkey:An

原创 webbench剖析

webbench:其爲linux上一款web性能壓力測試工具,它最多可以模擬3萬個併發連接數來測試服務器壓力,其原理爲fork多個子進程,每個子進程都循環做web訪問測試,子進程將訪問的結果通過管道告訴父進程,父進程做最終結果統計。 其主

原创 epoll服務器

相比select、poll,epoll是I/O多路轉接最高效的手段,它幾乎具備了之前select、poll的一切優點,被公認爲Linux2.6下性能最好的多路I/O就緒通知方法。epoll實現只有epoll_create()、epoll_

原创 合併兩有序鏈表

struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL) { }

原创 shell命令代換與eval命令

命令代換:在shell中用以下兩種方式實現命令代換: `COMMAND` //反引號 $(COMMAND) //$() 命令代換即首先執行反引號或括號裏的命令,將其結果立刻代換到當前命令行中或者代換賦予一個變量: 如下圖,在一個

原创 tomcat學習

一、tomcat總體介紹:免費開放源代碼的web應用服務器;單獨的web服務器使用,也可以和其它的web服務器配合使用,58:nginx+tomcat(nginx處理靜態資源,效率較高,可以處理幾萬到十萬的併發,tomcat是java w

原创 poll服務器

poll是I/O複用多路轉接的另一種方法,其優化了select兩個缺點: poll服務器支持的文件描述符數目沒有上限; poll服務器函數接口的參數與select不同,其將輸入與輸出參數進行了分離(用結構體實現). 函數如下: #in

原创 arp腳本

在網絡的分層中,網絡層最重要的協議爲IP協議,與IP協議配套使用的還有四個協議: (1)ARP(地址解析協議); (2)RARP(逆地址解析協議); (3)ICMP(網際控制報文協議); (4)IGMP(網際組管理協議). 如圖: 其中

原创 端口分類調研

目的主機收到數據包後,經過各層協議棧最後到達應用程序的過程: (1)以太網驅動程序首先根據以太網首部中的“上層協議”字段確定該數據幀的有效載荷(payload,指除去協議首部之外實際傳輸的數據)是IP、ARP還是RARP協議的數據報; (

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

TCP建立連接與斷開連接的過程如下圖: TCP連接斷開其狀態轉移路線如下: 其中以上1,2,3段則代表的爲TCP建立連接的時的三次握手,過程如下: 客戶端client主動發起請求連接,發送攜帶SYN標誌同步報文段1,幷包含一

原创 序列式容器:vector

vector:連續的線性空間,與array唯一的區別在於其空間的動態配置。 其有自己的迭代器,由於它空間連續,所以不論其元素型別爲何,普通指針可以作爲vector的迭代器,如下: typedef T value_type; typede

原创 CRC校驗

數據鏈路層有三個基本問題: (1)封裝成幀; (2)透明傳輸; (3)差錯檢測: 在差錯檢測中,傳輸差錯中分爲兩大類: 1.比特差錯:比特在傳輸過程中產生差錯:1可能變爲0,0可能變爲1.    在一段時間內,傳輸錯誤的比特佔所傳輸總數的

原创 select服務器

unix下,可將I/O分爲五種模型: 阻塞I/O 非阻塞I/O I/O複用(多路轉接:select、(e)poll) 信號驅動 異步I/O 其中前四種I/O模型爲同步I/O,最後一個爲異步I/O,而一個I/O操作可分爲兩步: 等待數

原创 C++如何只能在堆上或棧上生成對象

#include <iostream> using namespace std; //只能在棧上構造對象的實現:即不能調用new來在堆上構造對象,調用new其會調用operator new(), //所以只要顯示定義重載一下operat

原创 劍指offer-刪除鏈表重複節點

#include <iostream> using namespace std; struct Node { int data; Node* next; Node(int x) :data(x) ,next(NULL)