原创 【項目管理】SVN服務器的搭建

一、準備工作 1、獲取 Subversion 服務器程序 到官方網站(http://subversion.apache.org/packages.html)下載最新的服務器安裝程序。 2、獲取 TortoiseSVN 客戶端程序 從官

原创 【編程語言】SGI STL中的hash_map淺析

爲什麼需要hash_map  用過map吧?map提供一個很常用的功能,那就是提供key-value的存儲和查找功能。例如,我要記錄一個人名和相應的存儲,而且隨時增加,要快速查找和修改:  嶽不羣-華山派掌門人,人稱君子劍 張三丰-

原创 【性能分析】初探VS2010中的Profile(性能剖析)功能

VS2010中的Profile(性能剖析)功能十分實用,它可以協助程序員迅速鎖定當前程序的性能瓶頸,爲程序的優化做準備。 點擊VS2010的Analyze菜單,選擇Launch Performance Wizard,依照提示可以很方便地

原创 【編程語言】如何解決菱形繼承問題

繼承、封裝和多態是面向程序設計(OOP)的三大特點,而它們三者之中最具實際操作性的當屬繼承。通過繼承可以實現簡單功能的組合和定製,而多重繼承更將這種能力發揮到更高的境界。不過事事都有弊端,如果使用多重繼承不當很容易造成菱形繼承問題(di

原创 【系統運維】關於內存對齊

一、什麼是字節對齊,爲什麼要對齊?     現代計算機中內存空間都是按照byte劃分的,從理論上講似乎對任何類型的變量的訪問可以從任何地址開始,但實際情況是在訪問特定類型變量的時候經常在特 定的內存地址訪問,這就需要各種類型數據按照一

原创 【編程語言】30種編程語言的比較選擇問題

本文涉及到的編程語言:C、C++、Java、C#、Prolog、VB、Scala、Clojure、Haskell、Ada、Python、Ruby、Pascal(Delphi)、Fortran、Lisp、matlab、Perl、Erlan

原创 【系統運維】單線程和多線程的幾個疑問與解答。

Q1:單核CPU上單線程和多線程的執行效率問題。 A:由於單核CPU上在任意時刻都只能有一個線程在運行。那麼,在不考慮I/O等待的情況下,單線程的執行效率顯然要高,因爲免除了多線程上下文切換的開銷。 Q2:多線程程序比單線程程序能獲得更

原创 【內存池系列】Nginx源碼剖析之內存池,與內存管理

引言         Nginx(發音同 engine x)是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,並在一個BSD-like 協議下發行。由俄羅斯的程序設計師Igor Sysoev

原创 【系統運維】內存對齊(二)

給你舉個例子,如下結構體成員的大小是a+b=1+4=5個字節,但是事實上結構體的大小是8,因爲要字節對齊,就是說32位的機器  //它的每個地址是4個字節,那如果有零頭也會按4個字節算,這樣方便取地址,程序如下:  #include <

原创 【編程語言】C++ 中的placement new

"placement new"? 它 到底是什麼東東呀?我也是最近幾天才聽說,看來對於C++我還差很遠呀!placement new 是重載operator new的一個標準、全局的版本,它不能被自定義的版本代替(不像普通的operat

原创 【系統運維】windows下pthread線程庫的使用

    一直以來,由於標準C++中沒有納入線程庫,對於多線程的編程感到束手無策,win32的線程機制感覺用着不便。今天想搜索一下有沒有其他線程庫,想到了Unix下隨處可見的pthread線程庫,但是苦於這個庫是針對unix系統設計的,無

原创 【IDE探究】VS2010中的調試技巧

今天的博文將介紹Visual Studio中的一些實用調試技巧。這是受我朋友Scott Cate (他發表過幾十篇很棒的VS技術文章) 啓發。他最近告訴我,許多Visual Studio下的程序員,甚至一些很有經驗的開發人員,都不知道

原创 【編程語言】C++ 虛函數表解析

前言   C++中的虛函數的作用主要是實現了多態的機制。關於多態,簡而言之就是用父類型別的指針指向其子類的實例,然後通過父類的指針調用實際子類的成員函數。這種技術可以讓父類的指針有“多種形態”,這是一種泛型技術。所謂泛型技術,說白了就是

原创 【系統運維】POSIX pthread詳解

Posix線程編程指南(1)   內容:  一、 線程創建  二、線程取消  關於作者  線程創建與取消  楊沙洲([email protected])  2001 年 10 月  這是一個關於Posix線程編程的專欄。作者在闡明概念的基礎上,將向

原创 【算法探祕】位圖排序

       位圖排序是一種效率極高(複雜度可達O(n))並且很節省空間的一種排序方法,但是這種排序方法對輸入的數據是有比較嚴格的要求(數據不能重複,大致知道數據的範圍)。位圖排序即利用位圖或者位向量來表示集合。舉個例子,假如有一個集