定義:為創(chuàng)建一組相關(guān)或相互依賴的對(duì)象提供一個(gè)接口,而且無需指定他們的具體類。類型:創(chuàng)建類模式類圖:抽象工廠模式與工廠方法模式的區(qū)別抽象工廠模式是工廠方法模式的升級(jí)版本,他用來創(chuàng)建一組相關(guān)或者相互依賴的對(duì)象。他與工廠方法模式的區(qū)別就在于,工廠方法模式針對(duì)的是一個(gè)產(chǎn)品等級(jí)結(jié)構(gòu);而抽象工廠模式則是針對(duì)的多個(gè)產(chǎn)品等級(jí)結(jié)構(gòu)。在編程中,通常一個(gè)產(chǎn)品結(jié)構(gòu),表現(xiàn)為一個(gè)接口或者抽象類,也就是說,工廠方法模式提供的所有產(chǎn)品都是衍生自同一個(gè)接口或抽象類,而抽象工廠模式所提供的產(chǎn)
系統(tǒng) 2019-08-29 22:45:30 2170
生產(chǎn)者消費(fèi)者問題是研究多線程程序時(shí)繞不開的問題,它的描述是有一塊生產(chǎn)者和消費(fèi)者共享的有界緩沖區(qū),生產(chǎn)者往緩沖區(qū)放入產(chǎn)品,消費(fèi)者從緩沖區(qū)取走產(chǎn)品,這個(gè)過程可以無休止的執(zhí)行,不能因緩沖區(qū)滿生產(chǎn)者放不進(jìn)產(chǎn)品而終止,也不能因緩沖區(qū)空消費(fèi)者無產(chǎn)品可取而終止。解決生產(chǎn)者消費(fèi)者問題的方法有兩種,一種是采用某種機(jī)制保持生產(chǎn)者和消費(fèi)者之間的同步,一種是在生產(chǎn)者和消費(fèi)者之間建立一個(gè)管道。前一種有較高的效率并且可控制性較好,比較常用,后一種由于管道緩沖區(qū)不易控制及被傳輸數(shù)據(jù)對(duì)象
系統(tǒng) 2019-08-29 23:50:37 2166
MongoDB做為NoSQL數(shù)據(jù)庫,最近幾年持續(xù)升溫,越來越多的企業(yè)都開始嘗試用MongoDB代替原有Database做一些事情。MongoDB也在集群,分片,復(fù)制上也有相當(dāng)不錯(cuò)的的表現(xiàn)。我通過將做各種MongoDB的部署實(shí)驗(yàn)進(jìn)行介紹。關(guān)于作者:鄭云飛,程序員Java,Javascript,jquery,css,html,springMVC,Struts2,hibernate,oracle,mysql,hadoop,hbase,hive,sqoop,zoo
系統(tǒng) 2019-08-29 22:57:30 2165
1.類結(jié)構(gòu)圖2.java.io類Readerjava.lang.Objectjava.io.Reader用于讀取字符流的抽象類。子類必須實(shí)現(xiàn)的方法只有read(char[],int,int)和close()。但是,多數(shù)子類將重寫此處定義的一些方法,以提供更高的效率和/或其他功能。3.java.io類BufferedReaderjava.lang.Objectjava.io.Readerjava.io.BufferedReader從字符輸入流中讀取文本,緩沖
系統(tǒng) 2019-08-29 22:26:17 2165
1991年計(jì)算機(jī)先驅(qū)獎(jiǎng)獲得者、斯坦福大學(xué)計(jì)算機(jī)科學(xué)系教授羅伯特·弗洛伊德(RobertW.Floyd)和威廉姆斯(J.Williams)在1964年共同發(fā)明了著名的堆排序算法(HeapSort)。本文主要介紹堆排序用Java來實(shí)現(xiàn)。AD:堆積排序(Heapsort)是指利用堆積樹(堆)這種資料結(jié)構(gòu)所設(shè)計(jì)的一種排序算法,可以利用數(shù)組的特點(diǎn)快速定位指定索引的元素。堆排序是不穩(wěn)定的排序方法,輔助空間為O(1),最壞時(shí)間復(fù)雜度為O(nlog2n),堆排序
系統(tǒng) 2019-08-29 22:45:41 2164
網(wǎng)址:http://www.javabloger.com/article/apache-hbase-shell-and-java-api-html.html本篇文章講述用HBaseShell命令和HBaseJavaAPI對(duì)HBase服務(wù)器進(jìn)行操作。在此之前需要對(duì)HBase的總體上有個(gè)大概的了解。比如說HBase服務(wù)器內(nèi)部由哪些主要部件構(gòu)成?HBase的內(nèi)部工作原理是什么?我想學(xué)習(xí)任何一項(xiàng)知識(shí)、技術(shù)的態(tài)度不能只是知道如何使用,對(duì)產(chǎn)品的內(nèi)部構(gòu)建一點(diǎn)都不去關(guān)心,
系統(tǒng) 2019-08-12 09:30:23 2164
繼承的進(jìn)一步研究1.1子類對(duì)象實(shí)例化過程子類對(duì)象的實(shí)例化::先調(diào)用父類的構(gòu)造方法,然后再調(diào)用子類的構(gòu)造方法。實(shí)例:classPerson{privateStringname;privateintage;publicPerson(){System.out.println("父類person中的構(gòu)造:");}publicvoidsetName(Stringname){this.name=name;}publicvoidsetAge(intage){this.a
系統(tǒng) 2019-08-12 09:30:28 2163
本博客jacob列文章導(dǎo)讀Java操作MicrosoftWord之jacobjacob使用入門及問題解析使用Jacob將Word轉(zhuǎn)為Html或txt使用Jacob將Word轉(zhuǎn)為PDFjava通過jacob調(diào)用word(根據(jù)Word模板生成動(dòng)態(tài)內(nèi)容)現(xiàn)在我們一起來看看,用Java如何操作MicrosoftWord。jacob,官網(wǎng)是http://danadler.com/jacob這是一個(gè)開源的工具。最新版本1.9官方的解釋是:TheJACOBProject
系統(tǒng) 2019-08-29 22:50:57 2160
本篇主要對(duì)java處理三維圖形基本的知識(shí)做一下復(fù)習(xí)。有些地方上篇沒仔細(xì)討論。涉及到上一篇的所有類,做一下規(guī)整,還有新的類應(yīng)用描述。1.Vector3D這個(gè)類描述三維向量。三維向量就是(x,y,z)一個(gè)空間點(diǎn),或從(0,0,0)到(x,y,z)的向量。提供了向量加向量減向量乘和向量除還有返回了向量的長(zhǎng)度空間直線的長(zhǎng)度計(jì)算公式:根號(hào)下(x+-x1)的平方+(y+-y1)+(z+-z1)的平方區(qū)長(zhǎng)度方法為publicfloatlength(){return(fl
系統(tǒng) 2019-08-12 09:30:31 2158
http://json-lib.sourceforge.net/usage.htmlUsingtheJSONSerializerWorkingwitharraysandcollectionsWorkingwithobjectsWorkingwithXMLUsingtheJSONSerializerJSONSerializercantransformanyjavaobjecttoJSONnotationandbackwithasimpleandcleanin
系統(tǒng) 2019-08-29 23:09:41 2157
當(dāng)一個(gè)同事問我:Java中的double的取值范圍是多少時(shí),我一臉的茫然,除了知道浮點(diǎn)數(shù)由符號(hào)位、指數(shù)位和小數(shù)位組成之外,其它的一無所知。大學(xué)里《計(jì)算機(jī)組成》中學(xué)的東西也忘得一干二凈。查了一些資料,并親手寫了些測(cè)試代碼,總算弄明白了,在此做個(gè)筆記。1.三種存儲(chǔ)格式Java遵循的是IEEE754規(guī)范。在這個(gè)規(guī)范里,提到了浮點(diǎn)數(shù)的三種類型:?jiǎn)尉取㈦p精度和雙精度擴(kuò)展。這三種類型的浮點(diǎn)數(shù)的存儲(chǔ)都由三部分組成:符號(hào)位、指數(shù)位和小數(shù)位組成,不同的是三者指數(shù)位和小數(shù)位
系統(tǒng) 2019-08-29 23:15:12 2156
摘要:感受設(shè)計(jì)演變過程中所蘊(yùn)含的大智慧,體會(huì)樂與怒的程序人生中值得回味的一幕幕。本文轉(zhuǎn)自大話設(shè)計(jì)模式第七章之代理模式!本文轉(zhuǎn)載于:http://blog.csdn.net/monkey_d_meng/article/details/56898777.1為別人做嫁衣“小菜,今天見這個(gè)叫嬌嬌的美女見得如何呀?”大鳥一回家來就問小菜。“唉,別提了,人家是有男朋友的。”小菜無精打采地答道。“有男朋友了啊,這倒是我沒料到,那為什么還找你幫忙修電腦?”“她男友叫戴勵(lì),
系統(tǒng) 2019-08-29 23:24:24 2154
最近一個(gè)項(xiàng)目要用Java做,一點(diǎn)都不熟啊。沒辦法,只好硬著頭皮啃了,花了大半天的時(shí)間,終于在Eclipse上完成了第一個(gè)Hibernate例子。下面記錄關(guān)鍵的步驟,權(quán)作筆記,以備日后查看。(1)下載Hibernate,并向項(xiàng)目中導(dǎo)入Hibernate。Project->Properies->JavaBuildPath->Libraries->AddExternalJARs...,選擇Hibernate根目錄下的hibernate3.jar,添加到項(xiàng)目中。接
系統(tǒng) 2019-08-29 22:24:42 2153
Java好象隨處可見-甚至在TV中。盡管如此,說清楚Java是什么和它能做什么卻不那么容易。剛開始接觸Java的人通常有三個(gè)問題:什么是Java?Java能做什么?Java怎樣改變我的生活?讓我們先回答第一個(gè)問題:什么是Java?Java既是一種編程語言,又是一個(gè)平臺(tái)。Java程序語言Java是具有以下特征的高級(jí)程序語言:簡(jiǎn)單面向?qū)ο罂煞植伎山忉審?qiáng)壯安全性結(jié)構(gòu)化輕便功能強(qiáng)大多線程動(dòng)態(tài)Java既可以被編譯,也可以被解釋。通過編譯器,可以把Java程序翻譯成一
系統(tǒng) 2019-08-29 23:16:50 2152
舉兩個(gè)例子以快速明白Java中的簡(jiǎn)單工廠模式:1、女媧摶土造人話說:“天地開辟,未有人民,女媧摶土為人。”女媧需要用土造出一個(gè)個(gè)的人,但在女媧造出人之前,人的概念只存在于女媧的思想里面。女媧造人,這就是簡(jiǎn)單工廠模式的應(yīng)用。首先,在這個(gè)造人的思想里面,有幾個(gè)重要的角色:女媧本身、抽象的人的概念和女媧所造出的一個(gè)個(gè)具體的人。1.)女媧是一個(gè)工廠類,也就是簡(jiǎn)單工廠模式的核心角色。2.)具休的一個(gè)個(gè)的人,包括張三,李四等。這些人便是簡(jiǎn)單工廠模式里面的具體產(chǎn)品角色3
系統(tǒng) 2019-08-29 22:45:31 2152