标签: java

  • SCWCD「Sun Certified Web Component Developer」

    Sun網站元件設計發展師。SCWCD認證是為致力於使用JavaServer Pages與Servlet技術提供Web服務與動態Web內容的開發人員所提供的。針對已取得SCJP認證的Java程式設計人員,其必須專精於Web應用程式,及用於展示網路服務及動態網頁內容的Servlet與JSP技術。
    SCWCD認證考試途徑:

    1. 完成一科(CX-310-083) Sun Certified Web Component Developer for J2EE 5
    2. SCWCD升級考試(CX-310-084) Sun Certified Web Component Developer for Java. EE 5 Upgrade
    Sun官方介绍:

    This certification is for developers specializing in the application of JavaServer Pages and servlet technologies used to present Web services and dynamic Web content.
    To achieve this certification, candidates must successfully complete one exam. Prior to attempting certification, candidates must be certified as a Sun Certified Programmer (SCJP), any edition.

    Follow links for detailed information, exam objectives and to purchase:

     
    – Sun Certified Web Component Developer for the Java Platform, Enterprise Edition 5 (CX-310-083)
    – Upgrade Exam: Sun Certified Web Component Developer for the Java Platform, Enterprise Edition 5 (CX-310-084)

  • 昇陽Sun Java認證體系-恆逸官方介绍

    恆逸目前是我認為是台灣最具權威的教育機構,在恆逸我們可以找到很多免費資訊。我現在分享一篇關於昇陽Sun Java認證體系介紹:點擊瀏覽原文

    恆逸提供的Java系列主要認證課程,有SCJP/SCWCD/SCJD/SCBCD這幾項主要認證,每一項認證皆需通過Sun公司所規定的考試科目方可取得。

    SCJP (Sun Certified Java Programmer)

    Sun Certified Java Programmer(SCJP)即昇陽認證之Java程式設計師,此一基本認證是為有興趣展現對於Java程式設計語言基礎之熟悉程度的程式設計師所提供的。要取得本項認證的程式設計人員必須具備的能力包括使用Java SE,展示其熟悉基礎Java程式設計語言。

    SCWCD (Sun Certified Web Component Developer)

    本認證是為致力於使用JavaServer Pages與Servlet技術提供Web服務與動態Web內容的開發人員所提供的。針對已取得SCJP認證的Java程式設計人員,其必須專精於Web應用程式,及用於展示網路服務及動態網頁內容的Servlet與JSP技術。

    SCJD (Sun Certified Java Developer)

    SCJD此一以效能為基礎的認證是為有興趣使用Java SE展現對於Java程式設計語言之進階熟悉程度的開發者所提供的。要取得此項基於效能的認證,程式設計人員和開發人員必須具備的能力包括使用Java SE,展示其精通Java程式設計語言。如要通過認證,則必須完成程式撰寫測驗及筆試問答共兩個部份。

    SCMAD (Sun Certified Mobile Application Developer)

    本認證是為使用Java技術為行動電話或「智慧」裝置建立行動應用程式的開發人員所提供的。本項認證是針對已取得SCJP認證的Java程式設計人員,其必須專精於使用Java ME技術在cell phone或是其他Java相容裝置上開發應用程式。

    SCDJWS (Sun Certified Developer for Java Web Services)

    本認證是為使用Java技術元件為應用程式建立Web服務的開發者所提供的。本項認證是針對已取得SCJP認證的Java程式設計人員,其必須專精於Web Services與企業平台整合技術。

    SCBCD (Sun Certified Business Component Developer)

    本認證是為負責設計、開發、測試、部署及整合EJB應用程式之Enterprise JavaBeans (EJB)技術商業元件開發人員所提供的。本項認證是針對已取得SCJP認證的Java程式設計人員,在Java EE平台技術中,其必須專精於封裝商業邏輯的伺服端分散式元件應用程式。

  • [分享]Sun Java認證考試Prometric線上報名流程

    原文網址:http://macspeed.net/wordpress/?p=13

    1.0適用於所有SUN認證考試報名:SCJP、SCMAD、SCJA、SCDJWS、SCJD、SCJA、SCJD、SCWCD、SCBCD、SCEA、SCNA、SCSA等等。

    2.SUN Voucher(認證卷)可以參考台灣Sun官方網站

    3.n認證體系與考試編號查詢:2010年Sun Java認證體系介紹

    4.SCJP 6.0試編號是310-065。決定考試日期,時間與考試地點,考試地點可以參考這裡,決定考試地點後,要記住考場代號,例如聯成電腦公館分校是TI17

     5. 一個註冊好的Prometric帳號與密碼,如果還沒有Prometric帳號,先到這裡完成註冊

     6. 開啟Prometric首頁

    (更多…)

  • Java認證常見問題FAQ

      在IT業迅猛發展的今天,獲得權威認證為個人發展提供了越來越多的良好契機。Sun公司的Java認證共有以下三種:Java程式師,Java開發員和Java2企業級設計師。目前國內開展的Java認證考試僅為前兩種。其中,Java程式師的認證考試以Sun公司指定的Java SL-275為教材,考試號為310-025;Java開發員的認證考試以Sun指定的Java SL-285為教材,機考部分的考試號為310-027。

     

    Java程式師認證
     

    一、 怎樣可以獲得Sun公司的Java認證?
       如果你希望取得Sun公司Java認證,那麼必須通過Java程式師(SCJP)的考試。授權培訓中心所開設的Java程式師課程可以幫助你在短期內掌握Java編程的知識和技巧,並準確地把握考點。

    二、 Java認證培訓針對什麼樣的群體?
      經常有人諮詢:自己對Java語言比較陌生,對程式設計也沒有什麼基礎,怎樣做才可以取得Java程式師的認證?還有些專門從事程式開發甚至Java開發的人,也常常在猶豫,是不是可以不接受培訓直接參加考試?其實,從原則上講,培訓和考試是完全獨立的,可以直接報名參加認證考試。但是,由於Java認證考試的考點和別的學科並沒有任何相似性,而且也完全不同於我們日常的Java編程,所以僅僅自學或依靠自己的編程”底子”都是比較盲目的。而在Java程式師的培訓課程中,講師將針對考試中可能遇到的各種題型,有的放矢,更好地幫助學員迅速準確地抓住考試要點。如果學員在短期內不能很好地掌握所學內容,可以免費重聽。

    三、 Java認證培訓能提供什麼樣的服務?
      為了滿足廣大學員的培訓需求,讓大家更快更及時地掌握知識並獲得認證,講師將使用Sun公司指定教材,系統、完整、全面地講述課程的內容,並根據各知識點所需要掌握的深度,有層次、有重點、有目的地指導學員的學習。同時,對各種題型的分析和講解更能幫助學員直觀、準確地瞭解認證考試。 

    四、 如何參加Java程式師的認證考試?
      在有了充分的準備後,就可以著手參加考試了。首先需要提前2天到考試中心註冊考生ID,並和考試中心的工作人員預約考試時間。考生必須按時參加考試,並攜帶本人身份證。考試結束即可看到考試結果。Sun公司頒發的證書將在考試之後的2個月內以信件方式發到考生註冊的位址處。

    五、 Java程式師認證的考點有哪些?
       Java程式師的認證考試以Sun公司的SL-275英文原版教材為標準,需要掌握並作為考試內容的知識點有:聲明和許可權控制,流控制和異常處理,垃圾回收機制,基本語法,運算元和符號,重載、覆蓋、運行類型和面向物件,線程等;此外,還有Java.awt、 Java.lang、 Java.util、Java.io包中的常用類等。

    六、 Java認證考試有哪些注意事項?
       JavaSL-275的考試共有試題59道,通過分數為61分(答對36道題即可)。時間為120分鐘,在提交試卷前的任何時候,都可以看到任意一道試題。題型分為單選和多選題(可根據單選框或多選框來判斷),多選題在題目中將指明該題有幾個正確答案。

    七、 有哪些資料可以幫助學員學習?
       市面上有很多Java教程的相關書籍,有些可以輔助學員更好地學習和掌握Java程式師所應掌握的知識點,如《Java寶典》、《精通Java》、《Java語言程式設計大全》等。但有時這些書籍上的某些內容會跟Sun公司指定的教材有些出入,這時,我們應當以教材的提法為准。當然,無論是教材還是自己購買的書籍都只是對Java語言的系統性的講述,要抓住考試的要點和難點,還應當以培訓課程講師講述的內容為准。
     

    Java開發員認證
     

      在獲得程式師的認證後,可以繼續學習取得Java開發員(SCJD)的認證。相對於Java程式師的認證來說,開發員的知識掌握和證書取得要更難些。也正因為如此,開發員的證書對個人能力的標識和個人擇業更具價值。下面將對Java開發員認證考試的相關事宜做一些必要的介紹。
     

    一、 Java開發員認證課程
      講授Java開發員認證課程的講師均是具有開發經驗、博學廣識的。在5天的培訓課程中,不僅向學員講Java程式架構、編程技巧,同時向學員灌輸Java面向物件的編程思想。學員將學習如何從始至終開發一個實際的兩層/多層Java Intranet應用程式及有關的平臺移植問題。
    課程的具體內容有:解釋軟體發展週期每階段的目標,可使用適當的Java程式類型,瞭解API設計的基本元素,根據專案中的功能要求確定程式元件;描述關聯資料庫的設計及其設計原則;瞭解JDBC、ODBC及其使用;創建良好的GUI設計原則設計自己的用戶介面;使用Socket連接以適當格式傳輸資料,創建一個多層Java小程式或應用程式;瞭解在Solaris和Windows平臺之間的移植問題。
     

    二、 Java開發員的認證考試
       Java開發員的考試分程式設計和機考兩部分。其中,程式設計部分不限時。考生報名後,可從指定的網址下載考試題目,並根據題目要求進行程式設計。在指定的時間段(1年)內,考生須傳回自行設計的Java程式。但通常情況下,考生都會在2至3個月內將程式傳回。機考部分將針對程式回答題目,只要真正領悟和掌握了設計程式的過程和內容,回答這部分考題就沒有問題了。開發員的認證考試是對一個Java開發人員綜合能力的一種考核,通過該課程的學習將培養一個程式設計人員的獨立編程的能力,而該證書的取得也是對這種能力的一個有力證明.

  • 學習Java語言的重要含義

    1. Java是目前使用最為廣泛的網絡編程語言之一。它具有簡單,面向對象,穩定,與平台無關,解釋型,多線程,動態等特點。

         2.簡單Java語言簡單是指這門語言既易學有好用。不要將簡單誤解為這門語言很乾癟。你可能很贊同這樣的觀點英語要比阿了伯語言容易學。但這並不意味著英語就不能表達丰富的內容和深刻的思想,許多文學若貝爾獎的作品都是英文寫的。如果你學習過C++語言,你會感覺Java很眼熟,因為Java中許多基本語句的語法和C++一樣,像常用的循環語句,控制語句等和C++幾乎一樣,但不要誤解為Java是C++的增強版,Java和C++是兩種完全不同的語言,他們各有各的優勢,將會長期並存下去,Java語言和C++語言已成為軟件開發者應當掌握的語言。如果從語言的簡單性方面看,Java要比C++簡單,C++中許多容易混淆的概念,或者被Java棄之不用了,或者以一種更清楚更容易理解的方式實現,例如, Java不再有指針的概念。

         3.面向對象基於對象的編程更符合人的思維模式,使人們更容易編寫程序。在實際生活中,我們每時每刻都與對像在打交道。我們用的鋼筆,騎的自行車,乘的公共汽車等。而我們經常見到的卡車,公共汽車,轎車等都會涉及以下幾個重要的物理量可乘載的人數,運行速度,發動機的功率,耗油量,自重,輪子數目等。另外,還有幾個重要的功能加速功能,減速功能,剎車,轉彎功能等。我們也可以把這些功能稱作是他們具有的方法,而物理量是它們的狀態描述。僅僅用物理量或功能不能很好的描述它們。在現實生活中,我們用這些共有的屬性和功能給出一個概念機動車類。一個具體的轎車就是機動車類的一個實例對象.Java語言與其它面向對象語言一樣,引入了類的概念,類是用來創建對象的模板,它包含被創建的對象的狀態描述和方法的定義。

         4.與平台無關與平台無關是Java語言最大的優勢。其它語言編寫的程序面臨的一個主要問題是操作系統的變化,處理器升級以及核心系統資源的變化,都可能導致程序出現錯誤或無法運行。 Java的虛擬機成功地解決了這個問題,Java編寫的程序可以在任何安裝了Java虛擬機JVM的計算機上正確的運行,Sun公司實現了自己的目標“一次寫成,處處運行”。

         5.解釋型我們知道C,C++等語言,都是只能對特定的CPU芯片進行編譯,生成機器代碼,該代碼的運行就和特定的CUP有關。例如,在C語言中,我們都碰到過類似下面的問題int型變量的值是10 ,那麼下面代碼的輸出結果是什麼呢printf(“%d,%d”,x,x=x+1 )如果上述語句的計算順序是從左到右,結果是10,11但是,有些機器會從右到左計算,那麼結果就是11,11.Java不像C++,它不針對特定的CPU芯片進行編譯,而是把程序編譯為稱做字節碼的一個“中間代碼”。字節碼是很接近機器碼的文件,可以在提供了Java虛擬機JVM的任何系統上被解釋執行。 Java被設計成為解釋執行的程序,即翻譯一句,執行一句,不產生整個的機器代碼程序。翻譯過程如果不出現錯誤,就一直進行到完畢,否則將在錯誤處停止執行。同一個程序,如果是解釋執行的,那麼它的運行速度通常比編譯為可執行的機器代碼的運行速度慢一些。但是,對Java來說,二者的差別不太大,Java的字節碼經過仔細設計,很容易便能使用JIT即時編譯方式編譯技術將字節碼直接轉化成高性能的本地機器碼,Sun公司在Java 2發行版中提供了這樣一個字節碼編譯器——JIT(Just In Time),它是Java虛擬機的一部分。 Java運行系統在提供JIT的同時仍具有平台獨立性,因而“高效且跨平台”對Java來說不再矛盾。如果把Java的程序比做“漢語”的話,字節碼就相當於“世界語”,世界語不和具體的“國家”關,只要這個“國家”提供了“翻譯”,就可以再快速地把世界語翻譯成本地語言。

         6.多線程Java的特點之一就是內置對多線程的支持。多線程允許同時完成多個任務。實際上多線程使人產生多個任務在同時執行的錯覺,因為,目前的計算機的處理器在同一時刻只能執行一個線程,但處理器可以在不同的線程之間快速地切換,由於處理器速度非常快,遠遠超過了人接收信息的速度,所以給人的感覺好像多個任務在同時執行。 C++沒有內置的多線程機制,因此必須調用操作系統的多線程功能來進行多線程程序的設計。

         7.安全當你準備從網絡上下載一個程序時,你最大的擔心是程序中含有惡意的代碼,比如試圖讀取或刪除本地機上的一些重要文件,甚至該程序是一個病毒程序等。當你使用支持Java的瀏覽器時,你可以放心地運行Java的小應用程序Java Applet ,不必擔心病毒的感染和惡意的企圖,Java小應用程序將限制在Java運行環境中,不允許它訪問計算機的其它部分。

         8.動態Java程序的基本組成單元就是類,有些類是自己編寫的,有一些是從類庫中引入的,而類又是運行時動態裝載的,這就使得Java可以在分佈環境中動態地維護程序及類庫,而不像C++那樣,每當其類庫升級之後,相應的程序都必須重新修改,編譯。

  • 寫Java程序的三十個基本規則

    (1)類名首字母應該大寫。字段、方法以及對象(句柄)的首字母應小寫。對於所有標識符,其中包含的所有單詞都應緊靠在一起,而且大寫中間單詞的首字母。例如: ThisIsAClassName
     thisIsMethodOrFieldName
    若在定義中出現了常數初始化字符,則大寫static final基本類型標識符中的所有字母。這樣便可標誌出它們屬於編譯期的常數。
    Java包(Package)屬於一種特殊情況:它們全都是小寫字母,即便中間的單詞亦是如此。對於域名擴展名稱,如com,org,net或者edu等,全部都應小
    寫(這也是Java 1.1和Java 1.2的區別之一)。
    (2)為了常規用途而創建一個類時,請採取“經典形式”,並包含對下述元素的定義:
     equals()
     hashCode()
     toString()
     clone()(implement Cloneable)
     implement Serializable
    (3)對於自己創建的每一個類,都考慮置入一個main(),其中包含了用於測試那個類的代碼。為使用一個項目中的類,我們沒必要刪除測試代碼。若進行了任何形式的改動,可方便地返回測試。這些代碼也可作為如何使用類的一個示例使用。
    (4)應將方法設計成簡要的、功能性單元,用它描述和實現一個不連續的類接口部分。理想情況下,方法應簡明扼要。若長度很大,可考慮通過某種方式將其分割成較短的幾個方法。這樣做也便於類內代碼的重複使用(有些時候,方法必須非常大,但它們仍應只做同樣的一件事情)。

    (5)設計一個類時,請設身處地為客戶程序員考慮一下(類的使用方法應該是非常明確的)。然後,再設身處地為管理代碼的人考慮一下(預計有可能進行哪些形式的修改,想想用什麼方法可把它們變得更簡單)。
    (6)使類盡可能短小精悍,而且只解決一個特定的問題。下面是對類設計的一些建議:
    1.一個複雜的開關語句:考慮採用“多形”機制
    2.數量眾多的方法涉及到類型差別極大的操作:考慮用幾個類來分別實現
    3.許多成員變量在特徵上有很大的差別:考慮使用幾個類。
    (7)讓一切東西都盡可能地“私有”——private。可使庫的某一部分“公共化”(一個方法、類或者一個字段等等),就永遠不能把它拿出。若強行拿出,就可能破壞其他人現有的代碼,使他們不得不重新編寫和設計。若隻公佈自己必須公佈的,就可放心大膽地改變其他任何東西。在多線程環境中 ,隱私是特別重要的一個因素——只有private字段才能在非同步使用的情況下受到保護。
    (8)謹惕“巨大對象綜合症”。對一些習慣於順序編程思維、且初涉OOP領域的新手,往往喜歡先寫一個順序執行的程序,再把它嵌入一個或兩個巨大的對象裡。根據編程原理,對象表達的應該是應用程序的概念,而非應用程序本身。
    (9)若不得已進行一些不太雅觀的編程,至少應該把那些代碼置於一個類的內部。
    (10)任何時候只要發現類與類之間結合得非常緊密,就需要考慮是否採用內部類,從而改善編碼及維護工作(參見第14章14.1.2小節的“用內部類改進代碼”)。

    (更多…)

  • Java開發者的堅守的基本原則

    有許多標準和實踐準則可適用於Java開發者,但此處要說的,是每個Java開發者需堅守的基本原則。

      一、為代碼加註釋。雖然每個人都知道這點,但有時卻不自覺忘了履行,今天你“忘了”加註釋了嗎?雖然註釋對程序的功能沒什麼“貢獻”,但過一段時間,比如說兩星期之後或者更長,回過頭來看看自己的代碼,說不定已經記不住它是乾什麼的了。假如這些代碼是你個人的,那還算是走運了,不幸的是,當然了,大多數時候都是別人的不幸,很多時候大家都是在為公司寫代碼,寫代碼的人也許早已經離開了公司,但別忘了一句古話,有來有往嘛,為他人,也為我們自己,請為你的代碼加上註釋。
      二、不要讓事情複雜化。程序員有時候總是對簡單問題想出複雜的解決方案,比如說,在只有五個用戶的程序中引入EJB、對程序實現了並不需要的框架(framework),之類的還有屬性文件、面向對象解決方案、多線程等等。為什麼要這樣做呢?也許我們並不知道是否這樣會更好,但這樣做也許可以學到一些新東西,或者讓自己更感愛好一些。假如是不知道為什麼這樣做,建議多請教經驗豐富的程序員,假如是為了個人的目的,麻煩讓自己更專業一點。
    三、始終牢記——“少即是好(Less is more)並不總是對的”。代碼效率雖然很重要,但在許多解決方案中,編寫更少的代碼並不能改善這些代碼的效率,請看下面這個簡單的例子:
             
                 if(newStatusCode.equals(“SD”) && (sellOffDate == null ||
                todayDate.compareTo(sellOffDate)<0 || (lastUsedDate != null &&
                todayDate.compareTo(lastUsedDate)>0)) ||
                (newStatusCode.equals(“OBS”) && (OBSDate == null ||
                todayDate.compareTo(OBSDate)<0))){
                newStatusCode = “NYP”;
                } 
             
    能看明白if條件語句是乾什麼的嗎?能想出來是誰寫的這段代碼嗎?假如把它分成兩段獨立的if語句,是不是更輕易理解呢,下面是修改後的代碼:
             
                 if(newStatusCode.equals(“SD”) && (sellOffDate == null ||
                todayDate.compareTo(sellOffDate)<0 || (lastUsedDate != null &&
                todayDate.compareTo(lastUsedDate)>0))){
                newStatusCode = “NYP”;
                }else
                if(newStatusCode.equals(“OBS”) && (OBSDate == null ||
                todayDate.compareTo(OBSDate)<0))
                {
                newStatusCode = “NYP”;
                } 
             是不是讀起來輕易多了呢,在此只是多加了一個if和兩個花括號,但代碼的可讀性與可理解性就一下子提高了一大截。
      四、請不要硬編碼。開發者經常有意“忘記”或忽略掉這點,因為有些時候開發日程逼得實在太緊。其實,多寫一行定義靜態變量的代碼能花多少時間呢?
                public class A {
                public static final String S_CONSTANT_ABC = “ABC”;
                public boolean methodA(String sParam1){
                if (A.S_CONSTANT_ABC.equalsIgnoreCase(sParam1)){
                return true;
                }
                return false;
                }
                } 
             

    現在,每次需要將“ABC”與其他變量進行比較時,不必記住實際代碼,直接引用A.S_CONSTANT_ABC就行了,而且在今後需要進行修改時,也可在一處修改,不會翻遍整個源代碼逐個修改了。
    五、不要“創造”自己的框架(framework)。確切來說,有數以千計的各種框架存在,而且大多數是開源的,這些框架都是優秀的解決方案,可用於日常程序開發中,我們只需使用這些框架的最新版本就行了,至少表面上要跟上形勢吧。被大家廣為接受的最為明顯的一個例子就是Struts了,這個開源web框架非常適合用在基於web的應用程序中。是不是想開發出自己的Struts呢,還是省點力氣吧,回頭看看第二條——不要讓事情複雜化。另外,假如正在開發的程序只有3個窗口,就不要使用Struts了,對這種程序來說,不需要那麼多的“控制”。
    六、不要使用println及字符串連接。通常為了調試方便,開發者喜歡在可能的所有地方都加上System.out.println,也許還會提醒自己回過頭來再來刪除,但有些時候,經常會忘了刪除或者不願意刪除它們。既然使用System.out.println是為了測試,那麼測試完之後,為什麼還要留著它們呢,因為在刪除時,很可能會刪除掉真正有用的代碼,所以不能低估System.out.println危害啊,請看下面的代碼:
             
                 public class BadCode {
                public static void calculationWithPrint(){
                double someValue = 0D;
                for (int i = 0; i < 10000; i ) {
                System.out.println(someValue = someValue i);
                }
                }
                public static void calculationWithOutPrint(){
                double someValue = 0D;
                for (int i = 0; i < 10000; i ) {
                someValue = someValue i;
                }
                }
                public static void main(String [] n) {
                BadCode.calculationWithPrint();
                BadCode.calculationWithOutPrint();
                }
                } 
             

    從測試中可以發現,方法calculationWithOutPrint()執行用了0.001204秒,作為對比,方法calculationWithPrint()執行可是用了10.52秒。
    要避免浪費CPU時間,最好的方法是引入像如下的包裝方法:
             
                public class BadCode {
                public static final int DEBUG_MODE = 1;
                public static final int PRODUCTION_MODE = 2;
                public static void calculationWithPrint(int logMode){
                double someValue = 0D;
                for (int i = 0; i < 10000; i ) {
                someValue = someValue i;
                myPrintMethod(logMode, someValue);
                }
                }
                public static void myPrintMethod(int logMode, double value) {
                if (logMode > BadCode.DEBUG_MODE) { return; }
                System.out.println(value);
                }
                public static void main(String [] n) {
                BadCode.calculationWithPrint(BadCode.PRODUCTION_MODE);
                }
                } 

    另外,字符串連接也是浪費CPU時間的一個大頭,請看下面的示例代碼:

                public static void concatenateStrings(String startingString) {
                for (int i = 0; i < 20; i ) {
                startingString = startingString startingString;
                }
                }
                public static void concatenateStringsUsingStringBuffer(String startingString) {
                StringBuffer sb = new StringBuffer();
                sb.append(startingString);
                for (int i = 0; i < 20; i ) {
                sb.append(sb.toString());
                }
                } 
             
        在測試中可發現,使用StringBuffer的方法只用了0.01秒執行完畢,而使用連接的方法則用了0.08秒,選擇顯而易見了。
      七、多關注GUI(用戶界面)。再三強調,GUI對商業客戶來說,與程序的功能及效率同等重要,GUI是一個成功程序的最基本部分,而很多IT經理往往都沒注重到GUI的重要性。在現實生活中,許多公司可能為了節省開支,沒有僱用那些有著設計“用戶友好”界面豐富經驗的網頁設計者,此時Java開發者只能依靠他們自身的HTML基本功及在此領域有限的知識,結果,很多開發出來的程序都是“計算機友好”甚於“用戶友好”。很少有開發者同時精通軟件開發及GUI設計,假如你在公司“不幸”被分配負責程序界面,就應該遵守下面三條原則:
               1、 不要再發明一次輪子,即不做無用功。現有的程序可能會有類似的界面需求。

      2、 先創建一個原型。這是非常重要一步,用戶一般想看到他們將使用的東西,而且可以先利用這個原型徵求用戶的意見,再慢慢修改成用戶想

    要的樣子。
      3、 學會換位思考。換句話來說,就是從用戶的角度來審查程序的需求。舉例來講,一個匯總的窗口可以跨頁或者不跨頁,作為一個軟件開發者,可能會傾向於不跨頁,因為這樣簡單一些。但是,從用戶的角度來看,可能不希望看到上百行數據都擠在同一頁上。
      八、文檔需求不放鬆。每個商業需求都必須記錄在案,這可能聽上去像童話,似乎在現實生活中很難實現。而我們要做的是,不管開發時間多緊迫,不管最終期限多臨近,對每個商業需求都必須記錄在案。
    九、單元測試、單元測試、單元測試。關於什麼是單元測試的最好方法,在此不便細說,只是強調,單元測試一定要完成,這也是編程中最基本的原則。當然了,假如有人幫你做單元測試自然是最好,假如沒有,就自己來做吧,當創建一個單元測試計劃時,請遵守以下三條最基本的原則:
    1、 先於編寫類代碼之前編寫單元測試。
    2、 記錄單元測試中的代碼註釋。
    3、 測試所有執行要害功能的公有方法,這裡不是指set和get方法,除非它們是以自己獨特方式執行set和get方法。
      十、質量,而不是數量。有些時候因為產品問題、期限緊迫、或一些預料之外的事情,導致經常不能按時下班,但一般而言,公司不會因為僱員經常加班而對之表揚和獎勵,公司只看重高質量的工作。假如遵守了前九條原則,你會發現自己寫出的代碼bug少且可維護性高,無形中質量提高了一大步。

  • JBoss的安裝

    JBoss+Tomcat已經成為一個免費的開源的穩定的J2EE服務器,雖然在JBoss中部署J2EE沒有商用J2EE服務器那麼方便,基本都是通過手工編寫XML配置文件,但是這樣可以讓我們更容易理解J2EE的來龍去脈。

    注意,正如Tomcat3和Tomcat 4兩個版本差異很大一樣,Jboss 2和Jboss 3兩者差異較大,本處是以Jboss 2為例,建議安裝JBoss 3. Jboss 3安裝其實更簡單,下載解壓就可運行,部署應用方式也一樣。

    1.從JBoss主頁httpwww.jboss.org下載JBoss整合tomcat的軟件包.

    從ant主頁下載ant用來發布J2EE(.ear)或WEB程序(.war)或Java包(.jar)

    2.設置環境變量
     JAVA_HOME = cjdk1.4
    –假設你安裝Java 2.0 SDK in cjdk1.4
     ANT_HOME = Cjakarta-ant-1.4
    –假設你安裝in Cjakarta-ant-1.4
     JBOSS_DIST = CJBoss_Tomcatjboss
    –假設你安裝Jboss在CJBoss_Tomcatjboss JBoss 3.0已經沒有jboss這個子目錄

     

    在windows 2000中的設置是需要到控制面板–系統–環境變量中設置

    3.設置Path加入%JAVA_HOME%bin;%ANT_HOME%bin以便能夠執行JDK和ANT

    4.從httpwww.jboss.orgdocsmanualfilesdocumentation-example.zip下載JBoss應用程序例子.解壓到

    CJBoss_Tomcat
     
    —- Examples —應用程序例子安裝目錄
    —- Jboss
    —- Catalina –Tomcat 4.0
    從windows的DOS窗口進入examplesbuild目錄執行
    ant intro-interest-ear

    會出現一系列信息,最後是build succesfully

    到examplesbuild-exampleinterest目錄,發現新建立的interest.ear

    5.啟動JBoss將interest.ear拷貝到CJBoss_Tomcatdeploy目錄下,在Jboss 3.x中是serverdefaultdeploy目錄。

    在JBoss控制窗口會看到部署interest.ear的一系列信息.

    6.通過httplocalhost8080interest訪問,會出現一個表單,按提交後,顯示正常.

    至此,你的J2EE應用服務器安裝完畢.

    推薦Jbuilder6或Jbuilder7與JBoss 2.4 JBoss 3的整合