-
MFC學習筆記之多線程的應用
壹. 使用線程步驟: 1. 定義線程函數傳遞參數結構 如: typedef struct tagTHREADParmS { //CString content; HWND hwnd; int window; int state; Monitor *mm; int thread_id; }THREADParmS; 2. 定義線程函數: 如: UINT read(LPVOID pParam) { THREADPARMS *p=(THREADParmS*)pParam; HWND hwnd=p->hwnd; int edit=p->window; Monitor *mon=p->mm; mon->add_reader(p); SetDlgItemText(hwnd,p->state,”正在讀取”); Sleep(2000); char * str=new char[1000]; GetDlgItemText(hwnd,IDC_DISPLAY,str,1000); SetDlgItemText(hwnd,edit,str); mon->complete_reader(p); SetDlgItemText(hwnd,p->state,”讀取完成”); delete p; return 0; } 3. 啟動線程…
-
Oracle優化器的優化方式
Oracle是世界領先的信息管理軟件開發商,因其復雜的關系數據庫產品而聞名。本文介紹Oracle優化器,它是壹個非常好用的工具。Oracle在執行壹個SQL之前,首先要分析壹下語句的執行計劃,然後再按執行計劃去執行。分析語句的執行計劃的工作是由優化器(Optimizer)來完成的。 不同的情況,壹條SQL可能有多種執行計劃,但在某壹時點,壹定只有壹種執行計劃是最優的,花費時間是最少的。相信妳壹定會用Pl/sql Developer、Toad等工具去看壹個語句的執行計劃,不過妳可能對Rule、Choose、First rows、All rows這幾項有疑問,因為我當初也是這樣的,那時我也疑惑為什麽選了以上的不同的項,執行計劃就變了? 1、Oracle優化器的優化方式 Oracle優化器共有兩種的優化方式,即基於規則的優化方式(Rule-Based Optimization,簡稱為RBO)和基於代價的優化方式(Cost-Based Optimization,簡稱為CBO)。 A、RBO方式:優化器在分析SQL語句時,所遵循的是Oracle內部預定的壹些規則。比如我們常見的,當壹個where子句中的壹列有索引時去走索引。 B、CBO方式:依詞義可知,它是看語句的代價(Cost)了,這裏的代價主要指Cpu和內存。優化器在判斷是否用這種方式時,主要參照的是表及索引的統計信息。統計信息給出表的大小 、有少行、每行的長度等信息。這些統計信息起初在庫內是沒有的,是妳在做analyze後才出現的,很多的時侯過期統計信息會令優化器做出壹個錯誤的執行計劃,因些我們應及時更新這些信息。在Oracle8及以後的版本,Oracle列推薦用CBO的方式。 我們要明了,不壹定走索引就是優的 ,比如壹個表只有兩行數據,壹次IO就可以完成全表的檢索,而此時走索引時則需要兩次IO,這時對這個表做全表掃描(full table scan)是最好的。 2、Oracle優化器的優化模式(Optermizer Mode) 優化模式包括Rule,Choose,First rows,All rows這四種方式,也就是我們以上所提及的。如下我解釋壹下: Rule:不用多說,即走基於規則的方式。 Choolse:這是我們應觀註的,默認的情況下Oracle用的便是這種方式。指的是當壹個表或或索引有統計信息,則走CBO的方式,如果表或索引沒統計信息,表又不是特別的小,而且相應的列有索引時,那麽就走索引,走RBO的方式。 First Rows:它與Choose方式是類似的,所不同的是當壹個表有統計信息時,它將是以最快的方式返回查詢的最先的幾行,從總體上減少了響應時間。 All Rows:也就是我們所說的Cost的方式,當壹個表有統計信息時,它將以最快的方式返回表的所有的行,從總體上提高查詢的吞吐量。沒有統計信息則走基於規則的方式。 3、如何設定選用哪種優化模式 ◆A、Instance級別 我們可以通過在init.ora文件中設定OPTIMIZER_MODE=RULE、OPTIMIZER_MODE=CHOOSE、OPTIMIZER_MODE=FIRST_ROWS、OPTIMIZER_MODE=ALL_ROWS去選用3所提的四種方式,如果妳沒設定OPTIMIZER_MODE參數則默認用的是Choose這種方式。 ◆B、Sessions級別 通過SQL> ALTER SESSION SET OPTIMIZER_MODE=;來設定。 ◆C、語句級別 這些需要用到Hint
-
ICDL課程概覽與簡介
ICDL實行模塊化考試,強調應用能力,目前共有7個模塊: 模塊壹:信息科技的基本概念(Basic Concepts of IT) 模塊二:使用電腦及管理檔案(Using the Computer and Managing Files) 模塊三:文字處理(Word Processing) 模塊四:電子表格(Spreadsheets) 模塊五:數據庫(Databases) 模塊六:演講資料(Presentation) 模塊七:信息及通訊(Information && Communications) 考試全部采用機考,隨時報名,分批考試。考試結束會立即顯示成績。 考生每次報考時可選擇若幹模塊。每個模塊合格後可由信息產業部電子教育中心頒發ICDL模塊合格證,全部七個模塊合格後就能取得ICDL證書。 首次參加考試的考生必須填寫技能卡,並以電子記錄保存在數據庫,其中記錄了考生的信息以及參加考試的進程。技能卡由考生保留。 ICDL技能卡收費為200元人民幣,每壹模塊考試費為100人民幣。ICDL培訓課程的收費標準由各ICDL培訓中心根據ICDL提綱及標準自定。 ICDL具有國際的認受性,壹國認可的ICDL在其他國家亦同樣被視為有效。
-
Cisco 642-272 題庫
通過Killtest提供的642-272考試不僅能夠驗證妳的技能,而且對妳的公司的老板來說也能證明妳所擁有的證書和專業知識技能。目前的IT行業正需要壹種可信賴的642-272考試資源,讓妳在盡可能短的時間內通過642-272認證考試,而盡量少的浪費妳的金錢和精力。 我們準備有642-272 考試的正規考試題型,以便讓大家感受到了真正的考試642-272 的證書。 Killtest的思科認證642-272 考試指南考模擬真實的試場景,即條件,情況和問題等。為了提供給客戶考試的642-272 的最新版本,Certinside人員花費了很大的時間和精力,以確保總是及時獲取到認證考試更新的題目。 部分真題如下: 1. What are two capacity-planning guidelines for voice and web conferencing customers? (Choose two.) A. Build in growth factor of 1030 percent. B. Consider customer LDAP vendor and number of profiled users. C. When sizing on-premises web conferencing needs, assume only the internal WAN and LAN are…
-
CIW認證體系講解
Certified Internet Webmaster,簡稱CIW,是世界上最具權威地位的超越廠商背景的互聯網證書。該證書認可了IT行業中擔任網絡管理、安全管理、站點設計、站點開發及Java程序等職務的專業人員的職業技能資格。 CIW認證得到了互聯網專家協會(AIP)、國際網站管理員協會(IWA)、國際互聯網證書機構(ICII)、香港計算機協會、新加坡國家InfoComm資格中心的認可,並與IBM、HP、Intel等國際知名公司及其它培訓機構有著全球性的合作。 自1998年創建以來,CIW認證以迅猛之勢遍及100多個國家,目前已成為全球發展最快的中立的IT認證培訓項目。 CIW認證體系滿足不同水平學員的需求:CIW認證體系從IT的基礎知識開始,由淺入深,分為助理、專家和大師三個級別。無論你是剛剛從業還是工作多年,在CIW認證體系中都能找到適合你的級別認證。 CIW助理:通過CIW基礎全能考試,學員才能獲得CIW助理級認證。課程涵蓋聯網工作的基本知識和相關技能,以及如何利用HTML創作網絡結構的方法。同時,助理級證書也是獲取專家級和大師級證書的前提。在參加CIW基礎全能考試(1D0-510)之前,考生應當閱讀為1D0-510 制定的CIW v5基礎全能考試指導(中文版 、英文版)。 CIW專家:CIW專家級證書代表特定的IT職位技能資格。必須通過助理級認證才能獲取CIW專家級認證。培訓包括站點設計、電子商務設計、服務器管理、網絡管理、安全、應用開發、數據庫開發以及基於Java的企業應用開發等方面的內容。 CIW網絡安全 CIW網絡安全專家具備企業最需要的使用防火墻系統、攻擊識別技術、實施安全策略、識別安全威脅並開發對策之技能。CIW網絡安全考試( 1D0-570 ) CIW大師:CIW大師可以擔當核心項目、領導電子商務項目小組或管理技術部門。要達到CIW 大師級認證水平,需要在特定領域內擁有廣泛的知識。大師級認證包括設計大師、企業級開發大師、系統管理大師、網站管理大師及安全分析師。 CIW國際認證目前在中國已開設的課程包括:CIW基礎全能與CIW網絡安全。
-
Killtest 題庫網暑期優惠活動詳情
Killtest 暑期优惠活動: 1、購買Apple,Oracle,Sun,Adobe,Cisco,LPI系列考題九折優惠。 2、購買IBM,CompTIA,Juniper,Novell,HP,系列考題八折優惠。 3、購買Microsoft,CIW,FileMaker,Nortel,EMC系列考題“買一贈一”(免費贈送同類等價考題一科)注:如果需要買一贈一,就不再允許使用折扣號,如果不要買一贈一,那就可以和上面提到的第2點一樣,給予八折優惠。 4、網站推廣優惠活動,其他科目使用折扣號“killtest”,就可以享受5%的折扣。 詳情請見:http://www.killtest.net/promotion.asp 如何購買:http://www.killtest.net/howtopay.asp
-
5種跟蹤Java執行的方法
Zviki Cohen基於自己探索和理解他人所編寫代碼的體驗,發布了跟蹤Java執行過程的5種方法。他發現簡單的閱讀源代碼(有些情況下是反編譯代碼),可能是十分乏味和有錯誤傾向的過程。 作為替代,他推薦了5種不同運行時跟蹤方法以在Java代碼運行時觀察它,消除了學習他人代碼的許多不利條件。以下濃縮了他的5個建議: 1、基本方法:斷點和單步執行 “以最簡單的方法開始:設置斷點並開始跟蹤妳的程序執行。它在這些時候是最好的:妳需要壹個快速且簡單的解決方案,妳擁有所有代碼並且知道想在哪裏停止執行。妳需要在給定斷點設置精細的信息(參數、局部變量等等)。” 2、初級方法:調試消息 “我們通過設置調試消息來繼續對程序跟蹤。最簡單的方法是使用System.out.println語句把消息打印到控制臺。 它在這些時候是最好的:妳擁有代碼且很清楚妳正在尋找什麽。對事件處理器來說這是非常好的解決方案。當貫穿某壹復雜流程的執行過程時,它的高性能對理解觸發了哪個事件是非常實用的。” 3、熱門方法:動態代理(Dynamic Proxy) “這是在簡單調試消息之上所做的改進。動態代理是壹個特定的Java特性,它允許開發者引入proxy類,加進某壹給定類之前,並通過某壹給定接口截獲所有調用。它在這些時候是最好的:它對事件處理器來說是非常好的解決方案。妳可以在很短時間內用壹個普通代理設置壹個虛擬事件處理器,來查看事件發生順序。當需要理解事件處理器時這是最簡單和快捷的方法。” 4、暴力方法:運行時剖析器(Run-time Profiler) “剖析器是通過特定的JVM hooks在系統中跟蹤所有調用的強大工具。但是用它來跟蹤執行過程是大才小用。它在這些時候是最好的:妳想擁有壹個特定操作的完整畫卷(如,非常短的執行流程)。” 5、新時代:Aspects “面向方面編程(Aspect Oriented Programming——AOP)是壹個非凡的想法。無需深入Aspect概念,這裏只考慮其能力:它是截獲妳的代碼執行既快速又容易的方法。妳可以圍繞方法、構造器、屬性訪問等等有選擇地設置hook,而不需要修改原始代碼。在這些hook中,妳可以打印調試消息。它在這些時候是最好的:妳想跟蹤可重新構建的代碼執行。”