【技術(shù)開發(fā)焦點(diǎn)】C#多線程學(xué)習(xí)(六) 互斥對象
系列文章導(dǎo)航:C#多線程學(xué)習(xí)(一) 多線程的相關(guān)概念C#多線程學(xué)習(xí)(二) 如何操縱一個(gè)線程C#多線程學(xué)習(xí)(三) 生產(chǎn)者和消費(fèi)者C#多線程學(xué)習(xí)(四) 多線程的自動管理(線程池)C#多線程學(xué)習(xí)(五) 多線程的... [詳細(xì)]
系列文章導(dǎo)航:C#多線程學(xué)習(xí)(一) 多線程的相關(guān)概念C#多線程學(xué)習(xí)(二) 如何操縱一個(gè)線程C#多線程學(xué)習(xí)(三) 生產(chǎn)者和消費(fèi)者C#多線程學(xué)習(xí)(四) 多線程的自動管理(線程池)C#多線程學(xué)習(xí)(五) 多線程的... [詳細(xì)]
系列文章導(dǎo)航:C#多線程學(xué)習(xí)(一) 多線程的相關(guān)概念C#多線程學(xué)習(xí)(二) 如何操縱一個(gè)線程C#多線程學(xué)習(xí)(三) 生產(chǎn)者和消費(fèi)者C#多線程學(xué)習(xí)(四) 多線程的自動管理(線程池)C#多線程學(xué)習(xí)(五) 多線程的... [詳細(xì)]
系列文章導(dǎo)航:C#多線程學(xué)習(xí)(一) 多線程的相關(guān)概念C#多線程學(xué)習(xí)(二) 如何操縱一個(gè)線程C#多線程學(xué)習(xí)(三) 生產(chǎn)者和消費(fèi)者C#多線程學(xué)習(xí)(四) 多線程的自動管理(線程池)C#多線程學(xué)習(xí)(五) 多線程的... [詳細(xì)]
系列文章導(dǎo)航:C#多線程學(xué)習(xí)(一) 多線程的相關(guān)概念C#多線程學(xué)習(xí)(二) 如何操縱一個(gè)線程C#多線程學(xué)習(xí)(三) 生產(chǎn)者和消費(fèi)者C#多線程學(xué)習(xí)(四) 多線程的自動管理(線程池)C#多線程學(xué)習(xí)(五) 多線程的... [詳細(xì)]
緣起 每次有新技術(shù)發(fā)布時(shí),我們總能感受到兩種截然不同的情緒:一種是恐懼和抵抗,伴隨著這種情緒的還有諸如"C# 2.0用的挺好的,為什么要在C# 3.0搞到那么復(fù)雜?"或者"我還在使用C#1.0呢?"等言辭;...
軟件工程是一門獨(dú)特的工程藝術(shù),需要解決的是不斷改變的需求變化。而對于WCF,對于SOA,由于涉及的是對多個(gè)系統(tǒng)之間的交互問題,如何有效地解決不斷改變的需求所帶來的問題就顯得更為重要:Service端...
在本篇文章上一部分Order Processing的例子中,我們看到原本已Collection形式定義的DetailList屬性(public IList<TDetail> DetailList),在Data Contract中卻以Array的方式體現(xiàn)(public OrderDetai...
通過第一部分的介紹,我們可以體會到,WCF 的Data Contract在CLR Type和Neutral Contract之間搭建了一座橋梁,彌合了.NET世界和廠商中立世界的差異。通過WCF Data Contract我們將CLR Data Type暴...
|
接口是實(shí)現(xiàn)構(gòu)件可插入性的關(guān)鍵,可插入構(gòu)件的關(guān)鍵在于存在一個(gè)公用的接口,以及每個(gè)構(gòu)件實(shí)現(xiàn)了這個(gè)接口。
什么是接口?
Java中的接口是一系列方法的聲明,是一些方法特征的集合,一個(gè)接口只有方法的特征沒有方法的...
IT技術(shù)日新月異,新技術(shù)的出現(xiàn)令人目不暇接,似乎每一天都在產(chǎn)生著新名詞。不過歸根結(jié)底IT所要實(shí)現(xiàn)的價(jià)值不外乎數(shù)據(jù)收集,然后再以客戶希望的形式展示給客戶而已。因此數(shù)據(jù)存取技術(shù)也就成了一個(gè)永恒的話題。而在Java這個(gè)開...
在Java的世界里,無論類還是各種數(shù)據(jù),其結(jié)構(gòu)的處理是整個(gè)程序的邏輯以及性能的關(guān)鍵。由于本人接觸了一個(gè)有關(guān)性能與邏輯同時(shí)并存的問題,于是就開始研究這方面的問題。找遍了大大小小的論壇,也把《Java 虛擬機(jī)規(guī)范》,《apres...
Java 編程語言的線程模型可能是此語言中最薄弱的部分。它完全不適合實(shí)際復(fù)雜程序的要求,而且也完全不是面向?qū)ο蟮?。本文建議對 Java 語言進(jìn)行重大修改和補(bǔ)充,以解決這些問題。
Java 語言的線程模型是此語言...
前言:
在我們學(xué)習(xí)Java的過程中,掌握其中的基本概念對我們的學(xué)習(xí)無論是J2SE,J2EE,J2ME都是很重要的,J2SE是Java的基礎(chǔ),所以有必要對其中的基本概念做以歸納,以便大家在以后的學(xué)習(xí)過程中更好的理解java的精髓,...
在測試用例向?qū)У淖詈笠徊?,允許你創(chuàng)建一個(gè)測試用例的運(yùn)行配置項(xiàng),如下圖所示:
圖 錯(cuò)誤!文檔中沒有指定樣式的文字。創(chuàng)建運(yùn)行測試項(xiàng) 在一般情況下,你不必為每個(gè)測試用例類單獨(dú)創(chuàng)建一個(gè)運(yùn)行配置項(xiàng),JBuilder會采用默認(rèn)...
在測試用例中通過setUp()、tearDown()創(chuàng)建測試固件,只能使這個(gè)測試固件在單個(gè)測試用例的不同測試方法中共用,如果有多個(gè)測試用例都需要使用相同的測試固件,就需要將測試固件抽取到一個(gè)獨(dú)立的類中。JBuilder提供了3個(gè)預(yù)定...
目前我們只為Subsection類生成了一個(gè)測試用例,在這節(jié)里,我們按照前述的方法,通過Test Case向?qū)镾tringUtils類創(chuàng)建一個(gè)測試用例代碼框架,并編寫測試方法,然后將這兩個(gè)測試用例捆綁組合在一個(gè)測試套件中一起運(yùn)行。
...
為了便于講解,擬通過兩個(gè)簡單的業(yè)務(wù)類引出測試用例,一個(gè)是分段函數(shù)類,另一個(gè)是字符串處理類,在這節(jié)里我們先來熟悉這兩個(gè)業(yè)務(wù)類。
分段函數(shù)類
分段函數(shù)Subsection類有兩個(gè)函數(shù),sign()是一個(gè)符號函數(shù),而getValue...
簡單的框架 JUnit是由Erich Gamma和Kent Beck開發(fā)的開源測試框架,JBuilder集成了這個(gè)框架并對此做了擴(kuò)展。JUnit之所以流行并為廣大的開發(fā)人員所推崇,一是因?yàn)樗鼘?shí)戰(zhàn)性強(qiáng),功能強(qiáng)大,二是因?yàn)樗鼘?shí)在簡單。一個(gè)產(chǎn)品或...
一個(gè)產(chǎn)品只有通過檢驗(yàn)才能投放市場,同樣的,一個(gè)業(yè)務(wù)類也只有在經(jīng)驗(yàn)測試后才能保證功能的正確性,以便被其他類或程序調(diào)用,否則隱藏其中的Bug就蔓延開了。業(yè)務(wù)功能點(diǎn)測試是測試人員的職責(zé),但業(yè)務(wù)類API的正確性必須由開發(fā)...
和Java類路徑(classpath)打交道的過程中,開發(fā)者偶爾會遇到麻煩。這是因?yàn)椋愌b載器實(shí)際裝入的是哪一個(gè)類有時(shí)并不顯而易見,當(dāng)應(yīng)用程序的classpath包含大量的類和目錄時(shí),情況尤其嚴(yán)重。本文將提供一個(gè)工具,它能夠顯示出被...
本文用eclipse的自動重構(gòu)功能對一個(gè)程序?qū)嵗M(jìn)行重構(gòu),目的是探索Eclipse自動重構(gòu)可以在多大程度上輔助重構(gòu)這個(gè)過程。程序?qū)嵗褂谩禦efactoring:Improving the Design of Existing Code》一書中的例子。
Ecl...
一個(gè)完整的Java應(yīng)用程序,通常至少要有一個(gè)應(yīng)用程序的結(jié)束點(diǎn)。對于一般程序來說,系統(tǒng)開發(fā)者根據(jù)需要和個(gè)人的偏好,會在程序結(jié)束位置,通過添加System.exit(0),或System.out(-1),來結(jié)束程序,或不加這些指令,讓程序自然運(yùn)行到結(jié)束...
FTP 命令 FTP 的主要操作都是基于各種命令基礎(chǔ)之上的。常用的命令有:
? 設(shè)置傳輸模式,它包括ASCⅡ(文本) 和BINARY 二進(jìn)制模式;
? 目錄操作,改變或顯示遠(yuǎn)程計(jì)算機(jī)的當(dāng)前目錄(cd、dir/ls 命令);
...
java.util包中包含了一系列重要的集合類。本文將從分析源碼入手,深入研究一個(gè)集合類的內(nèi)部結(jié)構(gòu),以及遍歷集合的迭代模式的源碼實(shí)現(xiàn)內(nèi)幕。
下面我們先簡單討論一個(gè)根接口Collection,然后分析一個(gè)抽象類AbstractList...
雖然以前間或的也看了些書籍,但多是隔靴搔癢,上不了正席,絕不敢說自己懂Java。接觸一門新的技術(shù)和初戀一樣,都是第一次,但不同的是后者一般開始無比甜蜜,結(jié)局卻很痛苦,而前者則往往開始很痛苦,越到后來卻越是有味,簡直是欲罷不...
Date 類從Java 開發(fā)包(JDK) 1.0 就開始進(jìn)化, 當(dāng)時(shí)它只包含了幾個(gè)取得或者設(shè)置一個(gè)日期數(shù)據(jù)的各個(gè)部分的方法, 比如說月, 日, 和年。這些方法現(xiàn)在遭到了批評并且已經(jīng)被轉(zhuǎn)移到了Calendar類里去了, 我們將在本文中進(jìn)一步討論...
Hibernate是對JDBC的輕量級對象封裝,Hibernate本身是不具備Transaction處理功能的,Hibernate的Transaction實(shí)際上是底層的JDBC Transaction的封裝,或者是JTA Transaction的封裝,下面我們詳細(xì)的分析:
Hibernate可...
有句英語諺語叫作"Look before you jump",在著手重構(gòu)前,看看這個(gè)更改的影響度,以資決策,是一個(gè)不錯(cuò)的主意。
1、查看定義 程序類之間是相互調(diào)用的,JBuilder可以方便你查看類、方法、值域的定義,將光標(biāo)置于某一代...
我們知道,POA規(guī)范定義CORBA對象為具有標(biāo)識、接口和實(shí)現(xiàn)的抽象實(shí)體。從客戶機(jī)的角度來看,對象表示為對象引用,對象引用封裝了對象接口類型和標(biāo)識,并包含足夠的信息來定位對象的實(shí)現(xiàn)。但從服務(wù)器的角度來看又怎樣呢? ...
一、引子
我們?nèi)タ萍际袌鰹樽约旱臋C(jī)器添加點(diǎn)奢侈的配件,很多DIYer都喜歡去找代理商,因?yàn)樵诖砩棠抢锬玫降臇|西不僅質(zhì)量有保證,而且價(jià)格和售后服務(wù)上都會好很多??蛻敉ㄟ^代理商得到了自己想要的東西,而且還享受...
在平時(shí)工作中,難免會遇到把 XML 作為數(shù)據(jù)存儲格式。面對目前種類繁多的解決方案,哪個(gè)最適合我們呢?在這篇文章中,我對這四種主流方案做一個(gè)不完全評測,僅僅針對遍歷 XML 這塊來測試,因?yàn)楸闅v XML 是工作中使用最多的(至...
使用Java語言編寫應(yīng)用程序最大的優(yōu)點(diǎn)在于“一次編譯,處處運(yùn)行”,然而這并不是說所有的Java程序都具有跨平臺的特性,事實(shí)上,相當(dāng)一部分的Java程序是不能在別的操作系統(tǒng)上正確運(yùn)行的,那么如何才能編寫一個(gè)真正的跨平臺的Java...
也許你聽說過Hibernate的大名,但可能一直不了解它,也許你一直渴望使用它進(jìn)行開發(fā),那么本文正是你所需要的!在本文中,我向大家重點(diǎn)介紹Hibernate的核心API調(diào)用庫,并講解一下它的基本配置。
看完本文后,我相信你對什...