日韩精品 中文字幕 动漫,91亚洲午夜一区,在线不卡日本v一区v二区丶,久久九九国产精品自在现拍

注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計JAVA及其相關Java編程思想(第2版)

Java編程思想(第2版)

Java編程思想(第2版)

定 價:¥99.00

作 者: (美)Bruce Eckel著;侯捷譯;侯捷譯
出版社: 機械工業(yè)出版社
叢編項: 計算機科學叢書
標 簽: Java

ISBN: 9787111104414 出版時間: 2002-01-01 包裝: 平裝
開本: 26cm+光盤1片 頁數(shù): 840 字數(shù):  

內容簡介

  查看原書第3版ThinkinginJava,ThirdEdition原版進口本書的內容組織、講授方法、選用示例和附帶練習都別具特色。作者BruceEckel根據(jù)多年教學實踐中發(fā)現(xiàn)的問題,通過簡練的示例和敘述,闡明了在學習Java中特別容易混淆的諸多概念。與前一版相比,本書不但新增了Java2的語言特性,還根據(jù)語言的演變作出了徹底的更新,其中最主要的改變是第9章的群集。本書被多家權威機構評為最佳Java書籍,適合作為各個層次的Java程序員閱讀,也可以作為高等院校面向對象程序設計語言及Java語言的教材。

作者簡介

  BruceEckel《ThinkinginC++》(C++編程思想)作者,該書曾獲1995年SoftwareDevelopmentJoltAward最佳書籍大獎。Eckel有20年專業(yè)編程經(jīng)驗,并自1986年起教育人們如何撰寫面向對象程序,足跡遍及全球,成為一位知名的C++教師和顧問,如今兼涉Java。他是C++標準委員會擁有表決權的成員之一,曾經(jīng)寫過另五本面向對象編程書籍,發(fā)表過150篇以上的文章,是多本計算機雜志的專欄作家。Eckel開創(chuàng)SoftwareDevelopmentConference的C++、Java、Python等多項研討活動。擁有應用物理學學士和計算機工程學碩士學位。侯捷《深入淺出MFC》作者,該書曾獲2001中國優(yōu)秀科技暢銷書獎及多家網(wǎng)站讀者選擇最受歡迎書獎。侯捷有14年專業(yè)編程經(jīng)驗,曾任臺灣工研院機械所和電通所特約研究員。1991年進入教育領域,范圍涵蓋Windows系統(tǒng)與編程、C++/Java面向對象技術、泛型技術,講課足跡遍及全臺灣。他曾就專長領域撰寫十數(shù)本書籍,翻譯十數(shù)本書籍,發(fā)表數(shù)百篇文章,是多本計算機雜志的專欄作家。擁有土木工程學士和動機工程碩士學位。相關圖書神經(jīng)網(wǎng)絡原理(原書第2版)編譯原理并行計算導論(原書第2版)信息論、編碼與密碼學軟件需求數(shù)據(jù)庫系統(tǒng)導論并行程序設計數(shù)據(jù)庫與事務處理操作系統(tǒng)現(xiàn)代操作系統(tǒng)(第2版)計算機網(wǎng)絡:自頂向下方法與Internet特色(原書第3版)3D計算機圖形學(原書第3版)C程序設計語言(第2版·新版)習題解答計算機科學概論(原書第2版)人工智能:英文Java面向對象程序設計教程C++編程思想。第2卷:實用編程技術數(shù)據(jù)倉庫(原書第3版)C++語言的設計和演化離散數(shù)學導學數(shù)據(jù)庫設計教程(第2版)組合數(shù)學(原書第4版)3D游戲卷1實時渲染與軟件技術3D游戲卷2動畫與高級實時渲染技術數(shù)字圖像處理疑難解析現(xiàn)代信息檢索CAXA數(shù)控銑CAD/CAM技術C語言的科學和藝術計算機視覺UNIX系統(tǒng)編程信息系統(tǒng)原理:原書第6版高級編譯器設計與實現(xiàn)計算機網(wǎng)絡系統(tǒng)方案(原書第3版)計算機網(wǎng)絡與因特網(wǎng)(原書第4版)可擴展并行計算技術、結構與編程數(shù)據(jù)庫原理、編程與性能嵌入式微控制器模式分析的核方法微機接口技術實驗教程

圖書目錄

出版者的話 III
專家指導委員會 V
讀者回應 VI
關于《Thinking in C++》 VIII
題獻 XIV
譯序 XV
Java環(huán)境設定 XIX
綜覽 XXI
序言 1
第2版序 3
Java 2 4
書附光盤 5
簡介 6
閱讀門檻 6
學習Java 6
目標 7
在線說明文檔(Online documentation) 8
章節(jié)組織 8
習題 13
多媒體光盤(Multimedia CD ROM) 13
源代碼(Source code) 14
編碼標準(Coding standards) 15
Java版本 15
培訓課程與顧問指導 16
關于錯誤 16
封面故事 16
致謝 17
Internet上的貢獻者 19
第1章   對象導論 20
抽象化的過程 20
每個對象都有接口 22
被隱藏的實現(xiàn)細節(jié) 24
重復運用實現(xiàn)碼 25
繼承:重復運用接口 26
是一個(is-a)vs. 像是一個(is-like-a) 29
隨多態(tài)而生的可互換對象 30
抽象基類與接口 33
對象的形貌與壽命 33
群集和迭代器 34
單根繼承體系 36
群集類庫及其易用性支持 37
管家面臨的兩難:誰該負責清理? 38
異常處理:面對錯誤的發(fā)生 39
多線程 39
持久性 40
Java與Internet(網(wǎng)際網(wǎng)、互聯(lián)網(wǎng)) 41
Web是什么? 41
客戶端程序開發(fā) 42
服務端程序開發(fā) 47
另一個截然不同的戰(zhàn)場:
應用系統(tǒng) 48
分析與設計 48
階段0:策劃 50
階段1:建立什么? 51
階段2:如何建立? 53
階段3:打造核心 56
階段4:use cases的迭代 57
階段5:演化 58
取得成功 59
Extreme programming(XP) 59
測試優(yōu)先 60
搭檔設計 61
Java為什么成功 62
易于表達、易于理解的系統(tǒng) 62
通過程序庫(libraries)發(fā)揮
最大杠桿效應 62
錯誤處理 62
大型程序設計 62
過渡策略 63
實踐準則 63
管理上的障礙 64
Java vs. C++? 66
摘要 67
第2章   萬事萬物皆對象 69
Reference是操控對象之鑰匙 69
所有對象都必須由你建立 70
存儲在哪里 70
特例:基本型別(primitive types) 71
Java中的數(shù)組(array) 73
你再也不需要摧毀對象 73
生存空間(Scoping) 74
對象的生存空間 74
建立新的數(shù)據(jù)型別:class 75
數(shù)據(jù)成員(fields)和
函數(shù)(methods) 76
函數(shù)(methods),引數(shù)(arguments),
返回值(return values) 77
引數(shù)列(The argument list) 78
打造一個 Java 程序 79
名稱的可視性(Name visibility) 79
使用其他組件(Component) 80
關鍵字static 81
初試啼聲:你的第一個 Java程序 82
編譯與執(zhí)行
(Compiling and running) 84
注解及內嵌式文檔 85
寓文檔于注解 85
語法 86
內嵌的 HTML 86
@see:參考其他classes 87
Class(類)文檔所用的標簽 87
Variable(變量)文檔所用的標簽 88
Method(函數(shù))文檔所用的標簽 88
文檔制作示例 89
編碼風格(Coding style) 90
摘要 90
練習 90
第3章   控制程序流程 92
使用Java運算符(operators) 92
優(yōu)先序(Precedence) 92
賦值、指派(Assignment) 93
數(shù)學運算符(Mathematical operators) 95
遞增(increment)和遞減(decrement) 97
關系運算符(Relational operators) 98
邏輯運算符(Logical operators) 99
位運算符(Bitwise operators) 102
位移運算符(Shift operators) 102
if-else 三元運算符(Ternary if-else operator) 106
逗號運算符(comma operator) 107
應用于String身上的operator + 107
使用運算符時的常犯錯誤 107
轉型運算符(Casting operators) 108
Java 沒有“sizeof” 運算符 110
再探優(yōu)先序(Precedence) 111
運算符綜合說明 111<br>流程控制 120
true 和 false 120
if-else 120
return 121
迭代(iteration) 121
do-while 122
for 122
break 和 continue 124
switch 129
摘要 133
練習 133
第4章   初始化和清理 134
以構造函數(shù)(constructor)確保初始化的進行 134
函數(shù)重載(method overloading) 136
區(qū)分重載函數(shù) 138
搭配基本型別(Primitives)進行重載 138
以返回值(return value)作為重載的基準 142
Default構造函數(shù) 142
關鍵字this 143
清理(Cleanup):終結(finalization)與垃圾回收(garbage collection) 146
finalize( ) 存在是為了什么? 147
你必須執(zhí)行清理(cleanup)動作 147
死亡條件(The death condition) 150
垃圾回收器(garbage collector)的運作方式 152
成員初始化(Member initialization) 154
指定初值 156
以構造函數(shù)(Constructor)進行初始化動作 157
Array 的初始化 163
多維(Multidimensional)arrays 167
摘要 169
練習 170
第5章   隱藏實現(xiàn)細目 172
package: 程序庫單元(Library unit) 172
獨一無二的package 命名 174
自訂一個程序庫 177
利用 imports 來改變行為 178
使用package時的一些忠告 180
Java訪問權限飾詞(access specifiers) 180
“Friendly”(友善的) 180
public: 接口訪問(interface access) 181
private: 不要碰我! 183
protected: 幾分友善 184
Interface(接口)與implementation(實現(xiàn)) 185
Class的訪問權限 186
摘要 189
練習 190
第6章   重復運用Classes 192
組合(Composition)語法 192
繼承(Inheritance)語法 195
base class的初始化 197
兼容組合(composition)及繼承(inheritance) 199
保證適當清理 200
名稱遮蔽(Name hiding) 203
組合與繼承之間的抉擇 204
protected(受保護的) 205
漸進式開發(fā)(Incremental derelopment) 206
向上轉型(Upcasting) 207
為什么需要向上轉型(Why“upcasting”)? 207
關鍵字final 208
Final data 209
Final methods 212
Final classes 214
最后的告誡 215
初始化以及class 的裝載 215
繼承與初始化 216
摘要 217
練習 218
第7章   多態(tài) 220
再探向上轉型(Upcasting) 220
將對象的型別忘掉 221
竅門 223
Method-call(函數(shù)調用)綁定方式 223
產生正確的行為 224
擴充性(Extensibility) 226
覆寫(overriding)vs. 重載(overloading) 229
Abstract classes(抽象類)和abstract methods(抽象函數(shù)) 230
構造函數(shù)(Constructors)和多態(tài)(polymorphism) 234
構造函數(shù)調用順序(order of constructor calls) 234
繼承與finalize( ) 236
polymorphic methods在構造函數(shù)中的行為 239
將繼承(inheritance)運用于設計 241
純粹繼承(Pure inheritance)vs. 擴充(extension) 242
向下轉型(downcasting)與執(zhí)行期型別辨識(run-time type identification) 243
摘要 245
練習 246
第8章   接口與內隱類 248
Interfaces(接口) 248
Java的多重繼承(multiple inheritance in Java) 251
通過繼承來擴充interface 254
產生常量群(grouping constants) 255
將interfaces內的數(shù)據(jù)成員初始化 256
嵌套的(nesting)interfaces 257
Inner classes(內隱類) 260
Inner classes(內隱類)與upcasting(向上轉型) 261
位于methods 和scopes之內的inner classes(內隱類) 263
匿名的(anonymous)inner classes 265
與外圍(outer)class的連接關系 268
static inner classes(靜態(tài)內隱類) 270
取用(referring)outer class的對象 272
從多層嵌套class向外伸展觸角 273
繼承inner classes 273
inner classes可被覆寫(overridden)嗎? 274
Inner class的標識符(identifiers) 276
為什么需要inner classes? 277
Inner classes和control frameworks 281
摘要 287
練習 287
第9章   持有你的對象 291
Arrays(數(shù)組) 291
Arrays是第一級對象(first-class objects) 292
返回一個array 295
Arrays class 297
array的充填(filling) 306
array的復制 307
arrays的比較 308
array元素的比較 309
array的排序 312
在已排序的array中進行查找 313
array總結 315
容器(containers)簡介 315
容器的打印 316
容器的充填 317
容器的缺點:元素型別未定 323
有時候它總是可以運作 325
制作一個具有型別意識(type-conscious)的ArrayList 326
迭代器(Iterators) 327
容器分類學(Container taxonomy) 330
Collection的機能 333
List的機能 335
根據(jù)LinkedList制作一個stack 338
根據(jù)LinkedList制作一個queue 339
Set的機能 340
SortedSet 342
Map的機能 343
SortedMap 346
Hashing和hash codes 347
覆寫hashCode( ) 354
持有references 356
WeakHashMap 358
再論Iterators(迭代器) 360
選擇一份適當?shù)膶崿F(xiàn)品 361
在各種Lists之間抉擇 361
在各種Sets之間抉擇 364
在各種Maps之間抉擇 366
Lists的排序和查找 368
公用函數(shù)(Utilities) 369
讓Collection或Map無法被更改 369
Collection或Map的同步控制 370
未獲支持的操作(Unsupported operations) 371
Java 1.0/1.1的容器 373
Vector和Enumeration 374
Hashtable 375
Stack 375
BitSet 376
摘要 377
練習 378
第10章   通過異常處理錯誤 382
基本異常 383
異常引數(shù)(Exception arguments) 383
異常的捕捉(Catching) 384
try block 384
異常處理函數(shù)(Exception handlers) 385
編寫你自己的異常類 386
異常規(guī)格(exception specification) 389
捕捉所有異常 390
重擲(Rethrowing)異常 392
Java標準異常 395
RuntimeException的特殊情況 395
以finally進行清理(cleanup) 397
為什么需要finally? 398
缺憾:異常遺失(the lose exception) 400
異常的局限性(Exception restrictions) 401
構造函數(shù)(Constructor) 404
異常的比對(matching) 407
異常的使用原則(Exception guidelines) 408
摘要 409
練習 409
第11章   Java I/O 系統(tǒng) 412
File class 412
目錄列示器(a directory lister) 412
目錄的檢查和建立 416
輸入(Input)和輸出(Output) 418
InputStream的類型 418
OutputStream的類型 419
附加屬性(attributes)和有用接口 420
通過FilterInputStream自InputStream<br>讀取數(shù)據(jù) 421
通過FilterOutputStream將數(shù)據(jù)寫入OutputStream 421
Readers和Writers 422
數(shù)據(jù)的來源(sources)和去處(sinks) 423
改變stream的行為 424
未曾有任何變化的classes 425
RandomAccessFile 425
I/O streams的典型運用 426
Input streams 428
Output streams 430
這是個臭蟲嗎? 431
管線化的(piped)streams 432
標準I/O 432<讀取標準輸入 432
將System.out轉換為PrintWriter 433
標準I/O重導向(Redirecting) 434
壓縮 435
運用GZIP進行單純壓縮 435
運用Zip存儲多份文件數(shù)據(jù) 436
Java ARchives (JARs) 438
對象次第讀寫(Object serialization) 440
找出class 444
控制次第讀寫(serialization) 445
使用對象持久機制(persistence) 453
被語匯單元化(Tokenizing)的輸入動作 459
StreamTokenizer 459
StringTokenizer 462
檢驗大小寫 464
摘要 471
練習 472
第12章   執(zhí)行期型別辨識 474
為什么需要RTTI 474
Class 對象 476
轉型之前先檢查 478
RTTI語法 485
Reflection(映像):執(zhí)行期的類信息(run-time class information) 487
實現(xiàn)一個函數(shù)提取器(extractor) 489
摘要 493
練習 494
第13章   制作窗口和applet 496
基本的applet 498
applet的束縛(restrictions) 498
applet的優(yōu)點 498
應用程序框架(Application frameworks) 499
在Web瀏覽器上執(zhí)行applets 500
運用Appletviewer 501
測試applets 502
從命令行(Command line)
執(zhí)行applets 503
一個顯示框架(Adisplay framework) 504
運用Windows Explorer 507
制作一個按鈕 507
捕捉一個事件(Capturing an event) 508
文本區(qū)(Text areas) 511
控制版面布局(Controlling layout) 512
BorderLayout 513
FlowLayout 514
GridLayout 514
GridBagLayout 515
絕對定位 515
BoxLayout 515
最好的方法是什么? 519
Swing的事件模型(event model) 519
事件(event)及監(jiān)聽器(listener)的種類 520
追蹤多種事件 525
Swing組件一覽 528
按鈕(Buttons) 528
圖示(Icons) 531
工具提示(Tool tips) 533
文本塊(Text fields) 533
邊框(Borders) 535
JScrollPanes 536
迷你文本編輯器(mini-editor) 538
復選框(Check boxes) 539
單選按鈕(Radio buttons) 540
組合框Combo boxes(下拉式列表<br>drop-down lists) 541
列表框(List boxes) 542
頁簽式嵌板(Tabbed panes) 544
消息框(Message boxes) 545
菜單(Menus) 547
彈出式菜單(Pop-up menus) 552
繪圖(Drawing) 553
對話框(Dialog Boxes) 556
文件對話框(File dialogs) 560
Swing 組件上的HTML 562
滑塊(Sliders)和進度指示器(progress bars) 562
樹狀組件(Trees) 563
表格(Tables) 566
選擇外觀風格(Selecting Look & Feel) 567
剪貼板(clipboard) 569
將applet封裝于JAR文件 572
編程技術 572
動態(tài)綁定事件(Binding events dynamically) 573
將business logic和用戶界面logic隔離 574
標準型式 577
視覺化程序設計(Visual programming)與Beans 577
什么是Bean? 578
運用Introspector提取出BeanInfo 580
一個更為復雜精巧的Bean 585
Bean的包裝(Packaging a Bean) 588
Bean所支持的更復雜功能 590
其他 590
摘要 591
練習 591
第14章   多線程 594
反應靈敏的用戶界面 594
繼承自Thread 596
運用線程打造出反應靈敏的
用戶界面 598
結合線程和程序主類 600
產生多個線程 602
Daemon線程 604
共享有限資源 606
不當?shù)馁Y源訪問 606
Java如何共享資源 610
再探JavaBeans 614
停滯(阻塞,Blocking) 618
轉為停滯狀態(tài)(Becoming blocked) 619
死鎖(Deadlock) 628
優(yōu)先權(Priorities) 632
優(yōu)先權的讀取和設定 632
線程群組(Thread groups) 636
再探Runnable 642
過多的線程 645
摘要 647
練習 649
第15章   分布式計算 651
網(wǎng)絡編程 652
機器的識別 652
Sockets(插座) 655
服務多個客戶 660
數(shù)據(jù)元(Datagrams) 665
在applet中使用URL 665
更多的網(wǎng)絡相關信息 667
JDBC,Java數(shù)據(jù)庫連接機制 668
讓本節(jié)示例正常運作 670
一個GUI版的查詢程序 673<
為什么JDBC API看起來如此復雜 676
一個更復雜的示例 676
Servlets 683
Servlet基本教練 684
Servlets和多線程(multithreading) 687
以servlets處理sessions 688
執(zhí)行servlet示例程序 691
Java Server Pages(JSP) 692
隱式對象(Implicit objects) 693
JSP指令(directives) 693
JSP的腳本描述成分(scripting elements) 694
取出字段(fields)和數(shù)值(values) 696
JSP的頁面屬性(page attributes)和有效范圍(scope) 697
處理JSP中的sessions 698
產生并修改cookies 699
JSP摘要 700
RMI (Remote Method Invocation,遠端函數(shù)調用) 701
遠端接口(Remote interfaces) 701
實現(xiàn)出遠端接口(remote interface) 702
產生stubs和skeletons 704
使用遠端對象(remote object) 705
CORBA 706
CORBA的基本原理 706
一個示例 708
Java Applets和CORBA 712
CORBA vs. RMI 712
Enterprise(企業(yè)級)JavaBeans 713
JavaBeans vs. EJBs 714
EJB規(guī)格 714
EJB組件 714
EJB組件成分 715
EJB的各項操作 716
EJBs的類型 717
分發(fā)(Developing)EJB 718
EJB 摘要 722
Jini: 分布式服務(distributed serrices) 722
Jini的來龍去脈 722
什么是Jini? 723
Jini如何運作 723
discovery動作 724
join動作 724
lookup動作 725
接口和實現(xiàn)的分離 725
將分布式系統(tǒng)抽象化 726
摘要 726
練習 727
附錄A   對象的傳遞和返回 729
reference的傳遞 729
別名(Aliasing) 730
制作一個局域性副本(local copies) 731
Pass by value(傳值) 732
對象的克?。–loning objects) 733
賦予class克隆能力(cloneability) 734
成功的克隆 736
Object.clone( ) 的效應 738
克隆一個組合對象(composed object) 739
對ArrayList進行深層拷貝 741
通過serialization進行深層拷貝 743
將克隆能力加到繼承體系的更下層 745
為什么要有這種奇怪的設計? 746
克隆能力(cloneability)的控制 746
copy構造函數(shù) 750
唯讀類(Read-only classes) 754
編寫一個唯讀類(read-only classes) 755
恒常性(immutability)的缺點 756
恒常不變的Strings 758
String和StringBuffer 760
Strings是特殊的東西 763
摘要 763
練習 764
附錄B   Java原生接口 765
原生函數(shù)(Native method)的調用 765
頭文件產生器:javah 766
名稱重整(Name mangling)與函數(shù)標記(function signatures) 767
實現(xiàn)出你自己的DLL 767
取用JNI函數(shù): 通過JNIEnv引數(shù) 768
訪問Java Strings 769
傳遞和運用Java對象 769
JNI和Java異常 771
JNI和多線程(threading) 772
使用既有的程序代碼 772
補充信息 773
附錄C   Java編程準則 774
設計 774
實現(xiàn)(Implementation) 778
附錄D   資源 783
軟件 783
書籍 783
分析& 設計 784
Python 786
我的著作 786
索引 788

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) rgspecialties.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號