出版時(shí)間:2009-2 出版社:中國(guó)電力出版社 作者:Ian F.Darwin 頁(yè)數(shù):784
Tag標(biāo)簽:無(wú)
前言
JDK 1.5(代號(hào)為“猛虎”)是Java陣營(yíng)的一個(gè)重大創(chuàng)舉。它引入多個(gè)主要的新特征,例如:簡(jiǎn)化數(shù)據(jù)結(jié)構(gòu)的泛型,以靈活而又定義明確的方式注釋Java類的元數(shù)據(jù),用于讀取數(shù)據(jù)的基于模式的新機(jī)制,以及用于格式化打印的新機(jī)制等。此外,新版本中還包括了許多細(xì)微卻很重要的改動(dòng),這些改動(dòng)對(duì)Java開(kāi)發(fā)者而言是必須的。雖然你很想馬上弄懂這些機(jī)制,但是要完全理解和融會(huì)貫通這些機(jī)制還是需要花費(fèi)一些時(shí)間的。我在第一版的編后記中寫(xiě)道:“寫(xiě)這本書(shū)是一段不堪回首的經(jīng)歷?!碑?dāng)許多評(píng)論家和作家在大肆炫耀自己的榮譽(yù)時(shí),我卻在為自己在第一版中的錯(cuò)誤和疏漏而感到尷尬不堪。因此,在這一版本中,我盡力做了修正。與此同時(shí),我增加了一些新實(shí)例,并摒棄了小部分舊實(shí)例。最大的新增部分就是第8章,主要討論泛型和枚舉,以及能為諸如Java Collection這樣的容器提供更多靈活性的特征。當(dāng)前,JaVa已經(jīng)包含了正則表達(dá)式的API,因此,第4章就由Apache的正則表達(dá)式API過(guò)渡到JDK 1.4正則表達(dá)式。
內(nèi)容概要
本書(shū)收集了Java開(kāi)發(fā)人員經(jīng)常遇到的成百個(gè)問(wèn)題的解決方案,涵蓋了Java應(yīng)用的方方面面,堪稱講述Java應(yīng)用的百科全書(shū)。書(shū)中的實(shí)例從正確設(shè)置CLASSPATH和讀取環(huán)境信息這樣的簡(jiǎn)單任務(wù),到應(yīng)用XML,或者使用JDK 1.5所帶的并發(fā)性工具實(shí)現(xiàn)多線程編程的完整程序,幾乎無(wú)所不包?! o(wú)論你是否直接使用書(shū)中的實(shí)例,作為靈感的源泉,作為學(xué)習(xí)Java的工具,或者用于其他用途,本書(shū)都將成為你圖書(shū)收藏中的珍品。還沒(méi)有一本書(shū)能夠如此全面地講述Java的諸多功能,并能夠如此容易地運(yùn)用到實(shí)踐當(dāng)中去。作為第二版,本書(shū)更像是一部秘笈,指引你獲取最新的第三方資源,以及提供實(shí)用的“招式”。本書(shū)展現(xiàn)了JDK 1.5中許多新的編程語(yǔ)言與API特性,這些都包括在那些實(shí)例中。
作者簡(jiǎn)介
Ian F.Darwin有三十年的計(jì)算機(jī)軟件開(kāi)發(fā)經(jīng)驗(yàn),是Learning Tree國(guó)際教育公司的講師和課程設(shè)計(jì)師。
書(shū)籍目錄
前言第1章 起步走:編譯、運(yùn)行和調(diào)試Java程序 1.0 簡(jiǎn)介 1.1 編譯和運(yùn)行Java程序:JDK方式 1.2 采用帶彩色突出顯示的編輯器編輯和編譯程序 1.3 采用IDE編譯、執(zhí)行和測(cè)試程序 1.4 有效使用CLASSPATH 1.5 使用本書(shū)的com.darwinsys API類 1.6 編譯本書(shū)的源代碼示例 1.7 使用Ant工具自動(dòng)編譯和執(zhí)行Java程序 1.8 Applet 1.9 處理過(guò)期警告 1.10 沒(méi)有#ifdef的條件編譯 1.11 調(diào)試信息的輸出 1.12 使用斷言機(jī)制維護(hù)程序 1.13 使用調(diào)試器JDB 1.14 單元測(cè)試 1.15 獲取可讀的回溯 1.16 更多的Java源程序 1.17 例程:Debug第2章 Java的運(yùn)行環(huán)境 2.0 簡(jiǎn)介 2.1 獲得環(huán)境變量 2.2 系統(tǒng)屬性 2.3 編寫(xiě)JDK版本相關(guān)的代碼 2.4 編寫(xiě)操作系統(tǒng)相關(guān)的代碼 2.5 使用擴(kuò)展包或其他API包 2.6 解析命令行參數(shù)第3章 字符串 3.0 簡(jiǎn)介 3.1 利用substring()分解字符串 3.2 利用StringTokenizer分解字符串 3.3 連接字符串 3.4 處理單個(gè)字符 3.5 字符串的對(duì)齊 3.6 Unicode字符與String.的轉(zhuǎn)換 3.7 顛倒字符串 3.8 擴(kuò)展和壓縮TAB符 3.9 控制字母大小寫(xiě) 3.10 縮排文檔 3.11 輸入非打印字符 3.12 刪除字符串尾部的空格 3.13 解析逗號(hào)分隔的數(shù)據(jù) 3.14 例程:一個(gè)簡(jiǎn)單的文本格式化工具 3.15 例程:Soundex算法第4章 正則表達(dá)式的模式匹配 4.0 簡(jiǎn)介 4.1 正則表達(dá)式的語(yǔ)法 4.2 在Java中使用正則表達(dá)式:測(cè)試模式 4.3 查找匹配的文本 4.4 替換匹配的正文 4.5 打印匹配的所有字符串 4.6 打印含有模式的行 4.7 在正則表達(dá)式中控制大小寫(xiě) 4.8 匹配重音符或復(fù)合字符 4.9 匹配時(shí)的換行問(wèn)題 4.10 例程:Apache日志文件解析 4.11 例程:數(shù)據(jù)挖掘 4.12 例程:完整的Grep第5章 數(shù)字 5.0 簡(jiǎn)介 5.1 檢查字符串是否包含有效數(shù)字 5.2 數(shù)據(jù)類型的由大變小 5.3 數(shù)字與對(duì)象的互相轉(zhuǎn)換 5.4 使用分?jǐn)?shù) 5.5 確保浮點(diǎn)數(shù)的準(zhǔn)確性 5.6 浮點(diǎn)數(shù)的比較 5.7 浮點(diǎn)數(shù)的舍入 5.8 數(shù)字的格式化 5.9 二進(jìn)制、八進(jìn)制、十進(jìn)制以及十六進(jìn)制之間的轉(zhuǎn)換 5.10 整數(shù)序列 5.11 羅馬數(shù)字 5.12 名詞的復(fù)數(shù)形式 5.13 產(chǎn)生隨機(jī)數(shù) 5.14 產(chǎn)生更好的隨機(jī)數(shù) 5.15 三角函數(shù)的計(jì)算 5.16 取對(duì)數(shù) 5.17 矩陣乘法 5.18 復(fù)數(shù) 5.19 處理特大的數(shù)字 5.20 例程:TempConVerter 5.21 例程:數(shù)字回文(Number Palindromes)第6章 日期和時(shí)間 6.0 簡(jiǎn)介 6.1 查看當(dāng)前日期 6.2 按照指定格式打印日期/時(shí)間 6.3 用其他歷法表示日期 6.4 將YMDHMS轉(zhuǎn)換為Calendar對(duì)象 6.5 將字符串轉(zhuǎn)換為日期 6.6 將秒數(shù)轉(zhuǎn)換為DMYHMS格式 6.7 日期的加減運(yùn)算 6.8 計(jì)算日期之間的間隔 6.9 比較日期 6.10 第幾日 6.11 日歷頁(yè) 6.12 測(cè)量流逝的時(shí)間 6.13 休眠 6.14 例程:提醒服務(wù)第7章 結(jié)構(gòu)化數(shù)據(jù) 7.0 簡(jiǎn)介 7.1 數(shù)組 7.2 調(diào)整數(shù)組的長(zhǎng)度 7.3 ArrayList類 7.4 Iterator(迭代器) 7.5 鏈表 7.6 使用:Hashtable和HashMap進(jìn)行映射 7.7 Properties類和Preferences類 7.8 排序 7.9 避免頻繁地排序 7.10 排除重復(fù)元素 7.11 搜索對(duì)象 7.12 將集合轉(zhuǎn)換為數(shù)組 7.13 自定義Iterator 7.14 堆棧 7.15 多維結(jié)構(gòu) 7.16 集合小結(jié) 7.17 例程:運(yùn)行效率第8章 泛型、foreach循環(huán)和枚舉的數(shù)據(jù)結(jié)構(gòu)(JDK 1.5) 8.0 簡(jiǎn)介 8.1 使用泛型 8.2 使用“foreach”循環(huán) 8.3 使用泛型避免強(qiáng)制類型轉(zhuǎn)換 8.4 使用自動(dòng)裝包和自動(dòng)拆包進(jìn)行轉(zhuǎn)換 8.5 使用類型安全的枚舉 8.6 例程:MediaInvoicer第9章 面向?qū)ο蟮募夹g(shù) 9.0 簡(jiǎn)介 9.1 打印對(duì)象用toString()方法格式化 9.2 覆蓋equals方法 9.3 覆蓋hashcode方法 9.4 Clone方法 9.5 Finalize方法 9.6 使用內(nèi)部類 9.7 通過(guò)接口進(jìn)行回調(diào)(Callback) 9.8 多態(tài)(Polymorphism)/抽象方法 9.9 傳值 9.10 Singleton模式 9.11 自定義異常 9.12 例程:Plotter(繪圖儀)第10章 輸入和輸出 10.0 簡(jiǎn)介 10.1 從標(biāo)準(zhǔn)輸入設(shè)備讀取數(shù)據(jù) 10.2 向標(biāo)準(zhǔn)輸出設(shè)備寫(xiě)數(shù)據(jù) 10.3 JDK 1.5的Formatter類 10.4 掃描文件 10.5 JDK 1.5的Scanner類 10.6 按文件名打開(kāi)文件 10.7 復(fù)制文件 10.8 把文件讀入字符串 10.9 重定向標(biāo)準(zhǔn)流 10.10 復(fù)制流 10.11 讀/寫(xiě)不同字符集的文本 10.12 行結(jié)束符 10.13 平臺(tái)相關(guān)的文件編碼 10.14 斷行再續(xù) 10.15 讀寫(xiě)二進(jìn)制數(shù)據(jù) 10.16 定位(Seeking) 10.17 處理C程序?qū)懙臄?shù)據(jù)流 10.18 存儲(chǔ)和還原串行化對(duì)象 10.19 防止ClassCastExceptions異常 10.20 讀寫(xiě)JAR或Zip文檔 10.21 讀寫(xiě)壓縮文件 10.22 例程:將文本輸出為PostScript格式第11章 目錄和文件操作 11.0 簡(jiǎn)介 11.1 獲取文件信息 11.2 創(chuàng)建文件 11.3 修改文件名 11.4 刪除文件 11.5 創(chuàng)建臨時(shí)文件 11.6 更改文件屬性 11.7 列出目錄內(nèi)容 11.8 獲取根目錄 11.9 創(chuàng)建新目錄 11.10 例程:Find第12章 串行和并行接口編程 12.0 簡(jiǎn)介 12.1 選擇一個(gè)端口 12.2 打開(kāi)串行端口 12.3 打開(kāi)并行端口 12.4 解決端口沖突 12.5 基于端口讀寫(xiě)數(shù)據(jù):異步(Lock Step) 12.6 基于端口的讀寫(xiě)數(shù)據(jù):事件驅(qū)動(dòng) 12.7 基于端口的讀寫(xiě)數(shù)據(jù):線程 12.8 例程:Penman繪圖儀第13章 圖形與聲音 13.0 簡(jiǎn)介 13.1 繪制圖形 13.2 測(cè)試圖形組件 13.3 輸出文本 13.4 使組件上的文本居中 13.5 陰影效果 13.6 繪制二維藝術(shù)字 13.7 文本字體 13.8 圖像 13.9 播放聲音文件 13.10 播放視頻文件 13.11 Java的打印 13.12 例程:P10tterlAWT 13.13 例程:Grapher第14章 圖形用戶界面(GUI) 14.0 簡(jiǎn)介 14.1 GUI組件 14.2 窗體布局 14.3 帶Tab的布局 14.4 事件處理:讓按鈕工作起來(lái) 14.5 使用匿名的內(nèi)部類進(jìn)行事件處理 14.6 通過(guò)“關(guān)閉窗體”結(jié)束程序 14.7 對(duì)話框 14.8 GuI異常 14.9 在窗體上打印數(shù)據(jù) 14.10 使用JSpinner’選擇值 14.11 使用JFileChooser選擇文件 14.12 選擇顏色 14.13 使用HTML格式化JComponents 14.14 將主窗體居中 14.15 修改swing程序的外觀感受(Look and Feel). 14.16 改進(jìn)Mac OS x的GUI 14.17 例程:定制字體 14.18 例程:定制布局管理器第15章 國(guó)際化與本地化 15.0 簡(jiǎn)介 15.1 用118N資源創(chuàng)建按鈕 15.2 列出有效區(qū)域 15.3 使用118N資源創(chuàng)建菜單 15.4 編寫(xiě)國(guó)際化的實(shí)用子程序 15.5 使用118N資源包創(chuàng)建對(duì)話框 15.6 創(chuàng)建資源包 15.7 從代碼中提取字符串 15.8 使用指定的區(qū)域 15.9 設(shè)置默認(rèn)的區(qū)域 15.10 格式化消息 15.11 例程:MenuIntl 15.12 例程:BusCard第16章 網(wǎng)絡(luò)客戶端 16.0 簡(jiǎn)介 16.1 訪問(wèn)服務(wù)器 16.2 查找并報(bào)告網(wǎng)絡(luò)地址 16.3 處理網(wǎng)絡(luò)錯(cuò)誤 16.4 讀寫(xiě)文本數(shù)據(jù) 16.5 讀寫(xiě)二進(jìn)制數(shù)據(jù) 16.6 讀寫(xiě)串行化數(shù)據(jù) ……第17章 Java服務(wù)器端:Socket 第18章 網(wǎng)絡(luò)客戶端(Ⅱ):Applet和Web客戶端 第19章 JaVa與EmajI 第20章 數(shù)據(jù)庫(kù)訪問(wèn) 第21章 XML 第22章 分布式Java:RMI 第23章 包和包裝機(jī)制 第24章 JaVa線程 第25章 內(nèi)省或“命名類的類”第26章 JaVa與其他語(yǔ)言的結(jié)合 后記
章節(jié)摘錄
插圖:第1章 起步走:編譯、運(yùn)行和調(diào)試Java程序1.2 采用帶彩色突出顯示的編輯器編輯和編譯程序討論比集成環(huán)境(IDE)要小,但比命令行工具要大,介于它們之間的工具是什么呢?答案是支持Java的文本編輯器。例如:TextPad(http://www.textpad.corn)、Visual Slick Edit以及其他低成本的窗口化編輯器(主要是基于windows的),它們內(nèi)置了Java的特性,可以直接在編輯器中編譯程序。TextPad可以識(shí)別許多文件類型,包括批處理文件和shell腳本、C、c++、Java、JSP、JavaScript等。對(duì)于每一種類型,其關(guān)鍵字、注釋、字符串等都采用不同的顏色來(lái)標(biāo)識(shí),這樣方便你在代碼中發(fā)現(xiàn)錯(cuò)誤。例如:注釋標(biāo)號(hào)不成對(duì),只有一個(gè)“/*,缺少另一個(gè)*/*。當(dāng)然,它不像集成環(huán)境那樣,能比較深入地“理解”Java,它實(shí)際上主要還是依賴程序員的開(kāi)發(fā)經(jīng)驗(yàn)。TextPad包含編譯和執(zhí)行JaVa程序的命令,因此,你可以直接在窗口上輸出結(jié)果,比在命令行上執(zhí)行要方便多了。然而,除非程序終止,否則你無(wú)法看到命令的結(jié)果,也就不能把握GUI應(yīng)用程序在創(chuàng)建窗體時(shí)所拋出的異常。盡管如此,TextPad不失為一個(gè)十分有用的工具。此外,其他的編輯器還包括:彩色的vim(unix編輯工具vi的增強(qiáng)版,適用于windows或Unix系統(tǒng),參見(jiàn)http://www.vim.org);曾經(jīng)流行的Emacs編輯器等。
后記
寫(xiě)作本書(shū)對(duì)我真是一段誠(chéng)惶誠(chéng)恐的經(jīng)歷。所花去的時(shí)間比我預(yù)計(jì)的和愿意承受的都要長(zhǎng)得多。當(dāng)然,一切還沒(méi)有結(jié)束。盡管我、技術(shù)審核、編輯還有許多其他的有才能的人已盡全力,這么厚的一本書(shū)肯定還會(huì)有錯(cuò)誤、疏漏以及講述不清的地方。如果你碰到這些事情,請(qǐng)通過(guò)e-mail告知我們,本書(shū)的后續(xù)版本將會(huì)包含像你這樣的讀者所貢獻(xiàn)的努力!有人說(shuō)過(guò),只有在你教過(guò)別人之后,你才能真正了解某事物。我發(fā)現(xiàn)對(duì)于教學(xué)來(lái)說(shuō)這是至理名言,對(duì)于寫(xiě)作亦然。我常告訴學(xué)生,當(dāng)Java還很年輕時(shí),一個(gè)人只要刻苦學(xué)習(xí)就可能幾乎了解Java的一切。但到了JDK 1.1橫空出世的時(shí)候,這再也不可能了。到現(xiàn)在,任何人要說(shuō)他們對(duì)Java全知全覺(jué)肯定會(huì)讓測(cè)謊儀的鈴聲響徹云霄。而Java的容量還在不斷增長(zhǎng)。我們?cè)趺礃硬拍芘c之俱進(jìn)呢?靠Java書(shū)?Java雜志?Java課程?會(huì)議?答案不一而足,但都應(yīng)該有用。Sun的Java軟件部門(mén)有一些活動(dòng)應(yīng)該給予關(guān)注:
編輯推薦
《Java經(jīng)典實(shí)例(第2版)》對(duì)于Java開(kāi)發(fā)人員而言是理想的“第二《Java經(jīng)典實(shí)例(第2版)》”(也是理想的自學(xué)書(shū)籍),講述API比一般書(shū)籍要詳細(xì),非常適合擴(kuò)大Java應(yīng)用的知識(shí)面?!禞ava經(jīng)典實(shí)例(第2版)》的主題包括:編譯和調(diào)試Java程序 泛型、foreach和枚舉(1.5版)使用Ant開(kāi)發(fā)網(wǎng)絡(luò)客戶端和服務(wù)器端將應(yīng)用程序打包,以便部署Web編程、Set’Vlet和IJSP字符串和正則表達(dá)式 數(shù)據(jù)庫(kù)訪問(wèn)格式化器和掃描器(1.5版)集成XML.JavajF[IMac OS x 遠(yuǎn)程方法調(diào)用(RMI)數(shù)組和其他數(shù)據(jù)集合內(nèi)省并行和串行端口的編程開(kāi)發(fā)圖形化用戶界面文件、目錄和文件系統(tǒng)并發(fā)性(1.5版)
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版