zx_bing

          人生路漫漫,多學(xué)些知識(shí)總是有益處的
          隨筆 - 32, 文章 - 0, 評(píng)論 - 0, 引用 - 0
          數(shù)據(jù)加載中……

          利用百度地圖的API定位地理位置

              只有注冊用戶登錄后才能閱讀該文。閱讀全文

          posted @ 2012-07-26 07:55 zx_bing| 編輯 收藏

          java執(zhí)行存儲(chǔ)過程

              只有注冊用戶登錄后才能閱讀該文。閱讀全文

          posted @ 2012-07-26 07:53 zx_bing| 編輯 收藏

          SpringMVC框架介紹


          Spring框架提供了構(gòu)造Web應(yīng)用程序的全能MVC模塊。Spring
          MVC
          分離了控制器、模型對(duì)象、分派器以及處理程序?qū)ο蟮慕巧@種分離讓它們更容易進(jìn)行制定。是一個(gè)標(biāo)準(zhǔn)的MVC框架。



          那你猜一猜哪一部分應(yīng)該是哪一部分?






          SpringMVC框架圖




          posted @ 2012-07-25 06:54 zx_bing| 編輯 收藏

          java 技術(shù)博客

          犀利中帶點(diǎn)柔情 的博客
          http://fengtiejun.iteye.com/blog/1606365

          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:
          hkey_local_machine\software\Microsoft\MSSQLServer
          hkey_local_machine\software\Microsoft\Microsoft SQL Server
          hkey_current_user\software\Microsoft\Microsoft SQL Server
          hkey_current_user\software\Microsoft\MSSQLServer
          hkey_local_machine\system\currentcontrolset\control\sessionmanager\pendingfileren      
          ameoperations


           


          2。注冊表中的相關(guān)信息刪除:
          HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer。

          HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSDTC。

          3。HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
          Manager中找到PendingFileRenameOperations項(xiàng)目,并刪除它。這樣就可以清除安裝暫掛項(xiàng)目
          4。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\setup
          刪除ExceptionComponents



          3、運(yùn)行注冊表,刪除如下項(xiàng):
          HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL
          Server
          HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server

          HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer

          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ù)分別為
          Oracle代碼 復(fù)制代碼 收藏代碼
          1. OracleDBConsoleorcl 
          2. OracleJobSchedulerORCL 
          3. OracleOraDb10g_home1iSQL*Plus 
          4. OracleOraDb10g_home1TNSListener 
          5. OracleServiceORCL 
          6. (默認(rèn)數(shù)據(jù)庫為orcl) 
          7. 另外還有注冊表項(xiàng) 
          8. Oracle.orcl 
          9. Oracle in OraDb10g_home1 
          10. 此外 
          11. OracleOraDb10g_home1根據(jù)不同電腦配置會(huì)有所不同,也可能是 
          12. OracleOraDb10g_home2 
          13. OracleOraDb10g_home3 



          在程序沒有完全損壞的情況下,尤其是卸載程序尚可使用,建議先卸載程序,再清空注冊表。如果程序已經(jīng)已經(jīng)損壞,只能從清理注冊表開始了。
          清理注冊表之后,刪除oracle安裝目錄下所有文件(有需要備份酌情考慮吧)

          使用命令進(jìn)入注冊表:
          Cmd代碼 復(fù)制代碼 收藏代碼
          1. regedit 

          清理一下節(jié)點(diǎn)
          Regedit代碼 復(fù)制代碼 收藏代碼
          1. HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\SYSMAN 有1項(xiàng) (OracleDBConsoleorcl) 
          2. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\eventlog\Application  
          3. 3項(xiàng) (其中有Oracle.orcl) 
          4. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services  有5項(xiàng) 
          5. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\eventlog\Application   
          6. 3項(xiàng) (其中有Oracle.orcl) 
          7. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services  有5項(xiàng) 
          8. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application  
          9. 3項(xiàng) (其中有Oracle.orcl) 
          10. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services 有5項(xiàng) 


          如果是正常卸載的話,可能有些節(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
          Regedit代碼 復(fù)制代碼 收藏代碼
          1. HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\SYSMAN 
          2. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\eventlog\Application\OracleDBConsoleorcl 
          3. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\OracleDBConsoleorcl 
          4. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\eventlog\Application\OracleDBConsoleorcl 
          5. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\OracleDBConsoleorcl 
          6. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application\OracleDBConsoleorcl 
          7. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\OracleDBConsoleorcl 


          OracleJobSchedulerORCL
          Regedit代碼 復(fù)制代碼 收藏代碼
          1. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\OracleJobSchedulerORCL 
          2. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\OracleJobSchedulerORCL 
          3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\OracleJobSchedulerORCL 


          OracleOraDb10g_home2iSQL*Plus
          Regedit代碼 復(fù)制代碼 收藏代碼
          1. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\eventlog\Application\OracleOraDb10g_home2iSQL*Plus 
          2. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\OracleOraDb10g_home2iSQL*Plus 
          3. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\eventlog\Application\OracleOraDb10g_home2iSQL*Plus 
          4. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\OracleOraDb10g_home2iSQL*Plus 
          5. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application\OracleOraDb10g_home2iSQL*Plus 
          6. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\OracleOraDb10g_home2iSQL*Plus 


          OracleOraDb10g_home2TNSListener
          Regedit代碼 復(fù)制代碼 收藏代碼
          1. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\OracleOraDb10g_home2TNSListener 
          2. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\OracleOraDb10g_home2TNSListener 
          3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\OracleOraDb10g_home2TNSListener 


          OracleServiceORCL
          Regedit代碼 復(fù)制代碼 收藏代碼
          1. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\OracleServiceORCL 
          2. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\OracleServiceORCL 
          3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\OracleServiceORCL 


          Oracle.orcl
          Regedit代碼 復(fù)制代碼 收藏代碼
          1. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\services\eventlog\Application  
          2. HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\services\eventlog\Application 
          3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\Application 


          Oracle in OraDb10g_home
          Regedit代碼 復(fù)制代碼 收藏代碼
          1. HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI 
          2. 可能有home1 home2等等 

          呵呵 ,還會(huì)為oracle不能干凈卸載、重新安裝發(fā)愁么,有興趣的來試一下吧……
          此外,聽說360也能清理注冊表,不知道是不是真的,我還沒用過那個(gè)清理,期待有人出來說說啊……



          1、停止所有Oracle服務(wù)

          2、刪除注冊表中的所有關(guān)于Oracle項(xiàng)

          (1)在HKEY_LOCAL_MACHINE\SOFTWARE下,刪除Oracle目錄

          (2)在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services下,刪除所有Oracle項(xiàng)

          (3)在HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services下,刪除所有Oracle項(xiàng)

          (4)在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下,刪除所有Oracle項(xiàng)

          (5)在HKEY_CLASSES_ROOT下,刪除所有Oracle項(xiàng)

          3、刪除硬盤上所有Oracle文件

          (1)Oracle安裝文件

          (2)系統(tǒng)目錄下,在Program files文件夾中的Oracle文件

          4、有些文件刪不去,重啟后再刪,完成卸載。


          posted @ 2012-07-25 06:34 zx_bing| 編輯 收藏

          MySQL刪除注冊表

              只有注冊用戶登錄后才能閱讀該文。閱讀全文

          posted @ 2012-07-25 06:30 zx_bing 閱讀(39) | 評(píng)論 (0)編輯 收藏

          電腦中毒后 提示“網(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)拯救
          使用需要聯(lián)網(wǎng),而且殺毒非常徹底),這個(gè)時(shí)候一般都能查出有很多的木馬,然后殺死它們,重啟電腦,可以聯(lián)網(wǎng)了,現(xiàn)在以我的經(jīng)驗(yàn),你最好在用它殺一遍毒看看,可能還會(huì)有一些病毒的,保險(xiǎn)起見,然后再重啟,這次應(yīng)該說是基本沒問題了,這時(shí)候你就可以放心地上網(wǎng)啦!


          http://wenku.baidu.com/view/399d76c10c22590102029da5.html

          --

          http://wenku.baidu.com/view/399d76c10c22590102029da5.html

          posted @ 2012-07-14 20:56 zx_bing| 編輯 收藏

          僅列出標(biāo)題
          共4頁: 上一頁 1 2 3 4 下一頁 
          主站蜘蛛池模板: 类乌齐县| 龙山县| 肥西县| 太保市| 台东市| 襄城县| 乐至县| 丰台区| 荔波县| 巢湖市| 盐津县| 金寨县| 红安县| 石渠县| 丽水市| 西充县| 西贡区| 四平市| 长兴县| 来凤县| 铜川市| 文山县| 景谷| 栾城县| 尼木县| 雷波县| 靖江市| 吴江市| 长海县| 慈溪市| 久治县| 封开县| 资溪县| 黑山县| 洱源县| 枞阳县| 堆龙德庆县| 玉溪市| 沛县| 登封市| 清河县|