本書由擁有20多年教學(xué)與研究經(jīng)驗(yàn)的資深Java技術(shù)專家撰寫(獲Jolt大獎(jiǎng)),是程序員的優(yōu)選Java指南。本版針對(duì)Java SE 9、10和 11全面更新。
全書共12章。
第1章概述Java語言的特色功能;
第2章詳細(xì)論述如何下載和安裝JDK以及本書的程序示例;
第3章開始討論Java 語言,包括變量、循環(huán)和簡(jiǎn)單的函數(shù);
第4章介紹面向?qū)ο髢纱蠡袠O要的一個(gè)概念封裝,以及Java語言實(shí)現(xiàn)封裝的機(jī)制,即類與方法;
第5章介紹面向?qū)ο蟮牧硪粋(gè)重要概念繼承,繼承使程序員可以使用現(xiàn)有的類,并根據(jù)需要進(jìn)行修改;
第6章展示如何使用Java的接口(可幫助你充分獲得Java的完全面向?qū)ο蟪绦蛟O(shè)計(jì)能力)、lambda表達(dá)式(用來表述可以在以后某個(gè)時(shí)間點(diǎn)執(zhí)行的代碼塊)和內(nèi)部類;
第7章討論異常處理,并給出大量實(shí)用的調(diào)試技巧;
第8章概要介紹泛型程序設(shè)計(jì),使程序更可讀、更安全;
第9章討論Java平臺(tái)的集合框架,以及如何充分利用內(nèi)建的標(biāo)準(zhǔn)集合;
第10章介紹GUI程序設(shè)計(jì)(包括如何建立窗口、如何在窗口中繪圖、如何利用幾何圖形繪圖、如何采用多種字體格式化文本,以及如何顯示圖像)和編寫代碼來響應(yīng)事件(如鼠標(biāo)點(diǎn)擊事件和按鍵事件);
第11章詳細(xì)討論Swing GUI工具包,以建立跨平臺(tái)的圖形用戶界面,包括各種按鈕、文本組件、邊框、滑塊、列表框、菜單以及對(duì)話框的有關(guān)內(nèi)容;
第12章討論并發(fā)。本書*后還有一個(gè)附錄,其中列出了Java語言的保留字。
如需了解Java高級(jí)UI特性、企業(yè)編程、網(wǎng)絡(luò)、安全和Java強(qiáng)大的模塊系統(tǒng)等內(nèi)容,請(qǐng)點(diǎn)擊直達(dá)卷II*高級(jí)特性的購買鏈接。
Java領(lǐng)域極有影響力和價(jià)值的著作之一,與《Java編程思想》齊名,10余年全球暢銷不衰,廣受好評(píng)。
針對(duì)Java SE 9、10、11全面更新,系統(tǒng)全面講解Java語言的核心概念、語法、重要特性和開發(fā)方法,包含大量案例,實(shí)踐性強(qiáng)。
本書是一本可以指導(dǎo)程序員編寫健壯且可維護(hù)代碼的經(jīng)典教程和參考書。不論是使用Java SE 9、10還是11,本書都能幫助你深入理解這門語言及其API。書中提供了數(shù)百個(gè)示例程序,所有這些代碼都經(jīng)過精心設(shè)計(jì),不僅易于理解,也很容易實(shí)際應(yīng)用。
這一版做了全面更新,特別是示例的更新,反映了人們期待已久的Java模塊化特性,為讀者展示了如何編寫更易于管理和演進(jìn)的代碼。你會(huì)了解如何使用新的JShell的讀取-計(jì)算-打印循環(huán)(REPL)進(jìn)行快捷且更具探索性的開發(fā),以及應(yīng)用Process API、競(jìng)爭(zhēng)鎖定、日志和編譯的重大改進(jìn)。
在本卷中,作者全面深入地介紹了Java語言的基礎(chǔ)知識(shí)和UI編程,包括對(duì)象、泛型、集合、lambda表達(dá)式、Swing設(shè)計(jì)、并發(fā)和函數(shù)式編程。如果你是一個(gè)有經(jīng)驗(yàn)的程序員,正在轉(zhuǎn)向Java SE 9、10或11,要想獲得專家見解、解決方案和豐富的代碼,再?zèng)]有比這本書更好的資源了。
通過閱讀本書,你將:
●掌握編寫一流Java代碼的基本技術(shù)以及Java用法和*實(shí)踐
●充分利用接口、lambda表達(dá)式和內(nèi)部類的強(qiáng)大功能
● 通過有效的異常處理和調(diào)試使程序更堅(jiān)固
● 利用泛型編程編寫更安全、更可重用的代碼
● 利用Java的標(biāo)準(zhǔn)集合改善性能和效率
● 利用Swing工具包構(gòu)建跨平臺(tái)GUI
●使用Java改進(jìn)的并發(fā)特性充分利用多核處理器
如需了解Java高級(jí)UI特性、企業(yè)編程、網(wǎng)絡(luò)、安全和Java強(qiáng)大的模塊系統(tǒng)等內(nèi)容,請(qǐng)點(diǎn)擊上圖直達(dá)卷II*高級(jí)特性的購買鏈接。
致讀者
1995年年底,Java語言在Internet舞臺(tái)一亮相便名聲大噪。原因在于它將有望成為連接用戶與信息的萬能膠,而不論這些信息來自Web服務(wù)器、數(shù)據(jù)庫、信息提供商,還是任何其他可以想象的渠道。事實(shí)上,就發(fā)展前景而言,Java的地位是獨(dú)一無二的。它是一種完全可信賴的程序設(shè)計(jì)語言,并得到了廣泛認(rèn)可。其固有的可靠性與安全性不僅令Java程序員放心,也令使用Java程序的用戶放心。Java內(nèi)建了對(duì)網(wǎng)絡(luò)編程、數(shù)據(jù)庫連接和并發(fā)等高級(jí)程序設(shè)計(jì)任務(wù)的支持。
1995年以來,已經(jīng)發(fā)布了Java開發(fā)工具包(Java Development Kit)的11個(gè)主要版本。在過去的20年中,應(yīng)用程序編程接口(API)已經(jīng)從200個(gè)類擴(kuò)展到超過4000個(gè)類,F(xiàn)在這些API覆蓋了用戶界面構(gòu)建、數(shù)據(jù)庫管理、國際化、安全性以及XML處理等各個(gè)不同的領(lǐng)域。
本書是《Java核心技術(shù)》第11版的卷Ⅰ。自《Java核心技術(shù)》出版以來,每個(gè)新版本都盡可能快地跟上Java開發(fā)工具包發(fā)展的步伐,而且每一版都重新改寫了部分內(nèi)容,以便利用Java的最新特性。這一版經(jīng)過修訂,反映了Java 標(biāo)準(zhǔn)版(Java SE)9、10和11的特性。
與本書前幾版一樣,這一版仍然將讀者群定位為那些打算將Java應(yīng)用到實(shí)際工程項(xiàng)目中的程序設(shè)計(jì)人員。本書假設(shè)讀者是一名具有程序設(shè)計(jì)語言(除Java之外)堅(jiān)實(shí)背景知識(shí)的程序員,并且不希望書中充斥著玩具式的示例(諸如,烤面包機(jī)、動(dòng)物園的動(dòng)物或神經(jīng)質(zhì)的跳動(dòng)文本)。這些內(nèi)容絕對(duì)不會(huì)在本書中出現(xiàn)。本書的目標(biāo)是讓讀者充分理解書中介紹的Java語言及Java類庫的相關(guān)特性,而不會(huì)產(chǎn)生任何誤解。
在本書中,我們選用大量的示例代碼演示所討論的每一個(gè)語言特性和類庫特性。我們有意使用簡(jiǎn)單的示例程序以突出重點(diǎn),然而,其中的大部分既不是贗品也沒有偷工減料。它們將成為讀者自己編寫代碼的良好開端。
我們假定讀者愿意(甚至渴望)學(xué)習(xí)Java提供的所有高級(jí)特性。例如,本書將詳細(xì)介紹下列內(nèi)容:
面向?qū)ο蟪绦蛟O(shè)計(jì)
反射與代理
接口與內(nèi)部類
異常處理
泛型程序設(shè)計(jì)
集合框架
事件監(jiān)聽器模型
圖形用戶界面設(shè)計(jì)
并發(fā)
【關(guān)于本書】
第1章概述Java與其他程序設(shè)計(jì)語言不同的功能。解釋這種語言的設(shè)計(jì)初衷,以及在哪些方面達(dá)到了預(yù)期。然后,簡(jiǎn)要敘述Java誕生和發(fā)展的歷史。
第2章詳細(xì)論述如何下載和安裝JDK以及本書的程序示例。然后,通過編譯和運(yùn)行3個(gè)典型的Java程序(一個(gè)控制臺(tái)應(yīng)用、一個(gè)圖形應(yīng)用、一個(gè)applet),指導(dǎo)讀者使用簡(jiǎn)易的JDK、啟用Java的文本編輯器以及一個(gè)Java IDE。
第3章開始討論Java 語言。這一章涉及的基礎(chǔ)知識(shí)有變量、循環(huán)以及簡(jiǎn)單的函數(shù)。對(duì)于C或C 程序員來說,學(xué)習(xí)這一章的內(nèi)容將會(huì)感覺一帆風(fēng)順,因?yàn)檫@些語言特性的語法本質(zhì)上與C語言相同。對(duì)于沒有C語言程序設(shè)計(jì)背景,但使用過其他程序設(shè)計(jì)語言(如Visual Basic)的程序員來說,仔細(xì)閱讀這一章是非常必要的。
面向?qū)ο蟪绦蛟O(shè)計(jì)(Object-Oriented Programming,OOP)是當(dāng)今程序設(shè)計(jì)的主流,而Java是一種面向?qū)ο蟮恼Z言。
第4章將介紹面向?qū)ο髢纱蠡凶钪匾囊粋(gè)封裝概念,以及Java語言實(shí)現(xiàn)封裝的機(jī)制,即類與方法。除了Java語言規(guī)則之外,還對(duì)如何完成合理的OOP設(shè)計(jì)給出了忠告。最后,介紹奇妙的javadoc工具,它將代碼注釋轉(zhuǎn)換為一組包含超鏈接的網(wǎng)頁。熟悉C 的程序員可以快速地瀏覽這一章,而沒有面向?qū)ο蟪绦蛟O(shè)計(jì)背景的程序員在進(jìn)一步學(xué)習(xí)Java之前應(yīng)當(dāng)先花一些時(shí)間了解OOP的有關(guān)概念。
類與封裝僅僅是OOP中的一部分,第5章將介紹另一部分繼承。繼承使程序員可以使用現(xiàn)有的類,并根據(jù)需要進(jìn)行修改。這是Java程序設(shè)計(jì)中的一個(gè)基礎(chǔ)技術(shù)。Java中的繼承機(jī)制與C 的繼承機(jī)制十分相似。重申一次,C 程序員可以只關(guān)注兩種語言的不同之處。
第6章展示如何使用Java的接口。接口可以讓你的理解超越第5章中的簡(jiǎn)單繼承模型。掌握接口可以充分獲得Java的完全面向?qū)ο蟮某绦蛟O(shè)計(jì)能力。介紹接口之后,我們將轉(zhuǎn)而介紹lambda表達(dá)式(lambda expression),這是一種簡(jiǎn)潔的方法,用來表述可以在以后某個(gè)時(shí)間點(diǎn)執(zhí)行的代碼塊。本章還將介紹Java的一個(gè)有用的技術(shù)特性內(nèi)部類。
第7章討論異常處理(exception handling),這是Java的一種健壯機(jī)制,用于處理正常運(yùn)行的程序可能出現(xiàn)意外的情況。異常提供了一種將正常處理代碼與錯(cuò)誤處理代碼分開的有效手段。當(dāng)然,即使程序能夠處理所有異常條件,仍然有可能無法按照預(yù)計(jì)的方式工作。這一章的后半部分將給出大量實(shí)用的調(diào)試技巧。
第8章概要介紹泛型程序設(shè)計(jì)。泛型程序設(shè)計(jì)可以讓程序更可讀、更安全。我們會(huì)展示如何使用強(qiáng)類型機(jī)制,而舍棄不好看也不安全的強(qiáng)制類型轉(zhuǎn)換,以及如何處理與老版本Java兼容所帶來的復(fù)雜問題。
第9章討論的是Java平臺(tái)的集合框架。如果希望收集多個(gè)對(duì)象并在以后獲取這些對(duì)象,就應(yīng)當(dāng)使用集合,這是這種情況下最適用的做法,不要簡(jiǎn)單地把這些元素放在一個(gè)數(shù)組中。這一章會(huì)介紹如何充分利用內(nèi)建的標(biāo)準(zhǔn)集合。
第10章介紹GUI程序設(shè)計(jì)。我們會(huì)討論如何建立窗口、如何在窗口中繪圖、如何利用幾何圖形繪圖、如何采用多種字體格式化文本,以及如何顯示圖像。接下來你會(huì)了解如何編寫代碼來響應(yīng)事件,如鼠標(biāo)點(diǎn)擊事件或按鍵事件。
第11章詳細(xì)討論Swing GUI工具包。Swing工具包允許建立跨平臺(tái)的圖形用戶界面。在這里你會(huì)了解各種按鈕、文本組件、邊框、滑塊、列表框、菜單以及對(duì)話框的有關(guān)內(nèi)容。不過,一些更高級(jí)的組件會(huì)在卷Ⅱ中討論。
第12章是本書的最后一章,這一章將討論并發(fā),并發(fā)能夠讓程序任務(wù)并行執(zhí)行。在當(dāng)今這個(gè)時(shí)代,大多數(shù)處理器都有多個(gè)內(nèi)核,你通常希望這些內(nèi)核都在工作,并發(fā)是Java技術(shù)的一個(gè)重要而且令人振奮的應(yīng)用。
還有關(guān)于JavaFX的額外的一章,其中會(huì)給出JavaFX的簡(jiǎn)要介紹,這是開發(fā)桌面應(yīng)用的一個(gè)現(xiàn)代GUI工具包。