W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
[美] 赫伯特·希爾特(Herbert Schidt) 著,孫鴻飛 譯
2018年9月25日,Java 11(18.9 LTS)正式發(fā)布,支持期限至2026年9月。 JDK 11 更新了五大特性:
(1) 變量類(lèi)型推斷。通過(guò)定義局部變量var,自動(dòng)根據(jù)右邊的表達(dá)式推斷變量類(lèi)型。在開(kāi)發(fā)流程中提供了一定的便捷性。
(2) 擴(kuò)展字符串特性功能方法。在處理字符串的問(wèn)題上會(huì)更加方便、規(guī)范。
(3) 擴(kuò)展集合特性功能方法。集合(List/ Set/ Map)都添加了 of 和 copyOf 方法,成為不可變集合。之所以是不可變集合,是因?yàn)槭褂胦f 和copyOf 創(chuàng)建的集合不能進(jìn)行增、刪、改、排序等操作,不然系統(tǒng)會(huì)拋出異常。
(4) 更加簡(jiǎn)潔的編譯和運(yùn)行。只需要一個(gè)命令,全部搞定。
(5) HTTP Client API。其實(shí)HTTP Client API 早在Java 9 的時(shí)候就引入了,在Java 10 中不斷優(yōu)化更新,最終在Java 11 中正式發(fā)布。該API 用來(lái)在Java 程序中作為客戶(hù)端請(qǐng)求HTTP 服務(wù),Java 中服務(wù)端HTTP 的支持由servlet
實(shí)現(xiàn)。HTTP Client API 對(duì)大多數(shù)場(chǎng)景提供簡(jiǎn)單易用的阻塞模型,通過(guò)異步機(jī)制支持事件通知,完整支持HTTP協(xié)議的特性,支持建立WebSocket 握手,支持HTTP/2(包括協(xié)議升級(jí)和服務(wù)端推送),支持 HTTPS/TLS。和現(xiàn)有的其他實(shí)現(xiàn)類(lèi)庫(kù)相比,性能相當(dāng)或有提升,內(nèi)存占用少。
Java 并不是Z容易入手的開(kāi)發(fā)語(yǔ)言,根據(jù)這個(gè)特性,《Java 11官方參考手冊(cè)(第11版)》精心編排,優(yōu)先講解Java 語(yǔ)言的基礎(chǔ)知識(shí),再講解Java 的各種庫(kù),最后介紹Java 的GUI 編程和應(yīng)用,以求用最易懂的方式、最精簡(jiǎn)的語(yǔ)句、最充實(shí)的內(nèi)容向讀者介紹Java。這些豐富的內(nèi)容包含了Java 語(yǔ)言基礎(chǔ)語(yǔ)法以及高級(jí)特性,適合各個(gè)層次的Java 程序員閱讀,也是高等院校講授面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言以及Java 語(yǔ)言的J佳教材和參考書(shū)。
《Java 11官方參考手冊(cè)(第11版)》針對(duì)Java SE 11做了全面更新,介紹如何開(kāi)發(fā)、編譯、調(diào)試和運(yùn)行Java程序。該書(shū)由暢銷(xiāo)書(shū)作者HerbertSchildt撰寫(xiě),涵蓋Java語(yǔ)言的方方面面,包括Java 的語(yǔ)法、關(guān)鍵字、基本編程原則。此外,該書(shū)還介紹Java API庫(kù)的關(guān)鍵元素(如I/O、集合框架、流庫(kù)和并發(fā)實(shí)用工具等),分析Swing、Java Bean和servlet,并通過(guò)大量真實(shí)案例演示Java語(yǔ)言在編程中的實(shí)際應(yīng)用,深入講解極其重要的模塊系統(tǒng),并在最后介紹Java的交互式編程工具——JShell。重要的是,全書(shū)講解清晰,簡(jiǎn)明扼要;Herbert的這種寫(xiě)作風(fēng)格使其著作備受全球數(shù)百萬(wàn)讀者的青睞。
赫伯特·希爾特(Herbert Schidt)是ava語(yǔ)言專(zhuān)家、暢銷(xiāo)書(shū)作家。三十多年來(lái),Herbert撰寫(xiě)的程序設(shè)計(jì)圖書(shū)在全球的銷(xiāo)量達(dá)數(shù)百萬(wàn)冊(cè),并被翻譯成多種語(yǔ)言。Herbert已撰寫(xiě)大量關(guān)于Java、C++、C和c#編程語(yǔ)言的書(shū)籍和文章,包括《Java 11官方入門(mén)教程(第8版)》等。Herbert對(duì)計(jì)算機(jī)的各個(gè)方面充滿(mǎn)興趣,其中投入精力多的是計(jì)算機(jī)語(yǔ)言,尤其是計(jì)算機(jī)語(yǔ)言的標(biāo)準(zhǔn)化。Herbert是ANSI/ISO委員會(huì)的成員,參與了1989年C語(yǔ)言的標(biāo)準(zhǔn)化和1 998年C++的標(biāo)準(zhǔn)化工作,以及201 1年C++標(biāo)準(zhǔn)的更新。Herbert擁有伊利諾伊大學(xué)的學(xué)士和碩士學(xué)位。他的個(gè)人網(wǎng)站為WWW.HerbSchildt.com。
Java是當(dāng)今世界最重要,也是使用最廣泛的計(jì)算機(jī)語(yǔ)言之一。而且,在多年之前它就已經(jīng)擁有這一榮譽(yù)。與其他一些計(jì)算機(jī)語(yǔ)言隨著時(shí)間的流逝影響也逐漸減弱不同,Java隨著時(shí)間的推移反而變得更加強(qiáng)大。從首次發(fā)布開(kāi)始,Java就躍到了Intemet編程的前沿。后續(xù)的每一個(gè)版本都進(jìn)一步鞏固了這一地位。如今,Java依然是開(kāi)發(fā)Web應(yīng)用的最佳選擇。Java是一門(mén)功能強(qiáng)大且通用的編程語(yǔ)言,適合于多種目的的開(kāi)發(fā)。簡(jiǎn)言之,在現(xiàn)實(shí)世界中,很多應(yīng)用都是使用Java開(kāi)發(fā)的,掌握J(rèn)ava語(yǔ)言非常重要。
Java成功的一個(gè)關(guān)鍵原因在于它的敏捷性。自從最初的Java l.0版發(fā)布以來(lái),Java不斷地進(jìn)行完善以適應(yīng)編程環(huán)境和開(kāi)發(fā)人員編程方式的變化。最重要的是,Java不僅是在跟隨潮流,更是在幫助創(chuàng)造潮流。Java能夠適應(yīng)計(jì)算機(jī)世界快速變化的能力,是它一直成功并且仍將成功的關(guān)鍵因素?!禞ava官方參考手冊(cè)》自從1996年首次出版以來(lái),已經(jīng)經(jīng)歷了數(shù)次改版,每次改版都反映了Java的不斷演化進(jìn)程。《Java 11官方參考手冊(cè)(第11版)》已經(jīng)針對(duì)Java SE 11(JDK 11)進(jìn)行了升級(jí)。因此,本書(shū)的這個(gè)版本包含了大量的新材料、更新和更改。特別令人感興趣的是討論自本書(shū)上一版以來(lái)添加到Java中的兩個(gè)關(guān)鍵特性。第一個(gè)是局部變量類(lèi)型推斷,因?yàn)樗?jiǎn)化了某些類(lèi)型的局部變量聲明。為了支持局部變量類(lèi)型推斷,在語(yǔ)言中添加了上下文敏感的保留類(lèi)型名稱(chēng)var。第二個(gè)關(guān)鍵的Java新特性是從JDK 10開(kāi)始,對(duì)版本號(hào)進(jìn)行重新處理,以反映預(yù)期更快的發(fā)布周期。如第1章所述,Java特性現(xiàn)在預(yù)計(jì)每六個(gè)月發(fā)布一次。這一點(diǎn)很重要,因?yàn)楝F(xiàn)在可以用比過(guò)去更快的速度向Java添加新特性。
雖然在本書(shū)的前一版中已經(jīng)介紹了,但是最近添加的兩個(gè)Java特性仍然對(duì)Java程序員產(chǎn)生了很大影響。第一個(gè)新增特性是模塊(module),通過(guò)該特性可以指定應(yīng)用程序中代碼間的關(guān)系和依賴(lài)性。JDK 9增加的模塊代表對(duì)Java語(yǔ)言最具深遠(yuǎn)意義的更改之一,例如它添加了10個(gè)與上下文相關(guān)的關(guān)鍵字。模塊還對(duì)Java API庫(kù)產(chǎn)生了巨大影響,因?yàn)榘F(xiàn)在組織到模塊中。另外,為了支持模塊,新增了一些工具,對(duì)現(xiàn)有的工具也進(jìn)行了更新,還定義了新的文件格式。由于模塊是一個(gè)非常重要的新特性,因此本書(shū)的第16章專(zhuān)門(mén)對(duì)其進(jìn)行了講解。
第二個(gè)新增的特性是JShell,該工具提供了一個(gè)交互式環(huán)境,開(kāi)發(fā)人員不需要編寫(xiě)完整的程序就可以方便地在其中體驗(yàn)代碼片段。不管是初學(xué)者還是有經(jīng)驗(yàn)的編程人員都將發(fā)現(xiàn)該工具非常有用。本書(shū)的附錄B對(duì)該工具進(jìn)行了介紹。一本適合所有編程人員的書(shū)
本書(shū)面向所有開(kāi)發(fā)人員,不管是初學(xué)者還是有經(jīng)驗(yàn)的編程人員。初學(xué)者將從本書(shū)中發(fā)現(xiàn)每個(gè)主題的詳細(xì)討論,以及許多特別有幫助的例子。而對(duì)Java更高級(jí)特性和庫(kù)的深入討論,將會(huì)吸引有經(jīng)驗(yàn)的編程人員。無(wú)論是對(duì)于初學(xué)者還是有經(jīng)驗(yàn)的編程人員,本書(shū)都提供了持久的資源和方便實(shí)用的參考。
本書(shū)內(nèi)容
本書(shū)是對(duì)Java語(yǔ)言的全面指導(dǎo),描述了它的語(yǔ)法、關(guān)鍵字以及基本的編程原則,還介紹了Java API庫(kù)的重要部分。本書(shū)分為4部分,每部分關(guān)注Java開(kāi)發(fā)環(huán)境的不同方面?! 〉冖癫糠质菍?duì)Java語(yǔ)言的深入闡述。該部分從基礎(chǔ)知識(shí)開(kāi)始講解,包括數(shù)據(jù)類(lèi)型、運(yùn)算符、控制語(yǔ)句以及類(lèi)等。然后介紹繼承、包、接口、異常處理以及多線程,還介紹注解、枚舉、自動(dòng)裝箱、泛型、I/O以及l(fā)ambda表達(dá)式等內(nèi)容。該部分最后一章闡述了模塊。
第Ⅱ部分介紹Java的標(biāo)準(zhǔn)API庫(kù)的關(guān)鍵內(nèi)容。該部分的主題包括字符串、I/O、網(wǎng)絡(luò)、標(biāo)準(zhǔn)實(shí)用工具、集合框架、AWT、事件處理、圖像、并發(fā)編程(包括Fork/Join框架)、正則表達(dá)式和流庫(kù)。
第Ⅲ部分用三章內(nèi)容介紹Swing。
第Ⅳ部分包含兩章,這兩章展示了Java的實(shí)際應(yīng)用。該部分首先介紹Java Bean,然后介紹servlet。致謝
在此我要特別感謝Patrick Naughton,Joe O'Neil和Danny Coward。
Patrick Naughton是Java語(yǔ)言的創(chuàng)立者之一,他還參與編寫(xiě)了本書(shū)的第1版。本書(shū)第21、23和27章的大部分材料最初都是由Patrick提供的,他的洞察力、專(zhuān)業(yè)知識(shí)和活力都對(duì)本書(shū)的成功付梓貢獻(xiàn)極大。
在準(zhǔn)備本書(shū)的第2版和第3版的過(guò)程中,Joe O'Neil提供了原始素材,這些素材呈現(xiàn)在本書(shū)的第30、32、34和35章中。Joe對(duì)我的數(shù)本書(shū)都有幫助,并且他提供的幫助一直都是最高質(zhì)量的。
Danny Coward是本書(shū)第11版的技術(shù)編輯。Danny對(duì)我的數(shù)本書(shū)都有貢獻(xiàn),他的忠告、洞察力和建議都有巨大價(jià)值,對(duì)此表示感謝。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話(huà):173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: