<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    zx_bing

    人生路漫漫,多學些知識總是有益處的
    隨筆 - 32, 文章 - 0, 評論 - 0, 引用 - 0
    數據加載中……

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

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

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

    java執行存儲過程

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

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

    SpringMVC框架介紹


    Spring框架提供了構造Web應用程序的全能MVC模塊。Spring
    MVC
    分離了控制器、模型對象、分派器以及處理程序對象的角色,這種分離讓它們更容易進行制定。是一個標準的MVC框架。



    那你猜一猜哪一部分應該是哪一部分?






    SpringMVC框架圖




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

    java 技術博客

    犀利中帶點柔情 的博客
    http://fengtiejun.iteye.com/blog/1606365

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

    提高js性能注意事項

    一.執行效率
    1. DOM
    1.1 使用DocumentFragment優化多次append
    說明:添加多個dom元素時,先將元素append到DocumentFragment中,最后統一將DocumentFragment添加到頁面。
    該做法可以減少頁面渲染dom元素的次數。經IE和Fx下測試,在append1000個元素時,效率能提高10%-30%,Fx下提升較為明顯。

    服用前:
    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
    說明:通過一個模板dom對象cloneNode,效率比直接創建element高。
    性能提高不明顯,約為10%左右。在低于100個元素create和append操作時,沒有優勢。

    服用前:
    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賦值代替構建dom元素
    說明:根據數據構建列表樣式的時候,使用設置列表容器innerHTML的方式,比構建dom元素并append到頁面中的方式,效率有數量級上的提高。

    服用前:
    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%的性能提高。逆向遍歷時使用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在對字符串拼接的時候,會創建臨時的String對象;經測試,在IE下,當拼接的字符串越來越大時,運行效率會急劇下降。Fx和Opera都對字符串拼接操作進行了優化;經測試,在Fx下,使用Array的join方式執行時間約為直接字符串拼接的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. 循環語句

    3.1 將循環控制量保存到局部變量
    說明:對數組和列表對象的遍歷時,提前將length保存到局部變量中,避免在循環的每一步重復取值。

    服用前:
    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 順序無關的遍歷時,用while替代for
    說明:該方法可以減少局部變量的使用。比起效率優化,更能直接看到的是字符數量的優化。該做法有程序員強迫癥的嫌疑。

    服用前:
    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 將條件分支,按可能性順序從高到低排列
    說明:可以減少解釋器對條件的探測次數。

    4.2 在同一條件子的多(>2)條件分支時,使用switch優于if
    說明:switch分支選擇的效率高于if,在IE下尤為明顯。4分支的測試,IE下switch的執行時間約為if的一半。

    4.3 使用三目運算符替代條件分支
    服用前:
    if (a > b) {
    num = a;
    } else {
    num = b;
    }

    服用后:
    num = a > b ? a : b;


    5. 定時器

    5.1 需要不斷執行的時候,優先考慮使用setInterval
    說明:setTimeout每一次都會初始化一個定時器。setInterval只會在開始的時候初始化一個定時器

    服用前:
    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的參數,瀏覽器會先用這個字符串構建一個function。

    服用前:
    var num = 0;
    setTimeout('num++', 10);   

    服用后:
    var num = 0;
    function addNum () {
        num++;
    }
    setTimeout(addNum, 10);


    6. 其他

    6.1 盡量不使用動態語法元素
    說明:eval、Function、execScript等語句會再次使用javascript解析引擎進行解析,需要消耗大量的執行時間。

    6.2 重復使用的調用結果,事先保存到局部變量
    說明:避免多次取值的調用開銷。

    服用前:
    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雖然可以縮短代碼量,但是會在運行時構造一個新的scope。
    OperaDev上還有這樣的解釋,使用with語句會使得解釋器無法在語法解析階段對代碼進行優化。對此說法,無法驗證。

    服用前:
    with (a.b.c.d) {
    property1 = 1;
    property2 = 2;
    }


    服用后:
    var obj = a.b.c.d;
    obj.property1 = 1;
    obj.property2 = 2;


    6.5 巧用||和&&布爾運算符

    服用前:
    function eventHandler (e) {
    if(!e) e = window.event;
    }


    服用后:
    function eventHandler (e) {
    e = e || window.event;
    }


    服用前:
    if (myobj) {
    doSomething(myobj);
    }


    服用后:
    myobj && doSomething(myobj);


    6.6 類型轉換
    說明:
    1).    數字轉換成字符串,應用"" + 1,性能上:("" +) > String() > .toString() > new String();
    2).    浮點數轉換成整型,不使用parseInt(), parseInt()是用于將字符串轉換成數字,而不是浮點數和整型之間的轉換,建議使用Math.floor()或者Math.round()
    3).    對于自定義的對象,推薦顯式調用toString()。內部操作在嘗試所有可能性之后,會嘗試對象的toString()方法嘗試能否轉化為String。


    二.內存管理

    2.1 循環引用
    說明:如果循環引用中包含DOM對象或者ActiveX對象,那么就會發生內存泄露。內存泄露的后果是在瀏覽器關閉前,即使是刷新頁面,這部分內存不會被瀏覽器釋放。

    簡單的循環引用:
    var el = document.getElementById('MyElement');
    var func = function () {…}
    el.func = func;
    func.element = el;


    但是通常不會出現這種情況。通常循環引用發生在為dom元素添加閉包作為expendo的時候。

    如:
    function init() {
        var el = document.getElementById('MyElement');
    el.onclick = function () {……}
    }
    init();


    init在執行的時候,當前上下文我們叫做context。這個時候,context引用了el,el引用了function,function引用了context。這時候形成了一個循環引用。

    下面2種方法可以解決循環引用:

    1)    置空dom對象

    服用前:
    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中不包含對dom對象的引用,從而打斷循環應用。
    如果我們需要將dom對象返回,可以用如下方法:

    服用前:
    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)    構造新的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就不包含對el的引用,從而打斷循環引用。

    2.2 通過javascript創建的dom對象,必須append到頁面中
    說明:IE下,腳本創建的dom對象,如果沒有append到頁面中,刷新頁面,這部分內存是不會回收的!

    示例代碼:

        function create () {
            var gc = document.getElementById('GC');
            for (var i = 0; i < 5000 ; i++)
            {
                var el = document.createElement('div');
                el.innerHTML = "test";

                //下面這句可以注釋掉,看看瀏覽器在任務管理器中,點擊按鈕然后刷新后的內存變化
                gc.appendChild(el);
            }
        }


    2.3 釋放dom元素占用的內存
    說明:
    將dom元素的innerHTML設置為空字符串,可以釋放其子元素占用的內存。
    在rich應用中,用戶也許會在一個頁面上停留很長時間,可以使用該方法釋放積累得越來越多的dom元素使用的內存。

    2.4 釋放javascript對象
    說明:在rich應用中,隨著實例化對象數量的增加,內存消耗會越來越大。所以應當及時釋放對對象的引用,讓GC能夠回收這些內存控件。
    對象:obj = null
    對象屬性:delete obj.myproperty
    數組item:使用數組的splice方法釋放數組中不用的item

    2.5 避免string的隱式裝箱
    說明:對string的方法調用,比如'xxx'.length,瀏覽器會進行一個隱式的裝箱操作,將字符串先轉換成一個String對象。推薦對聲明有可能使用String實例方法的字符串時,采用如下寫法:
    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。注冊表中的相關信息刪除:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer。

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSDTC。

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



    3、運行注冊表,刪除如下項:
    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開發環境搭建

    翻譯者: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

    環境設置
    本節將一步步的指導你完成AndroMDA開發環境的設置。我們假定你工作在Windows操作系統上。
    通過此節,你將安裝多種程序。每種程序的推薦安裝路徑以及所需要的其他目錄已列在下面。你可以根據你的系統配置和個人喜好自由的修改這些目錄。比如,你可以選擇將程序安裝在D盤而不是C盤。無論如何,請注意一件事情,有些程序會因為你所設置的路徑名中包含空格而不能正常工作。所以,在安裝配置程序過程中盡可能復制粘貼下面推薦的路徑。
    推薦安裝路徑 用途
    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 運行引擎
    C:\Program Files\MySQL\MySQL Server 5.0 MySQL數據庫服務器
    C:\eclipse Eclipse集成開發環境(可選)
    C:\jboss-4.0.5 JBoss應用服務器
    你還需要設置一些相關的環境變量。在控制面板中可完成環境的設置(控制面板>系統>高級>環境變量)。注意:任何程序的安裝目錄被修改后,你必須確保將與之相關的環境變量的取值修改與之一致。
    準備開發環境
    請按照下面的步驟開始準備AndroMDA的開發環境。
    安裝Java
    請從這里下載JDK6安裝程序并執行安裝。此版本是AndroMDA推薦的JDK安裝版本。AndroMDA也支持JDK1.5.我們不再支持JDK1.4.
    確保JAVA_HOME環境變量指向的目錄是JDK的安裝目錄。也許你已經設置了這個環境變量,但最好還是檢查一下:
    1. 進入【控制面板】,雙擊【系統】。
    2. 選擇【高級】選項卡,點擊【環境變量】。
    3. 查看JAVA_HOME的值是否指向你的JDK安裝目錄。如果不是請編輯JAVA_HOME變量的值,讓他指向JDK的安裝目錄(比如:C:\Program Files\Java\jdk1.6.0_06)。
    安裝Maven
    Maven是AndroMDA的首選應用系統構建部署工具?;陧椖繉ο竽P停≒OM)的概念,Maven可以管理一個項目的構建,報告和文檔等。如果你熟悉Ant的話,Maven與之有不少相同之處,但Maven提供了更多的功能:
    1. 可繼承的構建環境配置,在POM文件(pom.xml)中配置的參數可以傳遞給所有子項目的POM文件。
    2. 標準化的構建任務(清除,構建,安裝,部署等)。
    3. 能表達構建和部署任務所依賴的庫,不管是內部依賴庫還是外部依賴庫,都必須指明所依賴的具體版本號。
    4. 提供一個包含所有項目所依賴的版本的庫文件的倉庫。在系統的構建和部署過程中會用到倉庫(有點類似于.net的全局匯編緩存的概念)。
    按照下面的步驟安裝Maven2.0.8.
    1. 點擊這里下載Maven2.0.8.
    2. 將文件解壓到C:\Program Files\Apache Software Foundation這個目錄,一個名為maven-2.0.8的目錄將被創建,此目錄下面就是Maven2.0.8的程序。
    注意:如果你使用代理服務器上網的話,你必須配置Maven使用代理。詳細的配置你可以在這里找到。
    安裝JBoss應用服務器
    JBoss應用服務器是一款應用很廣泛的開源應用服務器。按照下面的步驟安裝JBoss4.0.5.
    1. 點擊這里轉到JBoss的下載頁面。
    2. 在下載列表上選擇JBoss Application Server version 4.0.5的下載按鈕,系統將把你帶到SourceForge的下載頁面。
    3. 點擊名為“jboss-4.0.5GA.zip”的下載鏈接,進行下載。
    4. 下載完畢,將下載的文件解壓到C盤,一個名為jboss-4.0.4GA的目錄將被創建。此目錄下包含JBoss應用服務器的程序文件。
    5. 如果你打算在你的機器上也安裝Oracle數據庫的話,你必須將JBoss的 http端口8080修改成其他端口。Oracle也默認使用此端口,而且Oracle的配置不容易修改。如果你要修改JBoss的http端口的話,請打開C:\jboss-4.0.5\server\default\deploy\jbossweb-tomcat55.sar這個目錄下的名為server.xml的文件,將文件中所有8080數字修改為其他的值,比如9090.這樣即可解決Oracle和JBoss之間的沖突。如果你將8080端口修改成了9090,那么手冊中所有使用到8080端口的地方,對于你來說都是9090端口。
    設置環境變量
    前面我們已經通過設置環境變量JAVA_HOME講解了怎樣設置環境變量。強烈推薦先設置完下面列出的環境變量后在繼續后面的學習。為了保持文章的完整性,我們將環境變量JAVA_HOME也列在了下面。
    環境變量名 環境變量值 是否必須
    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 運行Maven的JVM參數(推薦:-XX:MaxPermSize=128m -Xmx512m,構建大型項目最好設置) 可選
    PATH 將%JAVA_HOME%\bin;%M2_HOME%\bin添加到PATH值中 必須

    測試Maven并創建本地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庫存在你的電腦上,在庫中存儲著很多項目需要使用的第三方庫和你自己創建的庫。當你創建一個新項目時,你必須創建一個名為pom.xml用于描述項目對象信息的文件。在這個文件中,你告訴maven你的應用會依賴哪些第三方庫以及他們的具體版本。當Maven開始構建應用的時候,他會首先從遠程庫(通過網絡)中獲取項目所依賴的這些庫,并把從遠程庫獲取的庫復制到本地庫。因為這樣你以后就可以完全通過本地庫完成構建應用。默認情況下,你的本地庫在“C:\Documents and Settings\{你的用戶名}\.m2\repository”這個目錄下(其中,你的用戶名是只你登錄系統的用戶名)。到目前為止,我們只安裝了Maven程序,還沒有創建本地庫。按照下面的步驟測試你是否已經正確安裝了Maven和創建你的本地庫。我們將使用Maven的標準插件創建一個臨時項目進行測試,測試完可以刪除臨時項目。
    1. 開啟命名提示窗口,將當前路徑切換到任何一個臨時文件目錄下,比如c:\temp
    2. 執行下面的命令檢查你是否正確安裝配置了Mavne:
    Mvn --version
    3. 窗口中出現如下信息,則標示你安裝配置正確。
    Maven version:2.0.2
    4. 執行下面的命令創建一個臨時項目:
    mvn archetype:create -DgroupId=testapp -DartifactId=testapp
    必須確保在此命令執行完畢,你得到的反饋信息是“Build Successful”.有時候會因為網絡問題導致maven不能下載所有所依賴的庫文件而失敗。如果你也是遇到這個問題的話,你不妨多執行幾次上面的命令,直到成功執行此命令為止。
    5. 到當前目錄中去核實一下,看是否有個名為testapp的臨時項目被創建,同時到上面提到的倉庫路徑目錄去核實一下本地倉庫是否被創建了。如果這兩項工作都成功地完成,那么你可以刪除剛才測試時所產生的臨時項目了。
    安裝AndroMDA插件
    下面我們將下載并安裝AndroMDA的maven插件到你的本地maven庫。此插件是Java調用AndroMDA的入口程序。這事唯一一個需要安裝的AndroMDA文件。其他的文件(比如代碼生成器)將根據構建工作的需要自動下載。按照下面的步驟進行安裝:
    1. 點擊這里下載AndroMDA插件安裝程序。
    2. 在安裝文件在你的本地maven庫的目錄下(C:\Documents and Settings\{你的用戶名}\.m2\repository)進行解壓縮。
    3. 請確認下面的目錄是否存在,存在則繼續
    C:\Documents and Settings\你的用戶名 \.m2\repository\org\andromda\maven\plugins\andromdapp-maven-plugin
    4. 創建一個臨時文件夾,比如:c:\andromda-temp
    5. 在臨時文件夾中創建一個pom.xml文件,并將下面的內容拷貝到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窗口,并將當強目錄切換為剛才創建的pom.xml文件所在的目錄,輸入 mvn (不需要帶參數)回車。確保命令執行完后,屏幕上顯示的信息是“BUILD SUCCESSFUL”(有時候會因為網絡的原因不能下載完畢所有需要的庫文件,故不能執行成功,如果遇到這種問題,請多執行幾次這個命令,直到成功執行為止)。
    7. 可以將剛才創建的臨時目錄刪除了。
    安裝一款UML工具
    安裝一款UML建模工具,你能使用他進行應用系統的建模,并能將創建的模型導成AndroMDA能識別的格式的文檔。AndroMDA目前支持UML1.4/XMI1.2和UML2/EMF幾種格式的文檔。下面列出了推薦使用的UML建模工具大安裝配置鏈接,你可以根據自己選擇的UML工具參考對應的安裝配置鏈接。如果你已經安裝了下面推薦的某款UML工具,你也最好看看其相應的配置頁面。
    ArgoUML(支持UML1.4/XMI1.2)
    MagicDraw9.x(支持UML1.4/XMI1.2)
    MagicDraw15.5(支持UML2/EMF)
    RSM6(Rational Software Modeler/Architect 支持UML2/EMF)
    安裝數據庫服務器
    安裝任一款Hibernate支持的數據庫。點擊這里查看Hibernate所支持的所有數據庫的列表。此手冊中我們使用MySQL5.0(一款應用非常廣泛的開源數據庫)。如果你安裝是Hibernate支持的其他的數據庫,請對JBoss和Hibernate的配置做相應的調整。按照下面的步驟安裝配置MySQL.
    1. 點擊這里到MySQL的下載頁面。
    2. 下載Windows版的安裝程序(確切的說是“Windows(X86)”,不是“Essentials”)。將MySQL安裝在C:\Program Files\MySQL\MySQL Server 5.0目錄下。請記住所使用的端口(port),用戶賬號和密碼。每次你通過控制臺連接數據庫都需要用到,在應用程序中數據庫連接配置中也要用到。
    3. 下載安裝MySQL GUI Tool Bundle(MySQL數據庫圖形化的管理查詢工具)。
    4. 下載MySQL Connector/J version 5.0.4,MySQL的JDBC驅動程序。解壓到C:\Program Files\MySQL目錄。
    5. 將MySQL的JDBC驅動程序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目錄。請將mysql-connector-java-5.0.4-bin.jar的文件名改為mysql-connector-java-5.0.4.jar,這樣更符合maven的規范。有了JDBC驅動程序,JBoss就可以訪問你的數據庫了。
    安裝Eclipse(可選)
    Eclipse是一款非常流程的開源的JAVA應用集成開發環境(IDE).AndroMDA并不需要他,但是我們推薦你使用他以提高你的開發效率。Eclipse用戶應該非常高興,因為AndroMDA可以為你們生成項目的.project和.classpath文件。你們只需要簡單地將項目導入Eclipse即可進行代碼的編寫了。
    你可從這里下載Eclipse.我們推薦下載Eclipse IDE for Java EE Developers這個版本。按照下面的步驟安裝配置Eclipse.
    1. 將下載的文件解壓到你的硬盤上,推薦C:\eclipse
    2. 編輯C:\eclipse目錄下的eclipse.ini文件以增加分配給Eclipse的內存。下面是推薦你向文件中添加的內容:
    -vmargs
    -Xms256m
    -Xmx512m
    -XX:PermSize=64m
    -XX:MaxPermSize=128m
    3. 雙擊Eclipse.exe開啟Eclipse.
    4. Eclipse會要求你設置一個存放項目的文件夾。這個文件夾被成為Eclipse的工作區。將這個目錄設置為你通常用來保存創建項目的目錄,比如c:\projects目錄。
    5. 從【Window】菜單中選擇【參數設置】(Preferences)菜單項。
    6. 在出現的面板的左邊依次選擇Java>Build Path>Classpath Variables.
    7. 點【新建】(New)。
    8. 將“M2_REPO”填寫在名稱文本框(Name),將你本機的maven庫的路徑(C:\Documents and Settings\{你的用戶名}\.m2\repository,前面所設置的)填寫在路徑文本框(Path)。當導入AndroMDA產生的項目時,項目會根據此變量查找所引用的Maven庫中的庫文件。
    9. 點擊2次【確定】(ok)關閉所有對話框。
    好的,現在我們已經將AndroMDA開發環境搭建好,我們已經準備好拿日志跟蹤系統來試驗AndroMDA了。下節我們將在講解具體怎樣開發日志跟蹤系統之前先帶大家體驗一下我們已經開發完畢的系統,讓你在學習過程中也好做到心中有數。

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

    widow orcal 卸載

    oracle在默認安裝下會安裝5個計算機服務(右鍵我的電腦-管理-計算機管理-服務與應用程序-服務)或者(控制面板-管理工具-服務),同時,五個服務分別為
    Oracle代碼 復制代碼 收藏代碼
    1. OracleDBConsoleorcl 
    2. OracleJobSchedulerORCL 
    3. OracleOraDb10g_home1iSQL*Plus 
    4. OracleOraDb10g_home1TNSListener 
    5. OracleServiceORCL 
    6. (默認數據庫為orcl) 
    7. 另外還有注冊表項 
    8. Oracle.orcl 
    9. Oracle in OraDb10g_home1 
    10. 此外 
    11. OracleOraDb10g_home1根據不同電腦配置會有所不同,也可能是 
    12. OracleOraDb10g_home2 
    13. OracleOraDb10g_home3 



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

    使用命令進入注冊表:
    Cmd代碼 復制代碼 收藏代碼
    1. regedit 

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


    如果是正常卸載的話,可能有些節點會減少,不過按理說清空這些就差不多了。然后刪除oracle目錄下所有文件,重啟電腦,會發現五個服務都已經沒有了,這時候就可以重新安裝一個新的oracle了。
    當然,有可能會提示安裝目錄被使用,這時候進入注冊表搜索那些節點占用了安裝目錄,刪除掉,重啟后繼續安裝就行了。

    下面提供以下需要清理的注冊表項的位置

    OracleDBConsoleorcl
    Regedit代碼 復制代碼 收藏代碼
    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代碼 復制代碼 收藏代碼
    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代碼 復制代碼 收藏代碼
    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代碼 復制代碼 收藏代碼
    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代碼 復制代碼 收藏代碼
    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代碼 復制代碼 收藏代碼
    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代碼 復制代碼 收藏代碼
    1. HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI 
    2. 可能有home1 home2等等 

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



    1、停止所有Oracle服務

    2、刪除注冊表中的所有關于Oracle項

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

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

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

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

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

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

    (1)Oracle安裝文件

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

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


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

    MySQL刪除注冊表

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

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

    電腦中毒后 提示“網絡連接中斷,可能是您的網卡被禁用或者網絡電纜沒有插好”

     前幾天我的電腦中毒了,然后就是一直連不上網(校園網),總是提示我“網絡中斷,可能是網卡被禁用或者是網絡電纜沒有連接好”

    解決的方法:卸載H3C聯網客戶端,重新安裝一下,一般在你裝完后的第一次啟動電腦的時候是可以連上網的(第二次啟動電腦的時候可能就被病毒搞了,可能就連不上網了),所以你要趁著這一時機能連上網,下載一個“360系統拯救”查殺一下(360系統拯救
    使用需要聯網,而且殺毒非常徹底),這個時候一般都能查出有很多的木馬,然后殺死它們,重啟電腦,可以聯網了,現在以我的經驗,你最好在用它殺一遍毒看看,可能還會有一些病毒的,保險起見,然后再重啟,這次應該說是基本沒問題了,這時候你就可以放心地上網啦!


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

    --

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

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

    僅列出標題
    共4頁: 上一頁 1 2 3 4 下一頁 
    主站蜘蛛池模板: 亚洲美女在线国产| 日韩大片在线永久免费观看网站| 77777亚洲午夜久久多人| 成年女人毛片免费视频| 99久久99热精品免费观看国产| caoporn成人免费公开| 亚洲欧洲专线一区| 亚洲免费一级视频| 久久亚洲AV成人无码| 亚洲精品夜夜夜妓女网| 亚洲欧洲国产成人综合在线观看| 啦啦啦在线免费视频| 麻豆一区二区免费播放网站| 免费黄色福利视频| 免费观看无遮挡www的视频| 一级毛片免费不卡在线| 中文字幕av免费专区| 曰韩无码AV片免费播放不卡 | 中文字幕无码一区二区免费| 色妞www精品视频免费看| 亚洲国产精品无码第一区二区三区 | 亚洲AV无码一区二区乱孑伦AS| 久久国产成人精品国产成人亚洲| 波多野结衣一区二区免费视频| 成人免费无码精品国产电影| 大学生a级毛片免费观看 | 亚洲第一页中文字幕| 精品亚洲成a人片在线观看| 亚洲国产高清视频| 久久久亚洲欧洲日产国码aⅴ| 亚洲欧洲日韩不卡| 久久精品亚洲一区二区三区浴池 | 1000部免费啪啪十八未年禁止观看 | 最新免费jlzzjlzz在线播放| 久久精品无码一区二区三区免费| 国产卡一卡二卡三免费入口| 噼里啪啦免费观看高清动漫4| 免费毛片在线看片免费丝瓜视频| 久久久久久99av无码免费网站| 午夜视频免费成人| 国产精品视_精品国产免费|