Time of Update: 2018-12-04
堆和棧到底有什麼區別?這個問題往往在面試中會被問到。棧和堆的從實現上來說,本質是一樣的。棧的大小可以在編譯時間,或者線建立時指定。有空再補全。先貼個程式:通過進程管理器可以看到,在沒有輸入i之前,程式佔用的記憶體是很小的,幾百k,在輸入i之後,程式佔用記憶體不斷上升,最終棧溢出,程式出錯。#include <iostream>using namespace std;int f(int i){//cout<<i<<endl;return f(i +
Time of Update: 2018-12-04
好久沒寫blog了,先來篇充充數。。當想用JMX串連本地進程,而這個進程又沒有配置JMX相關的參數,怎樣才能連到這個進程?下面的代碼是從ActiveMQ的代碼裡摳出來的,可以得到本地進程的jmx url。不過當目標進程配置了-Djava.io.tmpdir
Time of Update: 2018-12-04
眾所周知,英文是以詞為單位的,詞和詞之間是靠空格隔開,而中文是以字為單位,句子中所有的字連起來才能描述一個意思。例如,英文句子I am a student,用中文則為:“我是一個學生”。電腦可以很簡單通過空格知道student是一個單詞,但是不能很容易明白“學”、“生”兩個字合起來才表示一個詞。把中文的漢字序列切分成有意義的詞,就是中文分詞,有些人也稱為切詞。我是一個學生,分詞的結果是:我是 一個 學生。 目前主流的中文分詞演算法有: 1、 基於字串匹配的分詞方法
Time of Update: 2018-12-04
線上學習編程越來越流行。線上編程有個很明顯的優點,就是使用者可以快速地有實質性地接觸,瞭解一門新的語言,技術。它強迫你去敲代碼,強迫你去理解,這樣你會有一定的代碼量,從而會有比較深刻的印象。如果是按傳統的方法,你要學習一樣新語言,首先要賣一本書,或者在網上下一本教程,再學習它文法,資料結構,流程式控制制等。懶人只是看看,覺得會了就丟開了,認真點的人會下個開發環境,隨便寫點簡單的代碼,再認真點的人才會看習題,再再認真點人才會把習題都去做一遍。能真正堅持的人不多。所以很多時候書是很好的,只是看書的人
Time of Update: 2018-12-04
前言:現代的cpu都有流水線,分支預測功能,CPU的分支預測準確性可以達到98%以上,但是如果預測失敗,則流水線失效,效能損失很嚴重。CPU使用的分支預測技術可以參考:處理器分支預測研究的曆史和現狀.pdf同時多執行緒器上的動態分支預測器設計方案研究.pdf正確地利用這些特性,可以寫出高效的程式。比如在寫if,else語句時,應當把大機率事件放到if語句中,把小機率事件放到else語句中。但是通常這種考慮都是基於單線程的,在多線程下有可能出現意外情況,比如多個線程同時執行同一處的代碼。測試:下面
Time of Update: 2018-12-04
最近用到XML ,XSLT對其不瞭解,自己就找點資料看看。在這裡,簡單地對XSLT 開發介紹一下。主要讓你理解基本原理和應用MSXML 4.0 SDK對於XSLT的設計技術.下面的主題提供了一些關於 XSLT 的資訊:標題1:Starter Kit ;描述:對於XSLT初學開發人員提供了一個比較高的版本視圖。包括一個簡單的 'Hello,World! ' XSLT 的例子,去協助你開始寫一個XSLT的樣式指令碼。標題2:Concepts;描述:詳細介紹各種XSLT的特徵。標題3:How
Time of Update: 2018-12-04
陰差陽錯來到電腦系,一個一直很恐懼和要逃避的領域。我家很早買電腦了,但硬體和軟體的知識都是靠著爸爸從《電腦愛好者》自學的,我只限於娛樂。但,真正留下陰影的是高中的電腦課。很難,很變態。學ps,學會聲會影,學flash,學cooledit,學frontpage,學各種硬體......有一次,老師在教用cmd給檔案加密。cmd是什麼我都不懂,還要加密!那節課我真的很想哭,那時,我變得很討厭電腦課,很討厭電腦。我只想玩。沒想到還是被調劑到電腦系。不過對cmd的陰影還是揮之不去。不知不覺八分之一的大學過
Time of Update: 2018-12-04
寫在前面的話在C++11之後,std::bind是C++標準庫的一個組件了。一開始想弄個C++11的實現來研究下,發現裡面用到了可變參數模板(代碼變得非常神奇).http://llvm.org/svn/llvm-project/libcxx/trunk/include/functional還是弄個原始點的boost的實現來研究下。話說網上關於boost::bind的實現的文章也有不少,不過大多數都是貼一段代碼,再扯一通,結果到頭來什麼都沒看明白。(起碼LZ是。。)花了一天的功夫,最終從boost
Time of Update: 2018-12-04
[翻譯-Translate]----XSLT[2] XSLT 的意思為: 可延伸樣式表語言轉換。目的是:將XML文檔的內容轉換為另外一個格式或結構的文檔。eg.將XML轉換成在WEB上使用的HTML,或者轉換成只包含應用程式所需要欄位的文檔。由W3C XSL轉換。在 .NET Framework 中,System.Xml.Xsl 命名空間中的 XslTransform 類是實現此規範功能的 XSLT 處理器。 。。。。。。。。。。。
Time of Update: 2018-12-04
vitess是google的一個mysql項目,用go和python實現。https://code.google.com/p/vitess/vitess中用rpc方式來中轉mysql的請求,其中rpc的實現很有意思,相容了http請求。相容http請求有明顯的好處:1.可以用現成的監控工具來監控服務是否正常,不用另外寫外掛程式2.可以方便地實現查詢資訊功能,不用另外再開發工具或者介面3.可以方便地用現成的工具測試在vitess中很簡單地實現了這個功能。client在建立串連後,第一個包是http
Time of Update: 2018-12-04
更新:2012-08-01版本 2.16長時間運行可能會導致OOM,版本2.18有bug,不能正確序列化map和collection。真是悲劇,所用的每一個版本都有bug。不過從代碼來看,作者有時的確比較隨便。。測試案例也少。。(比起msgpack少多了)========================================Kryo官方網站:https://code.google.com/p/kryo/優點: 速度快!見https://github.com/eishay/jvm-
Time of Update: 2018-12-04
MongoVUE 是個比較好用的MongoDB用戶端,不過免費版在15天過後,不能使用gridfs,Server Monitoring等功能。使用Process Monitor工具,監視註冊表,可以發現MongoVUE 在啟動時會讀取以下的登錄機碼:[HKEY_CURRENT_USER\Software\Classes\CLSID\{B1159E65-821C3-21C5-CE21-34A484D54444}\4FF78130]把這個項下的值全刪掉就可以了。MongoVUE
Time of Update: 2018-12-04
什麼是XSLT?-----擴充樣式表單語言轉換[Extensible Stylesheet Language Transformations(XSLT)] --------擴充標記語言[Extensible Stylesheet Language(XSL)]---------XSLT發展了早期的XSL語言標準。對於XML的資料描述和資料轉換,XSL指定了語言的定義。在某些格式或者媒體上,資料表達的方式顯示資料。表達(的東西)就是關於樣式的。資料轉換意思是分解一個輸入的XML文檔到樹的節點。
Time of Update: 2018-12-04
早前,是單機;軟後,幾個電腦連結;再後,就成為整個互連網。現在網路發展從 the application service provider(ASP,應用服務提供者),到SaaS【是Software-as-a-service(軟體即服務)的簡稱 】,然後,在發展到什麼呢?就是 Software Service and Resource
Time of Update: 2018-12-04
ActiveMQ-WebConsole修複增強版項目地址:https://github.com/hengyunabc/activemq-webconsole-enhanced這個修複增強版基於ActiveMQ5.8.0:http://activemq.apache.org/activemq-580-release.html 。修複了一些顯示的bug,並增強了web
Time of Update: 2018-12-04
HTML檔案中也玩include檔案包含1.IFrame引入,看看下面的代碼 <IFRAME NAME="content_frame" width=100% height=30 marginwidth=0 marginheight=0 src="/import.htm" ></IFRAME> 你會看到一個外部引入的檔案,但會發現有一個類似外框的東西將其包圍,可使用:<iframe name="content_frame" marginwidth=0
Time of Update: 2018-12-04
GridFS簡介GridFS是MongoDB中的一個內建功能,可以用於存放大量小檔案。http://www.mongodb.org/display/DOCS/GridFShttp://www.mongodb.org/display/DOCS/GridFS+SpecificationGridFS使用MongoDB提供了一個命令列工具mongofiles可以來處理GridFS,在bin目錄下。列出所有檔案:mongofiles list上傳一個檔案:mongofiles put xxx.txt下載一
Time of Update: 2018-12-04
上一個程式的效率太低了,統計一個5M的檔案就3S以上,改進後,1S左右,但是效率還是不行,用C寫的比這個快多了,200ms。只是fgets()函數有點問題。用intel的工具分析,是在getline()這個函數裡花了大部分時間。悲劇的C++ #include <iostream>#include <fstream>#include <sstream>#include <string>#include
Time of Update: 2018-12-04
原文:http://research.swtch.com/generic常用的資料結構(vectors,queues,maps,trees,等等)似乎是評估一個新語言的一個熱門話題。Go語言的FAQ中有一條就是關於Go中的泛型程式設計。對於泛型程式設計的通常有以下三種處理方式:1.(C語言)放棄泛型。這樣苦了程式員,但是這樣沒前增加太多複雜的東西到語言中。2.(C++語言)編譯期特化或者大量地展開代碼。這樣苦了編譯器。編繹器產生一堆代碼,而大部分是無用的,需要一個很好的連結器去清除重複的副本。為
Time of Update: 2018-12-04
ArcIMS可以運行在一個分布式環境中,包含用戶端和服務器組件。一個完整服務的運行過程可以簡單的描述為:一個用戶端向伺服器發送請求資訊,伺服器處理請求並返回資訊到用戶端,用戶端將所擷取的資訊展現給終端使用者。 ArcIMS空間伺服器(ArcIMS Spatial Server) ArcIMS空間伺服器是ArcIMS的中心樞紐,承載著高負荷的計算任務,對地圖資料的請求和相關資訊進行處理。當接收到一個服務要求,ArcIMS空間伺服器主要可以完成以下功能: