當前位置:成語大全網 - 英語詞典 - 關於學JAVA

關於學JAVA

壹. 工具的重要性

江湖中人為搶奪"屠龍刀"等神兵利器而掀起陣陣腥風血雨。世界列強為稱霸世界或求自保而爭相研發核武器、航空母艦。為什麽?是因為認識到工具對人類的重要性。

《現代漢語詞典》上對人的定義是:人是能制造工具並使用工具進行勞動的高等動物。壹部生產力發展史,就是人的生產工具不斷發明改變的歷史;壹部社會發展史,是社會工具即組織及其制度發明、運用和變更的歷史;而壹部科學史,就是人用自然和人工的語言、邏輯規範,以及使用多種實驗工具的認識史或發現史。可見工具之於人類是多麽的重要。JAVA開發人員當然也不例外,在開發過程中需要用到形形色色的工具,這些工具可以幫助我們高效率的開發出滿足客戶需要的產品。

2004年01月07日, 由10家軟件公司組成的JavaToolsCommunity(JTC)組織宣布成立。該組織致力於為開發商提供更為簡單和高效的Java工具。JTC還希望為Java整合開發環境(IDE)提供壹個通用的插件(add-on,plug-in)系統。通過建立壹個插件與Java工具連接的標準化途徑,開發商就能夠混合使用來自不同供應商的各種不同工具。JTC目前正在開發壹個名為JSR198的插件標準化系統。令人關註的Java工具重量級企業IBM和Borland目前還拒絕加入該組織,原因是什麽?筆者認為根本原因在於這兩家公司都擁有出色的JAVA開發工具。Borland的JBuilder,IBM支持的Eclipse,這兩種IDE占據了絕大多數的市場份額。因此他們不想加入由SUN公司把持話語權的JTC也就可想而知了。在工具的標準方面,又壹場龍虎鬥拉開了序幕。

二.工具分類

那麽JAVA開發人員需要什麽類型的工具?如何選擇工具?我們下面就開始分類進行探討。

1. 純文本開發工具

在開始學習JAVA的時候,我們壹般使用純文本的開發工具來編寫JAVA程序。常見的純文本編輯工具有Notepad記事本、Editplus、VI、Emacs、JCreator、UltraEdit等等。其中VI、Emacs是在Linux環境下使用,其余工具在Windows下使用。Notepad不支持關鍵詞高亮顯示,並且需切換到命令終端編譯運行,因此壹般使用在機器上沒有別的編輯器的臨時場合。JCreator支持關鍵詞高亮顯示,但只能夠用於編寫JAVA Applet及Application,在學習J2SE的時候使用的人還挺多的。

UltraEdit是壹個很好的文字、Hex、ASCII 碼編輯器,它的默認配置可以對C/C++, VB, HTML, Java和 Perl進行語法著色。可同時編輯多個文件。壹般常會用其來修改EXE或DLL文件,如破解軟件、修改遊戲等等。與EditPlus很相似。

EditPlus 是 32 位文本編輯程序器,它可以完全替換記事本,它也提供網頁開發人員及程序設計師許多強悍的功能。支持HTML、CSS、PHP、ASP、Perl、C/C++、Java、JavaScript 及 VBScript的語法關鍵詞高亮顯示。並且它可以在自定義語法文件後擴充支持其他的程序設計語言。嵌合網頁瀏覽器作 HTML 頁的預覽,及 FTP 命令做本地文件上傳到 FTP 服務器。在JAVA開發人員中很有市場,尤其是初學者。我們把編輯、編譯、運行Applet/Application都集成在Editplus中,可以認為它就是壹個小型的IDE。也是筆者鐘愛的開發工具,強烈推薦。

2.反編譯、混淆器工具

由於黑客的頻繁活動,使得Java類文件面臨著反編譯的挑戰。有壹些工具能夠對Java源代碼進行反工程,其結果甚至以比普通Java文件更可讀的方式, 盡管普通的Java文件(由於代碼風格不同)有註釋。許可證和軟件過期對於用戶們來說將變得無用 。因此,防止軟件被反編譯或使得反編譯的結果變得無意義對於Java來說非常重要。混淆器能夠保護軟件使之不被反編譯。它通過混淆類文件使得反編譯無效,並把敏感的名字指代變成另壹個名字空間,這樣可以使反編譯的結果毫無疑義。

反編譯器能夠把字節碼class文件反編譯成源代碼, 混淆器能夠保護軟件使之不被反編譯, 反編譯器與混淆器是矛與盾的關系。

JAD、Decafe Pro、DJ Java Decompiler都是Java Class文件的反編譯軟件。JAD是字符終端的工具,Decafe Pro與DJ Java Decompiler都是GUI界面,在功能上幾乎所有的反編譯器都差不多,選擇哪種就看妳的愛好了。不過值得壹提的是DJ Java Decompiler,它不需要額外安裝JVM(Java Virtual Machine)或是JDK的工具即可使用。不單如此,DJJava Decompiler也兼具有Java程序編輯工具的角色,提供壹些輔助功能便於程序撰寫與修改,因此值得推薦。另外還有國內程序員編寫的"小穎JAVA源代碼反編譯超級引摯",支持目錄級的反編譯,為支持國貨起見,在此推薦。

DashO是第三代的Java混淆器(obfuscator)、壓縮機(compactor)、優化工具和水印工具,功能很強大,它可以為您的JAVA程序提供反編譯保護、提高運行速度和減少程序體積,可惜不是免費的。免費的混淆器有ProGuard RetroGuard以及SUN公司的JODE等等。還有就是多數人使用的JBuilder、Eclipse中集成的混淆器。

3.調試工具

在JAVA語言的早期,壹個典型的開發者使用非常陳舊的方法調試程序:使用System.out.println() 方法,現在還依然常用。代碼的跟蹤信息被打印到控制臺、文件或者套接字。當要發布我們的軟件時不得不逐個找到這些調試輸出,把它們註釋掉,當需要維護軟件時又要去開啟這些調試輸出,煩不勝煩。因此逐漸發展出其他的壹些調試工具。

下面總結幾種JAVA調試工具:

●IDE(集成開發環境) 包含它們自己的調試器 (例如JBuilder、Eclipse)

●單獨的GUI工具 (例如JIKES, JAVADT, 以及JProbe)

●基於文本和命令行的工具 (例如Sun JDB)

●野蠻的使用編輯器 (例如Notepad 或者 VI) 檢查堆棧描繪(stack traces)

IDE 和獨立的GUI 調試器對於初學者是最容易的並且被證明是最節省時間的。調試器將引導妳到程序崩潰的地方。在調試器裏面執行程序,使用鼠標設置斷點並穿越代碼。使用這些調試器的不利方面是並非所有的IDE調試器都支持最新的Java API和技術 (例如servlets 和 EJB 組件)。