Java開(kāi)發(fā)技術(shù)大全

出版時(shí)間:2009-2  出版社:清華大學(xué)出版社  作者:劉新  頁(yè)數(shù):889  字?jǐn)?shù):1423000  
Tag標(biāo)簽:無(wú)  

前言

  Java是目前最為流行的程序開(kāi)發(fā)語(yǔ)言。作為一種完全的面向?qū)ο蟮恼Z(yǔ)言,它吸取了其他語(yǔ)言的各種優(yōu)點(diǎn),設(shè)計(jì)簡(jiǎn)潔而優(yōu)美,使用起來(lái)方便而高效,是一門(mén)典型的門(mén)檻低而天花板高的語(yǔ)言。既像Basic那樣易于入門(mén),又像C/C++那樣具有強(qiáng)大的實(shí)際應(yīng)用能力。而且與其他純粹的語(yǔ)言不同,Java其實(shí)是一個(gè)完整的技術(shù)平臺(tái),這也就決定了學(xué)習(xí)Java和其他語(yǔ)言的一些區(qū)別?! ∈忻嫔辖榻BJava的書(shū)籍很多,既包括了國(guó)外的經(jīng)典名著,也包括了國(guó)內(nèi)各種各樣的教學(xué)書(shū)籍,但真正適合大學(xué)計(jì)算機(jī)本科專(zhuān)業(yè)教學(xué)以及普通程序員自己學(xué)習(xí)的書(shū)籍卻很少。國(guó)外名著由于知識(shí)背景的差異、作者的思維方式總是和中國(guó)讀者有一定的距離,因此剛?cè)腴T(mén)的讀者無(wú)法領(lǐng)略其中的精妙。而大多數(shù)的一般教學(xué)書(shū)籍,則將Java當(dāng)作純粹的語(yǔ)言來(lái)教學(xué),忽視了它作為一個(gè)應(yīng)用平臺(tái)的強(qiáng)大威力,讀者看了之后,難免會(huì)誤會(huì)Java不過(guò)是一個(gè)精簡(jiǎn)版的C++?! ∽髡咴诙嗄甑慕虒W(xué)過(guò)程中,深感需要編寫(xiě)一本能夠既能讓初學(xué)者快速入門(mén),又能真正利用Java進(jìn)行軟件開(kāi)發(fā)的指導(dǎo)性書(shū)籍。大概從3年前起,作者就萌生了自己編寫(xiě)教程的想法,而真正付諸實(shí)施,則花了整整7個(gè)月的時(shí)間。作者在自己平時(shí)所用課件的基礎(chǔ)上,進(jìn)行了大量的增改,終于編寫(xiě)出了本書(shū)。本書(shū)以教程的形式深入淺出、由易到難地介紹了有關(guān)J2SE平臺(tái)下的常用開(kāi)發(fā)技術(shù),每個(gè)知識(shí)點(diǎn)和技術(shù)都采用了例程講解為主、理論分析為輔的方式進(jìn)行介紹。  本書(shū)假設(shè)讀者沒(méi)有任何的編程經(jīng)驗(yàn),舉例時(shí)也盡量避免復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和算法設(shè)計(jì)。每個(gè)例子都著重于Java知識(shí)點(diǎn)本身,盡量淺顯易懂,不涉及其他的知識(shí)。對(duì)于初學(xué)者易犯的錯(cuò)誤,都有明顯的提示。為了讓讀者養(yǎng)成良好的編程習(xí)慣,本書(shū)的程序代碼均按照軟件工程規(guī)范來(lái)編寫(xiě)。全書(shū)配合了大量的程序示例、實(shí)用程序、圖例及代碼說(shuō)明,所有例程作者均仔細(xì)調(diào)試過(guò),確保準(zhǔn)確無(wú)誤?! ∽髡吒鶕?jù)多年的Java教學(xué)經(jīng)驗(yàn),總結(jié)出Java初學(xué)者最需要的知識(shí)以及正確的學(xué)習(xí)方法,幫助讀者以最少的時(shí)間獲取最大的收益。本書(shū)特別適合于自學(xué),也可作為計(jì)算機(jī)、軟件工程專(zhuān)業(yè)的教材,本書(shū)的高級(jí)部分也適合作為Java程序員的參考用書(shū)?! ”緯?shū)的特色  本書(shū)不僅包含了Java的基礎(chǔ)部分知識(shí),也對(duì)它的高級(jí)技術(shù)和實(shí)用技術(shù)做了詳細(xì)的介紹。本書(shū)是根據(jù)作者多年的教學(xué)經(jīng)驗(yàn)和軟件開(kāi)發(fā)經(jīng)驗(yàn)總結(jié)出來(lái)的,將知識(shí)范圍鎖定在了適合初級(jí)、中級(jí)的部分。本書(shū)以大量的實(shí)例進(jìn)行示范和解說(shuō),其特點(diǎn)主要體現(xiàn)在以下幾個(gè) 方面?! ? 本書(shū)的編排采用循序漸進(jìn)的方式,使得初級(jí)、中級(jí)學(xué)者逐步掌握復(fù)雜的編程技術(shù)?! ? 本書(shū)采用了大量的示例,講述Java中的基本知識(shí)點(diǎn)。并且盡量使這些示例簡(jiǎn)潔規(guī)范,讓讀者能專(zhuān)心于知識(shí)點(diǎn)上,而不被其他事物所干擾?! ? 本書(shū)提供了相當(dāng)多的實(shí)例,它們都具有實(shí)際的意義,著重解決工作中的實(shí)際問(wèn)題。  * 對(duì)于有特點(diǎn)的實(shí)例進(jìn)行詳細(xì)的解釋和分析,幫助讀者理解和模擬實(shí)踐?! ? 對(duì)于學(xué)習(xí)和編程中經(jīng)常遇到的問(wèn)題以及需要注意的關(guān)鍵點(diǎn)予以特別提示?! ? 按遞進(jìn)關(guān)系進(jìn)行章節(jié)組織,介紹新知識(shí)點(diǎn)時(shí)與已學(xué)知識(shí)點(diǎn)相互比較,易于讀者  理解?! ? 本書(shū)采用技術(shù)要點(diǎn)、詳細(xì)介紹、運(yùn)行效果等多種方式進(jìn)行講解,系統(tǒng)性強(qiáng)、可讀性強(qiáng)?! ”緯?shū)的內(nèi)容安排  本書(shū)共分為8篇,先是講述了Java的基本語(yǔ)法,然后介紹了面向?qū)ο蟮木幊趟枷?,再介紹Java中的一些高級(jí)技術(shù)。隨后,進(jìn)入到實(shí)際編程階段,先后介紹了GUI程序設(shè)計(jì)、數(shù)據(jù)庫(kù)和網(wǎng)絡(luò)程序設(shè)計(jì),最后提供了一個(gè)完整的即時(shí)通訊軟件設(shè)計(jì)實(shí)例,讓讀者能夠從實(shí)例中學(xué)習(xí)程序設(shè)計(jì)的真諦?! 〉?篇(第1章~第2章)首先全面介紹了Java的運(yùn)行開(kāi)發(fā)環(huán)境。其中詳細(xì)講解了JDK的安裝和配置,如何使用UltraEdit來(lái)編輯一個(gè)Java源程序,以及如何編譯和運(yùn)行Java程序。第2章介紹了Java的基礎(chǔ)知識(shí),包括數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式、流程控制等。最后以幾個(gè)實(shí)例來(lái)引導(dǎo)讀者步入程序設(shè)計(jì)的大門(mén)。這一篇是整個(gè)Java程序設(shè)計(jì)的基礎(chǔ)?! 〉?篇(第3章~第4章)介紹了如何使用Java來(lái)進(jìn)行面向?qū)ο蟮某绦蛟O(shè)計(jì)。包括對(duì)象和類(lèi)的成員定義與使用、單繼承和多重繼承、運(yùn)行時(shí)多態(tài)、接口、內(nèi)部類(lèi)、包等。本篇是Java的精華?! 〉?篇(第5章~第7章)介紹了Java中的數(shù)據(jù)處理。首先介紹了Java中的兩個(gè)特殊類(lèi):數(shù)組和字符串。然后介紹了Java中的異常處理機(jī)制。最后介紹了輸入和輸出,包括標(biāo)準(zhǔn)設(shè)備的輸入和輸出以及文件的處理。學(xué)完本篇,已經(jīng)可以編寫(xiě)一些實(shí)用程序了?! 〉?篇(第8章~第13章)介紹了Java中的高級(jí)技術(shù),這些包括多線程、RTTI、泛型、集合、類(lèi)型包裝以及實(shí)用工具類(lèi)等。這些內(nèi)容是編寫(xiě)復(fù)雜實(shí)用程序的基礎(chǔ)。使用這些高級(jí)技術(shù),可以大大降低編程的繁瑣程度和難度?! 〉?篇(第14章~第15章)介紹了普通窗口程序和多媒體程序的編寫(xiě)。GUI是目前最為流行的程序界面,但這類(lèi)程序的編制比普通控制臺(tái)程序要復(fù)雜一些。本篇詳細(xì)介紹了和GUI有關(guān)的事件、布局管理以及各種組件的使用。并通過(guò)大量的實(shí)例來(lái)介紹如何編寫(xiě)一個(gè)實(shí)用的桌面程序,以及編程中的常用技巧和應(yīng)該要注意的問(wèn)題。在多媒體程序設(shè)計(jì)中,則著重介紹了各種文字、圖像、聲音、視頻的處理。在編程中,應(yīng)盡量使用Java自己提供的類(lèi),以降低編程的難度?! 〉?篇(第16章~第17章)介紹了數(shù)據(jù)庫(kù)程序設(shè)計(jì)。數(shù)據(jù)庫(kù)編程是Java的一個(gè)重要應(yīng)用方面。本篇先介紹一般性的數(shù)據(jù)庫(kù)理論,主要是SQL語(yǔ)句的使用。然后詳細(xì)介紹了如何使用Java中的各種類(lèi)來(lái)處理數(shù)據(jù)庫(kù),并提供了一個(gè)實(shí)例說(shuō)明編寫(xiě)數(shù)據(jù)庫(kù)程序與普通程序的一些差別。  第7篇(第18章~第19章)介紹了網(wǎng)絡(luò)程序設(shè)計(jì)。首先介紹一般的C/S模式的網(wǎng)絡(luò)程序設(shè)計(jì),主要是利用Socket進(jìn)行網(wǎng)絡(luò)通訊。隨后介紹了JSP程序設(shè)計(jì),這是Java應(yīng)用的又一重要領(lǐng)域。另外,本篇提供了5個(gè)實(shí)例來(lái)說(shuō)明JSP程序設(shè)計(jì)中應(yīng)該注意的一些      問(wèn)題?! 〉?篇(第20章~22章)是一個(gè)完整的即時(shí)通訊軟件。它綜合使用了Java中的桌面程序設(shè)計(jì)、圖像處理、數(shù)據(jù)庫(kù)處理以及網(wǎng)絡(luò)通訊中的各種技術(shù),是對(duì)Java技術(shù)的一個(gè)全面應(yīng)用。通過(guò)這個(gè)軟件,讀者可以領(lǐng)略到Java的強(qiáng)大實(shí)用能力。  適合閱讀本書(shū)的讀者  * 沒(méi)有任何編程基礎(chǔ)的計(jì)算機(jī)專(zhuān)業(yè)學(xué)生。  * 具備一定自學(xué)能力的Java編程愛(ài)好者。  * 利用Swing開(kāi)發(fā)桌面程序的Java程序員?! ? 進(jìn)行JSP網(wǎng)站開(kāi)發(fā)的人員?! ? 使用C/S模式設(shè)計(jì)網(wǎng)絡(luò)程序的Java程序員?! ? 想了解Java中高級(jí)技術(shù)的其他人員。  * Java語(yǔ)言的教學(xué)人員。  本書(shū)作者  本書(shū)由劉新主筆編寫(xiě)。其他參與編寫(xiě)和資料整理的人員有苑令軒、王征、陳冠軍、王石、程彩紅、姜海英、邵毅、張路平、李臻、武勇、徐寧、劉玉珊、麻雪、趙建領(lǐng)、陳剛、吝曉寧、范永龍、姚志娟、趙盟、傅靖、李佳、徐磊、劉丹、肖冰、陳杰、王行恒、馮浩楠、紀(jì)超、段桂東、顏盟盟、黃寶生、張珍珍、石淑珍、陳超、牛曉輝、劉聰、任瀟、商斌、張雙、于志華、李秀勁、李勝美、蔡文仙、杜陽(yáng)陽(yáng)、吳興亮、陳水望、黃任楨、梅婷婷、皇波、白雪蛟、陳浩然、許程程、鞏長(zhǎng)宇、黃金亮、姜艷超、李軍、李慶、彭志林、王志娟、武娜、尹成業(yè)等。在此一并表示感謝。

內(nèi)容概要

Java是目前最為流行的程序設(shè)計(jì)語(yǔ)言。本書(shū)以J2SE為平臺(tái)全面介紹了Java的基礎(chǔ)知識(shí)和常用技術(shù)?!禞ava開(kāi)發(fā)技術(shù)大全》共分為8篇,首先講述了Java的基礎(chǔ)語(yǔ)法,然后介紹了Java中類(lèi)和對(duì)象的實(shí)現(xiàn),這也是Java的核心所在。隨后介紹了Java中的高級(jí)技術(shù),詳細(xì)討論了其中的多線程、集合、泛型、RTTI等。這些基本知識(shí)介紹完畢之后,就進(jìn)入到實(shí)際編程階段,先后介紹了GUI程序設(shè)計(jì)、多媒體程序設(shè)計(jì)、數(shù)據(jù)庫(kù)和網(wǎng)絡(luò)程序設(shè)計(jì),這些知識(shí)均以示例程序來(lái)講解。最后提供了一個(gè)完整的即時(shí)通訊軟件設(shè)計(jì)實(shí)例,讓讀者能夠從實(shí)例中學(xué)習(xí)程序設(shè)計(jì)的真諦?! ”緯?shū)內(nèi)容全面,實(shí)例豐富,特別適合于自學(xué)者。本書(shū)可作為計(jì)算機(jī)、軟件工程專(zhuān)業(yè)的教材,也可作為Java程序員參考手冊(cè)。

作者簡(jiǎn)介

劉新,獲得計(jì)算機(jī)軟件與理論專(zhuān)業(yè)碩士,現(xiàn)為湘潭大學(xué)信息工程學(xué)院教師,副教授。從事計(jì)算機(jī)專(zhuān)業(yè)教學(xué)11年。主要講授《Java程序設(shè)計(jì)語(yǔ)言》、《Java應(yīng)用技術(shù)》、《C語(yǔ)言程序設(shè)計(jì)》、《數(shù)據(jù)結(jié)構(gòu)》、《算法設(shè)計(jì)與分析》等專(zhuān)業(yè)課程。先后參與過(guò)10多個(gè)系統(tǒng)的開(kāi)發(fā)工作,其中包括解放軍

書(shū)籍目錄

第1篇 Java基礎(chǔ)知識(shí)入門(mén)  第1章 Java的開(kāi)發(fā)運(yùn)行環(huán)境    1.1 Java的運(yùn)行環(huán)境與虛擬機(jī)    1.2 Java的開(kāi)發(fā)環(huán)境    1.2.1 JDK的安裝    1.2.2 如何設(shè)置系統(tǒng)環(huán)境變量    1.2.3 編譯命令的使用    1.2.4 解釋執(zhí)行命令的使用    1.2.5 UltraEdit的使用   1.3 一個(gè)簡(jiǎn)單的Java應(yīng)用程序   1.4 一個(gè)簡(jiǎn)單的Java小程序   1.5 本章小結(jié)  第2章 Java語(yǔ)言基礎(chǔ)   2.1 Java語(yǔ)言的特?  2.2 Java程序的構(gòu)成   2.3 數(shù)據(jù)類(lèi)型    2.3.1 基本數(shù)據(jù)類(lèi)型    2.3.2 常量   2.3.3  變量   2.3.4  整型數(shù)據(jù)   2.3.5  浮點(diǎn)型數(shù)據(jù)   2.3.6  字符型數(shù)據(jù)   2.3.7  布爾型數(shù)據(jù)   2.3.8  變量賦初值   2.3.9  變量的作用域   2.3.10  數(shù)據(jù)類(lèi)型轉(zhuǎn)換  2.4  運(yùn)算符與表達(dá)式   2.4.1  算術(shù)運(yùn)算符和算術(shù)表達(dá)式   2.4.2  關(guān)系運(yùn)算符和關(guān)系表達(dá)式   2.4.3  邏輯運(yùn)算符和邏輯表達(dá)式   2.4.4  條件運(yùn)算符和條件表達(dá)式   2.4.5  位運(yùn)算符和位運(yùn)算表達(dá)式   2.4.6  賦值運(yùn)算符和賦值表達(dá)式   2.4.7  表達(dá)式的求值順序  2.5  流程控制語(yǔ)句   2.5.1  三種基本控制結(jié)構(gòu)   2.5.2  表達(dá)式語(yǔ)句和空語(yǔ)句   2.5.3  塊語(yǔ)句   2.5.4  if~else分支語(yǔ)句   2.5.5  多路分支switch~case語(yǔ)句   2.5.6  當(dāng)型循環(huán)while語(yǔ)句   2.5.7  直到型循環(huán)do~while語(yǔ)句   2.5.8  當(dāng)型循環(huán)for語(yǔ)句   2.5.9  循環(huán)的嵌套   2.5.10  跳轉(zhuǎn)語(yǔ)句break   2.5.11  跳轉(zhuǎn)語(yǔ)句continue  2.6  程序文本的風(fēng)格   2.6.1  注釋   2.6.2  程序的格式編排  2.7  基礎(chǔ)語(yǔ)法實(shí)戰(zhàn)演習(xí)   2.7.1  判斷閏年   2.7.2  求最大公約數(shù)和最小公倍數(shù)   2.7.3  Fibonacci數(shù)列   2.7.4  逆向輸出數(shù)字   2.7.5  求水仙花數(shù)   2.7.6  輸出圖形   2.7.7  輸出九九口訣表  2.8  本章小結(jié)第2篇  Java面向?qū)ο缶幊獭〉?章  對(duì)象和類(lèi)  3.1  面向?qū)ο蟮幕靖拍睢  ?.1.1  對(duì)象   3.1.2  類(lèi)   3.1.3  消息   3.1.4  面向?qū)ο蟮?個(gè)基本特征  3.2  類(lèi)與對(duì)象   3.2.1  類(lèi)的基本結(jié)構(gòu)   3.2.2  類(lèi)的聲明   3.2.3  創(chuàng)建類(lèi)體   3.2.4  對(duì)象的生命周期   3.2.5  對(duì)象的創(chuàng)建   3.2.6  對(duì)象的使用   3.2.7  對(duì)象的釋放和垃圾收集機(jī)制  3.3  成員變量的定義與使用   3.3.1  成員變量的定義   3.3.2  成員變量的訪問(wèn)權(quán)限   3.3.3  實(shí)例成員變量和靜態(tài)成員變量  3.4  方法的定義和實(shí)現(xiàn)   3.4.1  方法的聲明   3.4.2  創(chuàng)建方法體與return語(yǔ)句   3.4.3  局部變量和成員變量的區(qū)別   3.4.4  方法的訪問(wèn)權(quán)限   3.5  方法的調(diào)用   3.5.1  方法調(diào)用的形式   3.5.2  方法調(diào)用的參數(shù)   3.5.3  隱含參數(shù)this  3.6  構(gòu)造方法   3.6.1  無(wú)參數(shù)構(gòu)造方法的定義和使用   3.6.2  帶參數(shù)構(gòu)造方法的定義和使用   3.6.3  this關(guān)鍵字和構(gòu)造方法的調(diào)用  3.7  靜態(tài)方法   3.7.1  靜態(tài)方法的聲明和定義   3.7.2  靜態(tài)方法和實(shí)例方法的區(qū)別   3.7.3  靜態(tài)代碼塊   3.7.4  再論靜態(tài)成員變量  3.8  main()方法和命令行參數(shù)  3.9  結(jié)束方法  3.10  本地方法  3.11  本章小結(jié) 第4章  繼承與多態(tài)  4.1  繼承的基本原理  4.2  子類(lèi)對(duì)父類(lèi)的繼承  4.3  屬性隱藏和方法的覆蓋   4.3.1  屬性的隱藏   4.3.2  方法的覆蓋  4.4  構(gòu)造方法的繼承  4.5  super的使用   4.5.1  用super引用父類(lèi)的成員   4.5.2  使用super調(diào)用父類(lèi)的構(gòu)造方法  4.6  繼承的內(nèi)部處理  4.7  多態(tài)的基本概念  4.8  重載   4.8.1  普通方法的重載   4.8.2  構(gòu)造方法的重載   4.8.3  重載的解析   4.8.4  重載與覆蓋的區(qū)別  4.9  運(yùn)行時(shí)多態(tài)   4.9.1  實(shí)例方法的運(yùn)行時(shí)多態(tài)   4.9.2  成員變量運(yùn)行時(shí)的表現(xiàn)   4.9.3  靜態(tài)方法運(yùn)行時(shí)的表現(xiàn)  4.10  抽象類(lèi)與抽象方法   4.10.1  抽象方法的聲明   4.10.2  抽象類(lèi)的定義   4.10.3  抽象方法與回調(diào)函數(shù)  4.11  最終類(lèi)與最終方法  4.12  接口與多重繼承   4.12.1  接口的定義   4.12.2  接口的繼承   4.12.3  接口的實(shí)現(xiàn)  4.13  內(nèi)部類(lèi)   4.13.1  內(nèi)部類(lèi)的定義   4.13.2  內(nèi)部類(lèi)訪問(wèn)外部類(lèi)的成員   4.13.3  內(nèi)部類(lèi)之間的相互使用   4.13.4  在外部使用內(nèi)部類(lèi)   4.13.5  匿名內(nèi)部類(lèi)   4.13.6  內(nèi)部類(lèi)的作用  4.14  包   4.14.1  包的創(chuàng)建   4.14.2  包的使用   4.14.3  JAR文件的創(chuàng)建和使用   4.14.4  JDK中的常用包  4.15  本章小結(jié)第3篇  Java數(shù)據(jù)處理 第5章  數(shù)組與字符串  5.1  數(shù)組   5.1.1  一維數(shù)組的聲明   5.1.2  一維數(shù)組的創(chuàng)建   5.1.3  一維數(shù)組的使用   5.1.4  二維數(shù)組的聲明   5.1.5  二維數(shù)組的創(chuàng)建   5.1.6  二維數(shù)組的使用   5.1.7  for~each循環(huán)   5.1.8  應(yīng)用程序示例1——數(shù)組排序   5.1.9  應(yīng)用程序示例2——楊輝三角  5.2  字符串   5.2.1  String對(duì)象的聲明   5.2.2  String對(duì)象的創(chuàng)建   5.2.3  String對(duì)象的使用   5.2.4  String類(lèi)型的數(shù)組   5.2.5  StringBuffer對(duì)象的聲明   5.2.6  StringBuffer對(duì)象的創(chuàng)建   5.2.7  StringBuffer對(duì)象的使用  5.3  本章小結(jié) 第6章  Java的異常處理  6.1  異常的基本概念和作用  6.2  Java的異常處理機(jī)制  6.3  異常類(lèi)的層次結(jié)構(gòu)   6.3.1  運(yùn)行時(shí)異?!  ?.3.2  檢查型異?!  ?.3.3  自定義異常  6.4  捕獲和處理異?! ?.5  拋出異常  6.6  try-catch-finally語(yǔ)句的嵌套  6.7  用戶自定義異?! ?.8  使用異常來(lái)實(shí)現(xiàn)鍵盤(pán)輸入  6.9  本章小結(jié) 第7章  Java的輸入和輸出  7.1  文件和輸入輸出流  7.2  InputStream類(lèi)和OutputStream類(lèi)的使用   7.2.1  InputStream中的方法   7.2.2  OutputStream中的方法   7.2.3  文件輸入流FileInputStream   7.2.4  文件輸出流FileOutputStream   7.2.5  保存用戶輸入到文件   7.2.6  顯示文件內(nèi)容   7.2.7  文件的復(fù)制   7.2.8  順序輸入流   7.2.9  管道輸入輸出流   7.2.10  過(guò)濾輸入輸出流  7.3  Reader和Writer類(lèi)使用   7.3.1  InputStreamReader類(lèi)中的方法   7.3.2  OutputStreamWriter類(lèi)中的方法   7.3.3  從鍵盤(pán)輸入   7.3.4  文件復(fù)制  7.4  文件屬性處理   7.4.1  File類(lèi)中的方法   7.4.2  File類(lèi)使用示例——文件列表  7.5  隨機(jī)訪問(wèn)文件   7.5.1  RandomAccessFile類(lèi)中的方法   7.5.2  RandomAccessFile類(lèi)使用示例——文件加密  7.6  控制臺(tái)輸入和輸出   7.6.1  控制臺(tái)輸入類(lèi)Scanner   7.6.2  格式化輸出printf.  7.7  序列化  7.8  本章小結(jié)第4篇  Java中的高級(jí)技術(shù) 第8章  Java的多線程機(jī)制  8.1  線程的概念   8.1.1  多線程的特點(diǎn)   8.1.2  線程的狀態(tài)  8.2  Thread類(lèi)   8.2.1  Thread類(lèi)的構(gòu)造方法   8.2.2  Thread類(lèi)的常用方法  8.3  多線程程序的編寫(xiě)   8.3.1  利用Thread的子類(lèi)創(chuàng)建線程   8.3.2  實(shí)現(xiàn)Runnable接口創(chuàng)建線程   8.3.3  使用isAlive()和join()等待子線程結(jié)束   8.3.4  設(shè)置線程優(yōu)先級(jí)  8.4  線程的通信與協(xié)調(diào)   8.4.1  線程的互斥   8.4.2  線程的同步   8.4.3  暫停、恢復(fù)和停止線程   8.4.4  生產(chǎn)者-消費(fèi)者問(wèn)題實(shí)例  8.5  本章小結(jié) 第9章  運(yùn)行時(shí)類(lèi)型識(shí)別 第10章  泛型 第11章  集合 第12章  類(lèi)型包裝器、自動(dòng)裝箱和元數(shù)據(jù)(注釋?zhuān)〉?3章  常用工具類(lèi)第5篇  桌面程序開(kāi)發(fā) 第14章  GUI程序設(shè)計(jì) 第15章  多媒體程序設(shè)計(jì)第6篇  數(shù)據(jù)庫(kù)程序設(shè)計(jì) 第16章  數(shù)據(jù)庫(kù)的預(yù)備知識(shí) 第17章  Java對(duì)數(shù)據(jù)庫(kù)編程第7篇  Java網(wǎng)絡(luò)程序開(kāi)發(fā) 第18章  C/S網(wǎng)絡(luò)程序設(shè)計(jì) 第19章  JSP程序設(shè)計(jì)第8篇  即時(shí)通訊系統(tǒng)開(kāi)發(fā)實(shí)例 第20章  系統(tǒng)分析和設(shè)計(jì) 第21章  服務(wù)器端功能模塊的實(shí)現(xiàn) 第22章  客戶端功能模塊的實(shí)現(xiàn)

章節(jié)摘錄

  第1篇 Java基礎(chǔ)知識(shí)入門(mén)  第1章 Java的開(kāi)發(fā)運(yùn)行環(huán)境  學(xué)好Java最重要的一個(gè)步驟就是上機(jī)編程,熟悉Java,的開(kāi)發(fā)運(yùn)行環(huán)境是成為Java程序員的第一步。本章將詳細(xì)介紹如何安裝并配置好Sun公司提供的JDK1.5 for Windows,如何編制一個(gè)簡(jiǎn)單的Java程序,如何編譯一個(gè)Java源程序,如何運(yùn)行編譯好的class文件以及如何避免初學(xué)者常犯的錯(cuò)誤。通過(guò)本章的學(xué)習(xí),將輕松地邁入Java的殿堂?! ?.1 Java的運(yùn)行環(huán)境與虛擬機(jī)  任何一個(gè)可執(zhí)行文件,都必須在某個(gè)平臺(tái)上才能運(yùn)行。例如,Windows下的exe文件,必須在Windows環(huán)境下、X86硬件平臺(tái)上才能運(yùn)行。這些exe文件,通常是使用C/C++、Pascal或vB等語(yǔ)言編程,然后通過(guò)編譯、鏈接而形成的。在這些可執(zhí)行文件中,包含了運(yùn)行它的硬件平臺(tái)的相關(guān)信息,所以如果要把它移植到其他平臺(tái)上,必須要重新編譯,甚至要修改源文件?! ava和這些語(yǔ)言不同,它的最大特點(diǎn)就是平臺(tái)無(wú)關(guān)性。Java文件經(jīng)編譯后,生成的是一個(gè)后綴名為class的文件。這是一種字節(jié)碼文件,它不像普通可執(zhí)行文件那樣包含硬件信息,而是完全與硬件平臺(tái)無(wú)關(guān),也就是無(wú)法直接由操作系統(tǒng)調(diào)用運(yùn)行。所以Java的應(yīng)用程序,需要一個(gè)更為復(fù)雜的平臺(tái)才能運(yùn)行。這個(gè)運(yùn)行平臺(tái),包括計(jì)算機(jī)操作系統(tǒng)、適配器、Java虛擬機(jī)、Java基本軟件和Java應(yīng)用程序接口,它們負(fù)責(zé)將Java的字節(jié)碼翻譯成硬件可以接受的指令。整個(gè)運(yùn)行系統(tǒng)的結(jié)構(gòu)如圖1.1所示。  Java運(yùn)行系統(tǒng)執(zhí)行.Java應(yīng)用程序的過(guò)程包括三個(gè)步驟:首先是代碼的裝入,然后是代碼的驗(yàn)證,最后是代碼的執(zhí)行。  代碼的裝入由類(lèi)裝配器完成,它主要負(fù)責(zé)裝入程序運(yùn)行時(shí)所需要的全部代碼,包括程序運(yùn)行中調(diào)用到的其他類(lèi)。當(dāng)類(lèi)裝配器裝入一個(gè)類(lèi)后,該類(lèi)被放在自己的命名空間中,除了通過(guò)符號(hào)引用其他類(lèi)之外,該類(lèi)不能影響其他類(lèi)所在的空間。當(dāng)裝入了運(yùn)行程序所需要的所有類(lèi)后,運(yùn)行系統(tǒng)就能確定整個(gè)可執(zhí)行程序的內(nèi)存布局?! ∪缓螅谎b入的代碼將由字節(jié)碼驗(yàn)證器進(jìn)行安全檢查,以確保字節(jié)代碼不存在違反訪問(wèn)權(quán)限、不規(guī)范的數(shù)據(jù)類(lèi)型和非法調(diào)用等問(wèn)題。  通過(guò)校驗(yàn)之后,代碼就可以運(yùn)行了。Java的字節(jié)碼有兩種運(yùn)行方式:  解釋執(zhí)行方式:通過(guò)“解釋器”,將字節(jié)碼翻譯成機(jī)器碼,然后由“運(yùn)行支持庫(kù)”將機(jī)器碼送往硬件執(zhí)行。整個(gè)執(zhí)行過(guò)程是一邊翻譯一邊執(zhí)行,稱(chēng)為解釋執(zhí)行。Java系統(tǒng)一般采用這種方式?! 〖磿r(shí)編譯方式:通過(guò)“代碼生成器”,先一次性地將所有字節(jié)碼翻譯成適用于特定計(jì)算機(jī)系統(tǒng)的機(jī)器碼,然后送往硬件執(zhí)行。對(duì)程序運(yùn)行速度要求較高時(shí),一般采用這種方式?! 膱D1.1可以看出,Java的字節(jié)碼并沒(méi)有直接運(yùn)行在硬件平臺(tái)上,而是在一個(gè)虛擬的軟件平臺(tái)上運(yùn)行。這個(gè)虛擬的軟件平臺(tái),被稱(chēng)為Java虛擬機(jī)(Java Virtual Machine,JVM)。為了讓編譯產(chǎn)生的字節(jié)碼可以更好地解釋與執(zhí)行,通常把JVM分成6個(gè)功能模塊:JVM解釋器、指令系統(tǒng)、寄存器、棧、存儲(chǔ)區(qū)和碎片回收區(qū)?! VM解釋器:JVM解釋器負(fù)責(zé)將字節(jié)碼轉(zhuǎn)換成為CPU,能執(zhí)行的機(jī)器指令?! ≈噶钕到y(tǒng):指令系統(tǒng)同硬件計(jì)算機(jī)很相似。一條指令分成操作碼和操作數(shù)兩部分。操作碼為8位二進(jìn)制數(shù),操作數(shù)可以根據(jù)需要而定。操作碼是為了說(shuō)明一條指令的功能,所以JVM可以有多達(dá)256種不同的操作指令?! 〖拇嫫鳎篔VM有自己的虛擬寄存器,這樣就可以快速地和JVM的解釋器進(jìn)行數(shù)據(jù)交換。為了實(shí)現(xiàn)必需的功能,YVM設(shè)置了4個(gè)常用的32位寄存器:pc(程序計(jì)數(shù)器)、optop(操作數(shù)棧頂指針)、frame(當(dāng)前執(zhí)行環(huán)境指針)和vars(指向當(dāng)前執(zhí)行環(huán)境中第一個(gè)局部變量的指針)?! #篔VM:棧是指令執(zhí)行時(shí)數(shù)據(jù)和信息存儲(chǔ)的場(chǎng)所和控制中心,它提供給JVM解釋器運(yùn)算時(shí)所需要的信息?! 〈鎯?chǔ)區(qū):JVM存儲(chǔ)區(qū)用于存儲(chǔ)編譯后的字節(jié)碼等信息。  碎片回收區(qū):JVM碎片回收,是指將那些使用后的Java.類(lèi)的具體實(shí)例從內(nèi)存中進(jìn)行回收。因此,可以避免開(kāi)發(fā)人員自己編程控制內(nèi)存的麻煩。隨著JVM的不斷升級(jí),其碎片回收技術(shù)和算法也更加合理。比較經(jīng)典的算法有引用計(jì)數(shù)、復(fù)制、標(biāo)記-清除和標(biāo)記.整理。在JVM 1.4.1版以后,產(chǎn)生了一種代收集技術(shù)。簡(jiǎn)單地說(shuō),  就是利用對(duì)象在程序中生存的時(shí)間劃分成代,以這個(gè)代為標(biāo)準(zhǔn)進(jìn)行碎片回收?! ≌f(shuō)明:JVM的運(yùn)用,真正讓Java實(shí)現(xiàn)了“一次編譯,處處運(yùn)行”,它是整個(gè)運(yùn)行系統(tǒng)的核心。

編輯推薦

  《Java開(kāi)發(fā)技術(shù)大全》是根據(jù)作者十多年的教學(xué)經(jīng)驗(yàn)和軟件開(kāi)發(fā)經(jīng)驗(yàn)總結(jié)而來(lái),全方位解讀Java語(yǔ)言基礎(chǔ)知識(shí)、高級(jí)技術(shù)和應(yīng)用開(kāi)發(fā)。  由多年Java教學(xué)經(jīng)驗(yàn)和開(kāi)發(fā)經(jīng)驗(yàn)的人員全力打造,每個(gè)技術(shù)點(diǎn)都配有典型實(shí)例進(jìn)行講解,非常容易掌握,對(duì)學(xué)習(xí)中容易犯的錯(cuò)誤給出了明確的提示,讓你少走彎路,程序代碼按軟件工程的規(guī)范編寫(xiě),培養(yǎng)良好的編程習(xí)慣,所有實(shí)例都經(jīng)過(guò)了仔細(xì)調(diào)試,確??梢哉_\(yùn)行,提供450個(gè)示例、6個(gè)小案例、1個(gè)大案例,可作為案頭必備的查詢手冊(cè)?! ∫痪€開(kāi)發(fā)人員全力打造,分享技術(shù)盛宴!  重點(diǎn)內(nèi)容及特色:  《Java開(kāi)發(fā)技術(shù)大全》全面介紹了、Java語(yǔ)言的基礎(chǔ)知識(shí)和應(yīng)用開(kāi)發(fā)技術(shù),基本涵蓋了J2SE的各方面。對(duì)基礎(chǔ)知識(shí)的介紹深入、Java語(yǔ)言的核心,對(duì)實(shí)用技術(shù)的介紹則緊密聯(lián)系實(shí)際開(kāi)發(fā)?!  禞ava開(kāi)發(fā)技術(shù)大全》對(duì)Swing包、實(shí)用工具類(lèi)、集合、泛型等內(nèi)容的介紹全面而深入,已經(jīng)出版的同類(lèi)圖書(shū)很少有如此透徹介紹這些內(nèi)容的?!  禞ava開(kāi)發(fā)技術(shù)大全》講解深入淺出,由易到難,循序漸進(jìn),書(shū)中的每個(gè)知識(shí)點(diǎn)和技術(shù)都采用了例程講解為主,理論分析為輔的方式進(jìn)行介紹。  《Java開(kāi)發(fā)技術(shù)大全》舉例時(shí)盡量避免復(fù)雜的數(shù)據(jù)結(jié)構(gòu)和算法設(shè)計(jì),每個(gè)例子都著重于Java知識(shí)點(diǎn)本身,做到淺顯易懂。對(duì)于初學(xué)者容易犯的錯(cuò)誤,都有明顯的提示?! 『蛧?guó)外的一些經(jīng)典圖書(shū)相比,《Java開(kāi)發(fā)技術(shù)大全》門(mén)檻低,講述符合中國(guó)人的思維,更容易理解。另外,《Java開(kāi)發(fā)技術(shù)大全》如此大量的實(shí)例在國(guó)外的經(jīng)典圖書(shū)中是很難見(jiàn)到的。  讀者對(duì)象:想要全面學(xué)習(xí)Java語(yǔ)言的人員,具備一定自學(xué)能力的Java編程愛(ài)好者,Java培訓(xùn)班的培訓(xùn)學(xué)員和老師,想了解Java中高級(jí)開(kāi)發(fā)技術(shù)的人員,需要一本案頭必備查詢手冊(cè)的程序員。

圖書(shū)封面

圖書(shū)標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    Java開(kāi)發(fā)技術(shù)大全 PDF格式下載


用戶評(píng)論 (總計(jì)5條)

 
 

  •   這本書(shū)講的很細(xì),非常適合于教學(xué)。這本書(shū)寫(xiě)的內(nèi)容和其他書(shū)不太一樣,是在教學(xué)實(shí)踐過(guò)程中的總結(jié),里面列出了在實(shí)際運(yùn)行中遇到的各種問(wèn)題,避免了自己的再實(shí)踐,為自己的學(xué)習(xí)大大地節(jié)省了時(shí)間。看這本書(shū)要求自己有一定的語(yǔ)言基礎(chǔ),或是對(duì)JAVA已有所了解。本書(shū)的最突出優(yōu)點(diǎn)就是可以作為教學(xué)參考書(shū)使用。
  •   詮釋比較詳細(xì),知道其然,把所以然也講得很清楚。推薦
  •   不錯(cuò)~~~書(shū)本質(zhì)量好好!
  •   看了之后感覺(jué)很不錯(cuò)。。。但例子感覺(jué)少了點(diǎn)。。。缺乏注釋?zhuān)行┹^難理解。。。但還是很適合初學(xué)者。。。
  •   我是看了同學(xué)買(mǎi)的這本書(shū)才買(mǎi)的,感覺(jué)很好,就是據(jù)說(shuō)里面有一些錯(cuò)誤煤未曾改正
    建議大家等出了再版修正過(guò)之后再買(mǎi),總的來(lái)說(shuō)是一本難得的好書(shū)!
 

250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7