原创 KMP匹配算法

在說KMP匹配算法之前,我們先來看看與它相近的另一種匹配算法,名曰“暴力匹配算法”1.暴力匹配算法(設有如下的兩組字符串)第一位不匹配,則向右移動一位,得到如下的形式B與A依舊不匹配,則繼續往後移,當移到如下的形式時:儘管之前的文本串和模

原创 詳解TCP中的擁塞控制

一、擁塞1、概念:在某段時間,如果對網絡中的某一資源的需求超過了該資源所能提供的可用部分,網絡的性能就要發生變化,這種情況叫阻塞2、擁塞控制:防止過多的數據注入到網絡當中,這樣可以使網絡中的路由器或鏈路不致過載。(通過擁塞窗口處理網絡擁塞

原创 在c++中普通函數與 內聯函數的區別

我們都知道編譯的最終產品是可執行程序——— 由一組由機器語言指令組成,在運行程序時,操作系統將這些指令載入到計算機內存中。因此,每一組指令都有一個特定的內存地址。 一.普通函數的調用 a.當代碼執行到函數調用指令時,程序將在函數調用後立即

原创 my_memcopy與my_memmove的實現與比較

一.my_memcopy函數#include<stdio.h>void* my_memcopy(void* str1,const void* str2,int count){    char* my_str1 = (char*)str1;

原创 深入函數調用堆棧--------具體過程詳解

通過下面的簡單的程序來理解一下函數在調用過程中具體都幹了什麼:首先我們先來了解一些簡單的指令:mov      用來移內存的值                              lea       移地址            

原创 詳解Linux系統調用過程

Linux系統調用的層次如下:    用戶程序-------->C庫(即API):INT 0x80------------>system_call------------>系統調用服務例程--------->內核程序    ***API即

原创 Linux基礎總結-----線程

線程  1.概念:進程內部的一條執行路徑或執行序列;(線程是進程的一個實體) 2.實現方式:a.用戶線程:創建 銷燬 管理由線程庫完成,無法使用多線程處理器的好處; b.內核級線程:創建 銷燬 管理由內核完成,創建代價高,但可以使用多線程

原创 C++11標準新特性

學習了!原文章鏈接:https://www.ibm.com/developerworks/cn/aix/library/1307_lisl_c11/index.html新特性的目的右值引用 (Rvalue Referene) 是 C++

原创 設計模式-----工廠和抽象工廠

一、簡單概念 簡單工廠:工廠類中,根據條件決定一個接口由哪個具體產品類來實現; 工廠方法:創建多個工廠類。各個工廠類中,都對應一個獲得接口A實例的方法,用戶決定使用哪個工廠; 抽象工廠:對工廠方法進行擴展。各個工廠類中,再增加一個獲得接口

原创 不能實現爲虛函數的函數以及原因

(1)只有類的成員函數才能說明爲虛函數。(虛函數的目的是爲了實現多態,多態和集成有關,所以聲明一個非成員函數沒有任何意義) (2)靜態成員函數不能是虛函數。(靜態成員函數對於每一個類只有一份代碼,所有的對象共享這份代碼,它不歸某個對象所有

原创 深入理解C++中的多態

一、多態的分類 1.靜多態:在編譯期間就可以確定函數的調用地址,併產生代碼。也就是說地址是早早綁定的;其往往是通過函數重載和模板來實現; 2.動多態:函數調用的地址不能在編譯期間確定,必須在運行時才確定;其主要是通過虛函數來實現; 二、動

原创 深入瞭解MySQL存儲引擎-------InnoDB

如果想看自己的數據庫默認使用的那個存儲引擎,可以通過使用命令SHOW VARIABLES LIKE 'storage_engine';一、InnoDB存儲引擎1.InnoDB是事務型數據庫的首選引擎,支持事務安全表(ACID)事務的ACI

原创 fork()的底層實現

  fork之後父進程與子進程的區別 進程ID不同;(父進程的返回值是子進程的ID) 子進程中tms_utime  tms_stime  tms_cutime和tms_ustime的值設爲0; 子進程不繼承父進程設置的文件鎖(子進程繼承了

原创 淺談MVC設計模式

    最近在整理自己所寫的項目時,其中有一個項目利用了MVC設計模式,當時做項目的時候只是簡單會使用這個設計模式。今天突然想研究研究它,所以結合網上的一些資料,將MVC設計模式做一個簡單的總結概括。    MVC設計模式最大的特點:  

原创 深入理解Hashtable

一、基本知識Hashtable它是一個散列表,它存儲的內容是鍵值對映射。Hashtale繼承於Dictionary,實現了Map、Cloneable、Java.io.Serializable接口。Hashtable的函數是同步的,這意味着