利用百度地圖的API定位地理位置
posted @ 2012-07-26 07:55 zx_bing| 編輯 收藏
zx_bing人生路漫漫,多學(xué)些知識(shí)總是有益處的
隨筆 - 32, 文章 - 0, 評(píng)論 - 0, 引用 - 0
|
SpringMVC框架介紹
SpringMVC框架圖posted @ 2012-07-25 06:54 zx_bing| 編輯 收藏 java 技術(shù)博客posted @ 2012-07-25 06:48 zx_bing| 編輯 收藏 提高js性能注意事項(xiàng)
一.執(zhí)行效率
1. DOM 1.1 使用DocumentFragment優(yōu)化多次append 說明:添加多個(gè)dom元素時(shí),先將元素append到DocumentFragment中,最后統(tǒng)一將DocumentFragment添加到頁面。 該做法可以減少頁面渲染dom元素的次數(shù)。經(jīng)IE和Fx下測試,在append1000個(gè)元素時(shí),效率能提高10%-30%,F(xiàn)x下提升較為明顯。 服用前: for (var i = 0; i < 1000; i++) { var el = document.createElement('p'); el.innerHTML = i; document.body.appendChild(el); } 服用后: var frag = document.createDocumentFragment(); for (var i = 0; i < 1000; i++) { var el = document.createElement('p'); el.innerHTML = i; frag.appendChild(el); } document.body.appendChild(frag); 1.2 通過模板元素clone,替代createElement 說明:通過一個(gè)模板dom對(duì)象cloneNode,效率比直接創(chuàng)建element高。 性能提高不明顯,約為10%左右。在低于100個(gè)元素create和append操作時(shí),沒有優(yōu)勢。 服用前: var frag = document.createDocumentFragment(); for (var i = 0; i < 1000; i++) { var el = document.createElement('p'); el.innerHTML = i; frag.appendChild(el); } document.body.appendChild(frag); 服用后: var frag = document.createDocumentFragment(); var pEl = document.getElementsByTagName('p')[0]; for (var i = 0; i < 1000; i++) { var el = pEl.cloneNode(false); el.innerHTML = i; frag.appendChild(el); } document.body.appendChild(frag); 1.3 使用一次innerHTML賦值代替構(gòu)建dom元素 說明:根據(jù)數(shù)據(jù)構(gòu)建列表樣式的時(shí)候,使用設(shè)置列表容器innerHTML的方式,比構(gòu)建dom元素并append到頁面中的方式,效率有數(shù)量級(jí)上的提高。 服用前: var frag = document.createDocumentFragment(); for (var i = 0; i < 1000; i++) { var el = document.createElement('p'); el.innerHTML = i; frag.appendChild(el); } document.body.appendChild(frag); 服用后: var html = []; for (var i = 0; i < 1000; i++) { html.push('' + i + ' '); } document.body.innerHTML = html.join(''); 1.4 使用firstChild和nextSibling代替childNodes遍歷dom元素 說明:約能獲得30%-50%的性能提高。逆向遍歷時(shí)使用lastChild和previousSibling。 服用前: var nodes = element.childNodes; for (var i = 0, l = nodes.length; i < l; i++) { var node = nodes[i]; …… } 服用后: var node = element.firstChild; while (node) { …… node = node.nextSibling; } 2. 字符串 2.1 使用Array做為StringBuffer,代替字符串拼接的操作 說明:IE在對(duì)字符串拼接的時(shí)候,會(huì)創(chuàng)建臨時(shí)的String對(duì)象;經(jīng)測試,在IE下,當(dāng)拼接的字符串越來越大時(shí),運(yùn)行效率會(huì)急劇下降。Fx和Opera都對(duì)字符串拼接操作進(jìn)行了優(yōu)化;經(jīng)測試,在Fx下,使用Array的join方式執(zhí)行時(shí)間約為直接字符串拼接的1.4倍。 服用前: var now = new Date(); var str = ''; for (var i = 0; i < 10000; i++) { str += '123456789123456789'; } alert(new Date() - now); 服用后: var now = new Date(); var strBuffer = []; for (var i = 0; i < 10000; i++) { strBuffer.push('123456789123456789'); } var str = strBuffer.join(''); alert(new Date() - now); 3. 循環(huán)語句 3.1 將循環(huán)控制量保存到局部變量 說明:對(duì)數(shù)組和列表對(duì)象的遍歷時(shí),提前將length保存到局部變量中,避免在循環(huán)的每一步重復(fù)取值。 服用前: var list = document.getElementsByTagName('p'); for (var i = 0; i < list.length; i++) { …… } 服用后: var list = document.getElementsByTagName('p'); for (var i = 0, l = list.length; i < l; i++) { …… } 3.2 順序無關(guān)的遍歷時(shí),用while替代for 說明:該方法可以減少局部變量的使用。比起效率優(yōu)化,更能直接看到的是字符數(shù)量的優(yōu)化。該做法有程序員強(qiáng)迫癥的嫌疑。 服用前: var arr = [1,2,3,4,5,6,7]; var sum = 0; for (var i = 0, l = arr.length; i < l; i++) { sum += arr[i]; } 服用后: var arr = [1,2,3,4,5,6,7]; var sum = 0, l = arr.length; while (l--) { sum += arr[l]; } 4. 條件分支 4.1 將條件分支,按可能性順序從高到低排列 說明:可以減少解釋器對(duì)條件的探測次數(shù)。 4.2 在同一條件子的多(>2)條件分支時(shí),使用switch優(yōu)于if 說明:switch分支選擇的效率高于if,在IE下尤為明顯。4分支的測試,IE下switch的執(zhí)行時(shí)間約為if的一半。 4.3 使用三目運(yùn)算符替代條件分支 服用前: if (a > b) { num = a; } else { num = b; } 服用后: num = a > b ? a : b; 5. 定時(shí)器 5.1 需要不斷執(zhí)行的時(shí)候,優(yōu)先考慮使用setInterval 說明:setTimeout每一次都會(huì)初始化一個(gè)定時(shí)器。setInterval只會(huì)在開始的時(shí)候初始化一個(gè)定時(shí)器 服用前: var timeoutTimes = 0; function timeout () { timeoutTimes++; if (timeoutTimes < 10) { setTimeout(timeout, 10); } } timeout(); 服用后: var intervalTimes = 0; function interval () { intervalTimes++; if (intervalTimes >= 10) { clearInterval(interv); } } var interv = setInterval(interval, 10); 5.2 使用function而不是string 說明:如果把字符串作為setTimeout和setInterval的參數(shù),瀏覽器會(huì)先用這個(gè)字符串構(gòu)建一個(gè)function。 服用前: var num = 0; setTimeout('num++', 10); 服用后: var num = 0; function addNum () { num++; } setTimeout(addNum, 10); 6. 其他 6.1 盡量不使用動(dòng)態(tài)語法元素 說明:eval、Function、execScript等語句會(huì)再次使用javascript解析引擎進(jìn)行解析,需要消耗大量的執(zhí)行時(shí)間。 6.2 重復(fù)使用的調(diào)用結(jié)果,事先保存到局部變量 說明:避免多次取值的調(diào)用開銷。 服用前: var h1 = element1.clientHeight + num1; var h2 = element1.clientHeight + num2; 服用后: var eleHeight = element1.clientHeight; var h1 = eleHeight + num1; var h2 = eleHeight + num2; 6.3 使用直接量 說明: var a = new Array(param,param,...) -> var a = [] var foo = new Object() -> var foo = {} var reg = new RegExp() -> var reg = /.../ 6.4 避免使用with 說明: with雖然可以縮短代碼量,但是會(huì)在運(yùn)行時(shí)構(gòu)造一個(gè)新的scope。 OperaDev上還有這樣的解釋,使用with語句會(huì)使得解釋器無法在語法解析階段對(duì)代碼進(jìn)行優(yōu)化。對(duì)此說法,無法驗(yàn)證。 服用前: with (a.b.c.d) { property1 = 1; property2 = 2; } 服用后: var obj = a.b.c.d; obj.property1 = 1; obj.property2 = 2; 6.5 巧用||和&&布爾運(yùn)算符 服用前: function eventHandler (e) { if(!e) e = window.event; } 服用后: function eventHandler (e) { e = e || window.event; } 服用前: if (myobj) { doSomething(myobj); } 服用后: myobj && doSomething(myobj); 6.6 類型轉(zhuǎn)換 說明: 1). 數(shù)字轉(zhuǎn)換成字符串,應(yīng)用"" + 1,性能上:("" +) > String() > .toString() > new String(); 2). 浮點(diǎn)數(shù)轉(zhuǎn)換成整型,不使用parseInt(), parseInt()是用于將字符串轉(zhuǎn)換成數(shù)字,而不是浮點(diǎn)數(shù)和整型之間的轉(zhuǎn)換,建議使用Math.floor()或者M(jìn)ath.round() 3). 對(duì)于自定義的對(duì)象,推薦顯式調(diào)用toString()。內(nèi)部操作在嘗試所有可能性之后,會(huì)嘗試對(duì)象的toString()方法嘗試能否轉(zhuǎn)化為String。 二.內(nèi)存管理 2.1 循環(huán)引用 說明:如果循環(huán)引用中包含DOM對(duì)象或者ActiveX對(duì)象,那么就會(huì)發(fā)生內(nèi)存泄露。內(nèi)存泄露的后果是在瀏覽器關(guān)閉前,即使是刷新頁面,這部分內(nèi)存不會(huì)被瀏覽器釋放。 簡單的循環(huán)引用: var el = document.getElementById('MyElement'); var func = function () {…} el.func = func; func.element = el; 但是通常不會(huì)出現(xiàn)這種情況。通常循環(huán)引用發(fā)生在為dom元素添加閉包作為expendo的時(shí)候。 如: function init() { var el = document.getElementById('MyElement'); el.onclick = function () {……} } init(); init在執(zhí)行的時(shí)候,當(dāng)前上下文我們叫做context。這個(gè)時(shí)候,context引用了el,el引用了function,function引用了context。這時(shí)候形成了一個(gè)循環(huán)引用。 下面2種方法可以解決循環(huán)引用: 1) 置空dom對(duì)象 服用前: function init() { var el = document.getElementById('MyElement'); el.onclick = function () {……} } init(); 服用后: function init() { var el = document.getElementById('MyElement'); el.onclick = function () {……} el = null; } init(); 將el置空,context中不包含對(duì)dom對(duì)象的引用,從而打斷循環(huán)應(yīng)用。 如果我們需要將dom對(duì)象返回,可以用如下方法: 服用前: function init() { var el = document.getElementById('MyElement'); el.onclick = function () {……} return el; } init(); 服用后: function init() { var el = document.getElementById('MyElement'); el.onclick = function () {……} try{ return el; } finally { el = null; } } init(); 2) 構(gòu)造新的context 服用前: function init() { var el = document.getElementById('MyElement'); el.onclick = function () {……} } init(); 服用后: function elClickHandler() {……} function init() { var el = document.getElementById('MyElement'); el.onclick = elClickHandler; } init(); 把function抽到新的context中,這樣,function的context就不包含對(duì)el的引用,從而打斷循環(huán)引用。 2.2 通過javascript創(chuàng)建的dom對(duì)象,必須append到頁面中 說明:IE下,腳本創(chuàng)建的dom對(duì)象,如果沒有append到頁面中,刷新頁面,這部分內(nèi)存是不會(huì)回收的! 示例代碼: function create () { var gc = document.getElementById('GC'); for (var i = 0; i < 5000 ; i++) { var el = document.createElement('div'); el.innerHTML = "test"; //下面這句可以注釋掉,看看瀏覽器在任務(wù)管理器中,點(diǎn)擊按鈕然后刷新后的內(nèi)存變化 gc.appendChild(el); } } 2.3 釋放dom元素占用的內(nèi)存 說明: 將dom元素的innerHTML設(shè)置為空字符串,可以釋放其子元素占用的內(nèi)存。 在rich應(yīng)用中,用戶也許會(huì)在一個(gè)頁面上停留很長時(shí)間,可以使用該方法釋放積累得越來越多的dom元素使用的內(nèi)存。 2.4 釋放javascript對(duì)象 說明:在rich應(yīng)用中,隨著實(shí)例化對(duì)象數(shù)量的增加,內(nèi)存消耗會(huì)越來越大。所以應(yīng)當(dāng)及時(shí)釋放對(duì)對(duì)象的引用,讓GC能夠回收這些內(nèi)存控件。 對(duì)象:obj = null 對(duì)象屬性:delete obj.myproperty 數(shù)組item:使用數(shù)組的splice方法釋放數(shù)組中不用的item 2.5 避免string的隱式裝箱 說明:對(duì)string的方法調(diào)用,比如'xxx'.length,瀏覽器會(huì)進(jìn)行一個(gè)隱式的裝箱操作,將字符串先轉(zhuǎn)換成一個(gè)String對(duì)象。推薦對(duì)聲明有可能使用String實(shí)例方法的字符串時(shí),采用如下寫法: var myString = new String('Hello World'); posted @ 2012-07-25 06:44 zx_bing| 編輯 收藏 徹底刪除SQL Server注冊表信息1.徹底刪除SQL Server:
2。注冊表中的相關(guān)信息刪除:
posted @ 2012-07-25 06:40 zx_bing| 編輯 收藏 AndroMDA開發(fā)環(huán)境搭建
翻譯者:Jason S.H.Chen
(英文地址:http://www.andromda.org/index.php?option=com_content&view=article&id=105:environment-setup&catid=42:getting-started-java&Itemid=89) 環(huán)境設(shè)置 本節(jié)將一步步的指導(dǎo)你完成AndroMDA開發(fā)環(huán)境的設(shè)置。我們假定你工作在Windows操作系統(tǒng)上。 通過此節(jié),你將安裝多種程序。每種程序的推薦安裝路徑以及所需要的其他目錄已列在下面。你可以根據(jù)你的系統(tǒng)配置和個(gè)人喜好自由的修改這些目錄。比如,你可以選擇將程序安裝在D盤而不是C盤。無論如何,請(qǐng)注意一件事情,有些程序會(huì)因?yàn)槟闼O(shè)置的路徑名中包含空格而不能正常工作。所以,在安裝配置程序過程中盡可能復(fù)制粘貼下面推薦的路徑。 推薦安裝路徑 用途 C:\Documents and Settings\你的用戶名\.m2\repository Maven本地庫 C:\Program Files\Apache Software Foundation\maven-2.0.8 Maven安裝路徑 C:\Program Files\Java\jdk1.6.0_xx JDK C:\Program Files\Java\jre1.6.0_xx JRE,Java 運(yùn)行引擎 C:\Program Files\MySQL\MySQL Server 5.0 MySQL數(shù)據(jù)庫服務(wù)器 C:\eclipse Eclipse集成開發(fā)環(huán)境(可選) C:\jboss-4.0.5 JBoss應(yīng)用服務(wù)器 你還需要設(shè)置一些相關(guān)的環(huán)境變量。在控制面板中可完成環(huán)境的設(shè)置(控制面板>系統(tǒng)>高級(jí)>環(huán)境變量)。注意:任何程序的安裝目錄被修改后,你必須確保將與之相關(guān)的環(huán)境變量的取值修改與之一致。 準(zhǔn)備開發(fā)環(huán)境 請(qǐng)按照下面的步驟開始準(zhǔn)備AndroMDA的開發(fā)環(huán)境。 安裝Java 請(qǐng)從這里下載JDK6安裝程序并執(zhí)行安裝。此版本是AndroMDA推薦的JDK安裝版本。AndroMDA也支持JDK1.5.我們不再支持JDK1.4. 確保JAVA_HOME環(huán)境變量指向的目錄是JDK的安裝目錄。也許你已經(jīng)設(shè)置了這個(gè)環(huán)境變量,但最好還是檢查一下: 1. 進(jìn)入【控制面板】,雙擊【系統(tǒng)】。 2. 選擇【高級(jí)】選項(xiàng)卡,點(diǎn)擊【環(huán)境變量】。 3. 查看JAVA_HOME的值是否指向你的JDK安裝目錄。如果不是請(qǐng)編輯JAVA_HOME變量的值,讓他指向JDK的安裝目錄(比如:C:\Program Files\Java\jdk1.6.0_06)。 安裝Maven Maven是AndroMDA的首選應(yīng)用系統(tǒng)構(gòu)建部署工具。基于項(xiàng)目對(duì)象模型(POM)的概念,Maven可以管理一個(gè)項(xiàng)目的構(gòu)建,報(bào)告和文檔等。如果你熟悉Ant的話,Maven與之有不少相同之處,但Maven提供了更多的功能: 1. 可繼承的構(gòu)建環(huán)境配置,在POM文件(pom.xml)中配置的參數(shù)可以傳遞給所有子項(xiàng)目的POM文件。 2. 標(biāo)準(zhǔn)化的構(gòu)建任務(wù)(清除,構(gòu)建,安裝,部署等)。 3. 能表達(dá)構(gòu)建和部署任務(wù)所依賴的庫,不管是內(nèi)部依賴庫還是外部依賴庫,都必須指明所依賴的具體版本號(hào)。 4. 提供一個(gè)包含所有項(xiàng)目所依賴的版本的庫文件的倉庫。在系統(tǒng)的構(gòu)建和部署過程中會(huì)用到倉庫(有點(diǎn)類似于.net的全局匯編緩存的概念)。 按照下面的步驟安裝Maven2.0.8. 1. 點(diǎn)擊這里下載Maven2.0.8. 2. 將文件解壓到C:\Program Files\Apache Software Foundation這個(gè)目錄,一個(gè)名為maven-2.0.8的目錄將被創(chuàng)建,此目錄下面就是Maven2.0.8的程序。 注意:如果你使用代理服務(wù)器上網(wǎng)的話,你必須配置Maven使用代理。詳細(xì)的配置你可以在這里找到。 安裝JBoss應(yīng)用服務(wù)器 JBoss應(yīng)用服務(wù)器是一款應(yīng)用很廣泛的開源應(yīng)用服務(wù)器。按照下面的步驟安裝JBoss4.0.5. 1. 點(diǎn)擊這里轉(zhuǎn)到JBoss的下載頁面。 2. 在下載列表上選擇JBoss Application Server version 4.0.5的下載按鈕,系統(tǒng)將把你帶到SourceForge的下載頁面。 3. 點(diǎn)擊名為“jboss-4.0.5GA.zip”的下載鏈接,進(jìn)行下載。 4. 下載完畢,將下載的文件解壓到C盤,一個(gè)名為jboss-4.0.4GA的目錄將被創(chuàng)建。此目錄下包含JBoss應(yīng)用服務(wù)器的程序文件。 5. 如果你打算在你的機(jī)器上也安裝Oracle數(shù)據(jù)庫的話,你必須將JBoss的 http端口8080修改成其他端口。Oracle也默認(rèn)使用此端口,而且Oracle的配置不容易修改。如果你要修改JBoss的http端口的話,請(qǐng)打開C:\jboss-4.0.5\server\default\deploy\jbossweb-tomcat55.sar這個(gè)目錄下的名為server.xml的文件,將文件中所有8080數(shù)字修改為其他的值,比如9090.這樣即可解決Oracle和JBoss之間的沖突。如果你將8080端口修改成了9090,那么手冊中所有使用到8080端口的地方,對(duì)于你來說都是9090端口。 設(shè)置環(huán)境變量 前面我們已經(jīng)通過設(shè)置環(huán)境變量JAVA_HOME講解了怎樣設(shè)置環(huán)境變量。強(qiáng)烈推薦先設(shè)置完下面列出的環(huán)境變量后在繼續(xù)后面的學(xué)習(xí)。為了保持文章的完整性,我們將環(huán)境變量JAVA_HOME也列在了下面。 環(huán)境變量名 環(huán)境變量值 是否必須 JAVA_HOME JAVA安裝目錄,比如C:\Program Files\Java\jdk1.6.0_06 必須 JBOSS_HOME JBoss安裝目錄,比如C:\jboss-4.0.5 必須 M2_HOME Maven安裝目錄,比如C:\Program Files\Apache Software Foundation\maven-2.0.8 必須 M2_REPO Maven本地庫 必須 MAVEN_OPTS 運(yùn)行Maven的JVM參數(shù)(推薦:-XX:MaxPermSize=128m -Xmx512m,構(gòu)建大型項(xiàng)目最好設(shè)置) 可選 PATH 將%JAVA_HOME%\bin;%M2_HOME%\bin添加到PATH值中 必須 測試Maven并創(chuàng)建本地Maven庫 Maven is based on the concept of a central(這句不知道怎樣翻譯合理), local repository located on your machine, where it stores artifacts such as 3rd party libraries as well as components created by you.本地Maven庫存在你的電腦上,在庫中存儲(chǔ)著很多項(xiàng)目需要使用的第三方庫和你自己創(chuàng)建的庫。當(dāng)你創(chuàng)建一個(gè)新項(xiàng)目時(shí),你必須創(chuàng)建一個(gè)名為pom.xml用于描述項(xiàng)目對(duì)象信息的文件。在這個(gè)文件中,你告訴maven你的應(yīng)用會(huì)依賴哪些第三方庫以及他們的具體版本。當(dāng)Maven開始構(gòu)建應(yīng)用的時(shí)候,他會(huì)首先從遠(yuǎn)程庫(通過網(wǎng)絡(luò))中獲取項(xiàng)目所依賴的這些庫,并把從遠(yuǎn)程庫獲取的庫復(fù)制到本地庫。因?yàn)檫@樣你以后就可以完全通過本地庫完成構(gòu)建應(yīng)用。默認(rèn)情況下,你的本地庫在“C:\Documents and Settings\{你的用戶名}\.m2\repository”這個(gè)目錄下(其中,你的用戶名是只你登錄系統(tǒng)的用戶名)。到目前為止,我們只安裝了Maven程序,還沒有創(chuàng)建本地庫。按照下面的步驟測試你是否已經(jīng)正確安裝了Maven和創(chuàng)建你的本地庫。我們將使用Maven的標(biāo)準(zhǔn)插件創(chuàng)建一個(gè)臨時(shí)項(xiàng)目進(jìn)行測試,測試完可以刪除臨時(shí)項(xiàng)目。 1. 開啟命名提示窗口,將當(dāng)前路徑切換到任何一個(gè)臨時(shí)文件目錄下,比如c:\temp 2. 執(zhí)行下面的命令檢查你是否正確安裝配置了Mavne: Mvn --version 3. 窗口中出現(xiàn)如下信息,則標(biāo)示你安裝配置正確。 Maven version:2.0.2 4. 執(zhí)行下面的命令創(chuàng)建一個(gè)臨時(shí)項(xiàng)目: mvn archetype:create -DgroupId=testapp -DartifactId=testapp 必須確保在此命令執(zhí)行完畢,你得到的反饋信息是“Build Successful”.有時(shí)候會(huì)因?yàn)榫W(wǎng)絡(luò)問題導(dǎo)致maven不能下載所有所依賴的庫文件而失敗。如果你也是遇到這個(gè)問題的話,你不妨多執(zhí)行幾次上面的命令,直到成功執(zhí)行此命令為止。 5. 到當(dāng)前目錄中去核實(shí)一下,看是否有個(gè)名為testapp的臨時(shí)項(xiàng)目被創(chuàng)建,同時(shí)到上面提到的倉庫路徑目錄去核實(shí)一下本地倉庫是否被創(chuàng)建了。如果這兩項(xiàng)工作都成功地完成,那么你可以刪除剛才測試時(shí)所產(chǎn)生的臨時(shí)項(xiàng)目了。 安裝AndroMDA插件 下面我們將下載并安裝AndroMDA的maven插件到你的本地maven庫。此插件是Java調(diào)用AndroMDA的入口程序。這事唯一一個(gè)需要安裝的AndroMDA文件。其他的文件(比如代碼生成器)將根據(jù)構(gòu)建工作的需要自動(dòng)下載。按照下面的步驟進(jìn)行安裝: 1. 點(diǎn)擊這里下載AndroMDA插件安裝程序。 2. 在安裝文件在你的本地maven庫的目錄下(C:\Documents and Settings\{你的用戶名}\.m2\repository)進(jìn)行解壓縮。 3. 請(qǐng)確認(rèn)下面的目錄是否存在,存在則繼續(xù) C:\Documents and Settings\你的用戶名 \.m2\repository\org\andromda\maven\plugins\andromdapp-maven-plugin 4. 創(chuàng)建一個(gè)臨時(shí)文件夾,比如:c:\andromda-temp 5. 在臨時(shí)文件夾中創(chuàng)建一個(gè)pom.xml文件,并將下面的內(nèi)容拷貝到pom.xml文件中并保存。 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>samples.test</groupId> <artifactId>test</artifactId> <version>1.0</version> <packaging>jar</packaging> <name>test</name> <build> <defaultGoal>compile</defaultGoal> <plugins> <plugin> <groupId>org.andromda.maven.plugins</groupId> <artifactId>andromdapp-maven-plugin</artifactId> <version>3.3</version> </plugin> </plugins> </build> <repositories> <repository> <id>andromda</id> <name>AndroMDA Repository</name> <url>http://team.andromda.org/maven2</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>andromda</id> <name>AndroMDA Repository</name> <url>http://team.andromda.org/maven2</url> </pluginRepository> </pluginRepositories> </project> 6. 打開dos窗口,并將當(dāng)強(qiáng)目錄切換為剛才創(chuàng)建的pom.xml文件所在的目錄,輸入 mvn (不需要帶參數(shù))回車。確保命令執(zhí)行完后,屏幕上顯示的信息是“BUILD SUCCESSFUL”(有時(shí)候會(huì)因?yàn)榫W(wǎng)絡(luò)的原因不能下載完畢所有需要的庫文件,故不能執(zhí)行成功,如果遇到這種問題,請(qǐng)多執(zhí)行幾次這個(gè)命令,直到成功執(zhí)行為止)。 7. 可以將剛才創(chuàng)建的臨時(shí)目錄刪除了。 安裝一款UML工具 安裝一款UML建模工具,你能使用他進(jìn)行應(yīng)用系統(tǒng)的建模,并能將創(chuàng)建的模型導(dǎo)成AndroMDA能識(shí)別的格式的文檔。AndroMDA目前支持UML1.4/XMI1.2和UML2/EMF幾種格式的文檔。下面列出了推薦使用的UML建模工具大安裝配置鏈接,你可以根據(jù)自己選擇的UML工具參考對(duì)應(yīng)的安裝配置鏈接。如果你已經(jīng)安裝了下面推薦的某款UML工具,你也最好看看其相應(yīng)的配置頁面。 ArgoUML(支持UML1.4/XMI1.2) MagicDraw9.x(支持UML1.4/XMI1.2) MagicDraw15.5(支持UML2/EMF) RSM6(Rational Software Modeler/Architect 支持UML2/EMF) 安裝數(shù)據(jù)庫服務(wù)器 安裝任一款Hibernate支持的數(shù)據(jù)庫。點(diǎn)擊這里查看Hibernate所支持的所有數(shù)據(jù)庫的列表。此手冊中我們使用MySQL5.0(一款應(yīng)用非常廣泛的開源數(shù)據(jù)庫)。如果你安裝是Hibernate支持的其他的數(shù)據(jù)庫,請(qǐng)對(duì)JBoss和Hibernate的配置做相應(yīng)的調(diào)整。按照下面的步驟安裝配置MySQL. 1. 點(diǎn)擊這里到MySQL的下載頁面。 2. 下載Windows版的安裝程序(確切的說是“Windows(X86)”,不是“Essentials”)。將MySQL安裝在C:\Program Files\MySQL\MySQL Server 5.0目錄下。請(qǐng)記住所使用的端口(port),用戶賬號(hào)和密碼。每次你通過控制臺(tái)連接數(shù)據(jù)庫都需要用到,在應(yīng)用程序中數(shù)據(jù)庫連接配置中也要用到。 3. 下載安裝MySQL GUI Tool Bundle(MySQL數(shù)據(jù)庫圖形化的管理查詢工具)。 4. 下載MySQL Connector/J version 5.0.4,MySQL的JDBC驅(qū)動(dòng)程序。解壓到C:\Program Files\MySQL目錄。 5. 將MySQL的JDBC驅(qū)動(dòng)程序C:\Program Files\MySQL\mysql-connector-java-5.0.4\mysql-connector-java-5.0.4-bin.jar拷貝到JBoss的C:\jboss-4.0.5\server\default\lib目錄。請(qǐng)將mysql-connector-java-5.0.4-bin.jar的文件名改為mysql-connector-java-5.0.4.jar,這樣更符合maven的規(guī)范。有了JDBC驅(qū)動(dòng)程序,JBoss就可以訪問你的數(shù)據(jù)庫了。 安裝Eclipse(可選) Eclipse是一款非常流程的開源的JAVA應(yīng)用集成開發(fā)環(huán)境(IDE).AndroMDA并不需要他,但是我們推薦你使用他以提高你的開發(fā)效率。Eclipse用戶應(yīng)該非常高興,因?yàn)锳ndroMDA可以為你們生成項(xiàng)目的.project和.classpath文件。你們只需要簡單地將項(xiàng)目導(dǎo)入Eclipse即可進(jìn)行代碼的編寫了。 你可從這里下載Eclipse.我們推薦下載Eclipse IDE for Java EE Developers這個(gè)版本。按照下面的步驟安裝配置Eclipse. 1. 將下載的文件解壓到你的硬盤上,推薦C:\eclipse 2. 編輯C:\eclipse目錄下的eclipse.ini文件以增加分配給Eclipse的內(nèi)存。下面是推薦你向文件中添加的內(nèi)容: -vmargs -Xms256m -Xmx512m -XX:PermSize=64m -XX:MaxPermSize=128m 3. 雙擊Eclipse.exe開啟Eclipse. 4. Eclipse會(huì)要求你設(shè)置一個(gè)存放項(xiàng)目的文件夾。這個(gè)文件夾被成為Eclipse的工作區(qū)。將這個(gè)目錄設(shè)置為你通常用來保存創(chuàng)建項(xiàng)目的目錄,比如c:\projects目錄。 5. 從【W(wǎng)indow】菜單中選擇【參數(shù)設(shè)置】(Preferences)菜單項(xiàng)。 6. 在出現(xiàn)的面板的左邊依次選擇Java>Build Path>Classpath Variables. 7. 點(diǎn)【新建】(New)。 8. 將“M2_REPO”填寫在名稱文本框(Name),將你本機(jī)的maven庫的路徑(C:\Documents and Settings\{你的用戶名}\.m2\repository,前面所設(shè)置的)填寫在路徑文本框(Path)。當(dāng)導(dǎo)入AndroMDA產(chǎn)生的項(xiàng)目時(shí),項(xiàng)目會(huì)根據(jù)此變量查找所引用的Maven庫中的庫文件。 9. 點(diǎn)擊2次【確定】(ok)關(guān)閉所有對(duì)話框。 好的,現(xiàn)在我們已經(jīng)將AndroMDA開發(fā)環(huán)境搭建好,我們已經(jīng)準(zhǔn)備好拿日志跟蹤系統(tǒng)來試驗(yàn)AndroMDA了。下節(jié)我們將在講解具體怎樣開發(fā)日志跟蹤系統(tǒng)之前先帶大家體驗(yàn)一下我們已經(jīng)開發(fā)完畢的系統(tǒng),讓你在學(xué)習(xí)過程中也好做到心中有數(shù)。 posted @ 2012-07-25 06:38 zx_bing| 編輯 收藏 widow orcal 卸載
oracle在默認(rèn)安裝下會(huì)安裝5個(gè)計(jì)算機(jī)服務(wù)(右鍵我的電腦-管理-計(jì)算機(jī)管理-服務(wù)與應(yīng)用程序-服務(wù))或者(控制面板-管理工具-服務(wù)),同時(shí),五個(gè)服務(wù)分別為
![]() 在程序沒有完全損壞的情況下,尤其是卸載程序尚可使用,建議先卸載程序,再清空注冊表。如果程序已經(jīng)已經(jīng)損壞,只能從清理注冊表開始了。 清理注冊表之后,刪除oracle安裝目錄下所有文件(有需要備份酌情考慮吧) 使用命令進(jìn)入注冊表:
清理一下節(jié)點(diǎn)
如果是正常卸載的話,可能有些節(jié)點(diǎn)會(huì)減少,不過按理說清空這些就差不多了。然后刪除oracle目錄下所有文件,重啟電腦,會(huì)發(fā)現(xiàn)五個(gè)服務(wù)都已經(jīng)沒有了,這時(shí)候就可以重新安裝一個(gè)新的oracle了。 當(dāng)然,有可能會(huì)提示安裝目錄被使用,這時(shí)候進(jìn)入注冊表搜索那些節(jié)點(diǎn)占用了安裝目錄,刪除掉,重啟后繼續(xù)安裝就行了。 下面提供以下需要清理的注冊表項(xiàng)的位置 OracleDBConsoleorcl
OracleJobSchedulerORCL
OracleOraDb10g_home2iSQL*Plus
OracleOraDb10g_home2TNSListener
OracleServiceORCL
Oracle.orcl
Oracle in OraDb10g_home
呵呵 ,還會(huì)為oracle不能干凈卸載、重新安裝發(fā)愁么,有興趣的來試一下吧…… 此外,聽說360也能清理注冊表,不知道是不是真的,我還沒用過那個(gè)清理,期待有人出來說說啊…… 1、停止所有Oracle服務(wù) 聲明:ITeye文章版權(quán)屬于作者,受法律保護(hù)。沒有作者書面許可不得轉(zhuǎn)載。 posted @ 2012-07-25 06:34 zx_bing| 編輯 收藏 電腦中毒后 提示“網(wǎng)絡(luò)連接中斷,可能是您的網(wǎng)卡被禁用或者網(wǎng)絡(luò)電纜沒有插好”
前幾天我的電腦中毒了,然后就是一直連不上網(wǎng)(校園網(wǎng)),總是提示我“網(wǎng)絡(luò)中斷,可能是網(wǎng)卡被禁用或者是網(wǎng)絡(luò)電纜沒有連接好”
解決的方法:卸載H3C聯(lián)網(wǎng)客戶端,重新安裝一下,一般在你裝完后的第一次啟動(dòng)電腦的時(shí)候是可以連上網(wǎng)的(第二次啟動(dòng)電腦的時(shí)候可能就被病毒搞了,可能就連不上網(wǎng)了),所以你要趁著這一時(shí)機(jī)能連上網(wǎng),下載一個(gè)“360系統(tǒng)拯救”查殺一下(360系統(tǒng)拯救 http://wenku.baidu.com/view/399d76c10c22590102029da5.html
http://wenku.baidu.com/view/399d76c10c22590102029da5.html posted @ 2012-07-14 20:56 zx_bing| 編輯 收藏 |
||