Java高級編程(高等院校計算機任務驅動教改教材)是一本針對Java解決方案的書籍。隨著開發(fā)項目的增大,以及開發(fā)團隊人員的增加,項目管理顯得越來越重要。本書將介紹注釋文檔自動生成、Java應用程序轉換為操作系統(tǒng)平臺直接運行的程序、實時監(jiān)控程序的JMX技術、利用SVN版本控制等具有Java項目管理特征的技術作為第1章的開頭。接下來的主要內容是在具有Java基礎知識的前提下,學習如何利用Java類庫實現(xiàn)數(shù)據(jù)結構的主要算法、Java網(wǎng)絡編程、MINA框架、Java安全技術、遠程對象調用、動態(tài)模塊等內容。
本書適合軟件技術相關專業(yè)高年級學生學習,也是Java工程師重要的參考資料。
Java自從誕生以來,一直是編程語言中的“萬金油”,其使用范圍廣,市場占有率高。隨著全球云計算和移動互聯(lián)網(wǎng)的發(fā)展,Java進一步表現(xiàn)出其明顯的優(yōu)勢和廣闊的發(fā)展前景。因而Java是現(xiàn)在大多數(shù)企業(yè)在從事電子商務開發(fā)、企業(yè)信息化建設、Web應用開發(fā)時的首選技術。
實際開發(fā)過程中,Java程序員很少碰到只涉及語言本身的問題。因為Java在諸多方面都提供了解決方案。譬如在利用Java進行項目開發(fā)過程中如何進行有效的項目管理;如何直接利用Java類庫實現(xiàn)數(shù)據(jù)結構中的算法;如何依靠典型的通信框架實現(xiàn)穩(wěn)定的系統(tǒng)及建立安全的通信機制;如何實現(xiàn)遠程對象的調用;如何實現(xiàn)動態(tài)模塊等。隨著本書學習的深入,讀者會越來越感覺到Java不僅是一門編程語言,更重要的是Java提供了多種解決方案。
本書每一部分的內容都從提出一個具體的實際工作任務開始,分別通過詳細設計、編碼實現(xiàn)、源代碼、測試與運行、技術分析、問題與思考幾個步驟來完成。每個步驟各自需要達到的目的如下。
(1)詳細設計。提出實現(xiàn)本任務的基本程序框架和主要算法等。
(2)編碼實現(xiàn)。用Java語句實現(xiàn)詳細設計,并對重點語句進行分析和說明。
(3)源代碼。給出實現(xiàn)程序的完整源程序。讀者可以逐步嘗試并練習如何在前兩個步驟的基礎上寫出自己的源程序,從而達到最終完成設計和編寫源程序的目的。
(4)測試與運行。對以上編寫的程序進行測試。有時用幾組數(shù)據(jù)直接運行程序進行測試;有時需要編寫測試程序,并對結果進行基本的分析。
(5)技術分析。該步驟是圍繞提出的一個工作任務而進行的,對引出的知識需要系統(tǒng)地整理。如果按學科體系組織教學內容,這個步驟應放在最前面,然后再通過一些例子驗證。本書基于工作過程,每個具體內容都先讓讀者知道如何做,再去梳理設計過程中所涉及的知識。
(6)問題與思考。這個步驟對學習過程中有疑問的一些問題進行討論,既可以為以后的知識做一些鋪墊,又可以對所學內容起到舉一反三的作用。
各章內容如下。
第1章主要介紹注釋文檔自動生成、Java應用程序轉換為操作系統(tǒng)平臺直接運行的程序、實時監(jiān)控程序的JMX技術、利用SVN版本控制等具有Java項目管理特征的技術。
第2章主要介紹標準Java庫提供的最基本的數(shù)據(jù)結構,講述如何利用Java編程語言實現(xiàn)各種傳統(tǒng)的數(shù)據(jù)結構。
第3章從服務器端和客戶端兩個角度重點介紹利用Socket實現(xiàn)網(wǎng)絡通信的示例。Java中網(wǎng)絡程序有TCP和UDP兩種協(xié)議,TCP通過握手協(xié)議進行可靠的連接,UDP則是不可靠的連接。
第4章介紹如何利用MINA框架開發(fā)通信軟件。MINA封裝了TCP/IP、線程等內容,由于其安全、穩(wěn)定,以及開發(fā)人員無須考慮通信細節(jié)等特點,廣泛應用在Client/Server模式的環(huán)境中。成功的案例包括Openfire和Spark搭建的及時通信環(huán)境。
第5章在介紹加密/解密基本知識的前提下,向讀者展示如何用Java的類庫實現(xiàn)私鑰加密/解密、公鑰加密/解密、數(shù)字簽名等技術。
第6章介紹RMI框架及EJB框架,讓讀者能夠實現(xiàn)RMI和CORBA編程,能夠建立基本的EJB和發(fā)布技術。
第7章讓讀者了解OSGi動態(tài)模塊——Bundle的基本結構,Bundle之間如何調用以及如何實現(xiàn)OSGi的Web應用等。
書中實例程序都已調試通過,因而讀者在上機實踐時,不會出現(xiàn)不必要的困惑。
本書在編寫過程中得到了清華大學出版社的大力支持,在此表示衷心的感謝!由于時間緊迫,本書難免有不妥之處,歡迎各界專家和讀者朋友批評指正,也歡迎讀者交流。
編者
2016年8月
第1章Java開發(fā)環(huán)境及工具1
1.1注釋文檔的生成1
1.2jar與可執(zhí)行文件的制作12
1.3JMX管理框架24
1.4版本控制34
第2章Java數(shù)據(jù)結構48
2.1順序存儲結構48
2.2鏈式存儲結構54
2.3樹66
2.4Java工具包72
第3章Java網(wǎng)絡編程85
3.1Java網(wǎng)絡編程概述85
3.2應用案例100
3.2.1通過流套接字連接實現(xiàn)客戶機/服務器的交互100
3.2.2用UDP方式實現(xiàn)聊天程序108
3.3Web通信112
3.3.1用Java實現(xiàn)Web服務器112
3.3.2用JEditorPane實現(xiàn)瀏覽器的功能119
3.3.3WebSocket通信128
3.4郵件服務器136
第4章MINA與通信147
4.1MINA應用程序147
4.2MINA的狀態(tài)機160
4.3在Windows下搭建基于Jabber協(xié)議的移動即時通信172
4.3.1安裝Openfire173
4.3.2Jabber客戶端的安裝與配置181
4.3.3用Openfire開發(fā)文檔187
第5章Java安全技術203
5.1類裝載器203
5.2消息摘要210
5.3私鑰密碼術219
5.4用公鑰加密數(shù)據(jù)226
5.5數(shù)字簽名233
5.6保護C/S通信的SSL/TLS242
第6章遠程對象256
6.1RMI遠程方法的調用256
6.2CORBA268
6.3開發(fā)EJB278
第7章OSGi技術292
7.1OSGi的Bundle292
7.2OSGi應用程序開發(fā)301
7.3使用OSGi的HTTP服務322
參考文獻333