本書(shū)全面而系統(tǒng)地介紹了面向?qū)ο缶幊趟枷搿⒚嫦驅(qū)ο缶幊谭椒āava語(yǔ)言的基礎(chǔ)知識(shí)、Applet、異常處理、多線程、Java I/O操作和Windows Socket編程。 本書(shū)的內(nèi)容包括: 面向?qū)ο缶幊趟枷搿ava語(yǔ)言的基礎(chǔ)知識(shí)介紹、常見(jiàn)Java類及函數(shù)的介紹、Java語(yǔ)言的多線程編程及應(yīng)用、Applet 介紹及應(yīng)用實(shí)例、Windows Socket編程及其應(yīng)用。 本書(shū)的可讀性和實(shí)用性強(qiáng),讀者范圍廣,主要作為研究生及高年級(jí)本科生的教材,也可作為網(wǎng)絡(luò)管理員的培訓(xùn)教材,還可作為大專院校教師、網(wǎng)絡(luò)工程技術(shù)人員及通信工程技術(shù)人員的參考書(shū)籍。
內(nèi)容全面而完整。包括面向?qū)ο缶幊趟枷搿⒚嫦驅(qū)ο缶幊谭椒āava語(yǔ)言的基礎(chǔ)知識(shí)、Applet、異常處理、多線程、Java I/O操作、Windows Socket編程等。
結(jié)構(gòu)安排合理、圖文并茂、通俗易懂,能夠很好地幫助讀者學(xué)習(xí)和理解Java技術(shù)和面向?qū)ο缶幊谭椒ā?br />
注重理論與實(shí)踐相結(jié)合。本書(shū)由淺入深,利用大量典型實(shí)例,詳細(xì)講解了面向?qū)ο笏枷牒头椒ǎ琂ava語(yǔ)言基礎(chǔ),常見(jiàn)Java類庫(kù)的用法,深入闡述Java執(zhí)行程序的原理。結(jié)合實(shí)際并用面向?qū)ο蠓椒ê蚃ava語(yǔ)言完成了一個(gè)項(xiàng)目實(shí)例。
第1章面向?qū)ο箝_(kāi)發(fā)方法1
1.1面向?qū)ο筌浖_(kāi)發(fā)方法介紹1
1.1.1結(jié)構(gòu)化軟件開(kāi)發(fā)方法介紹1
1.1.2面向?qū)ο筌浖_(kāi)發(fā)方法簡(jiǎn)介2
1.2面向?qū)ο蟮幕靖拍?
1.3UML語(yǔ)言簡(jiǎn)介7
思考題9
第2章Java基礎(chǔ)10
2.1Java語(yǔ)言概述10
2.1.1Java語(yǔ)言對(duì)軟件開(kāi)發(fā)技術(shù)的影響10
2.1.2Java語(yǔ)言的應(yīng)用前景10
2.1.3Java語(yǔ)言特點(diǎn)11
2.1.4Java Applet13
2.1.5類庫(kù)13
2.2安裝并配置Java平臺(tái)15
2.2.1Java平臺(tái)概述15
2.2.2Java平臺(tái)的安裝16
2.3Java Application程序范例22
2.3.1編輯源程序22
2.3.2編譯源程序23
2.3.3字節(jié)碼的解釋與運(yùn)行23
2.4集成開(kāi)發(fā)環(huán)境24
思考題27
第3章Java語(yǔ)言基礎(chǔ)28
3.1常量與變量28〖3〗3.1.1常量28
3.1.2變量29
3.2Java程序的構(gòu)成29
3.2.1分隔符30
3.2.2注釋31
3.2.3關(guān)鍵詞31
3.2.4標(biāo)識(shí)符32
3.3運(yùn)算符32
3.3.1算術(shù)運(yùn)算32
3.3.2關(guān)系運(yùn)算34
3.3.3邏輯運(yùn)算34
3.3.4位運(yùn)算35
3.3.5類型轉(zhuǎn)換36
3.3.6其他運(yùn)算符37
3.3.7運(yùn)算符的優(yōu)先級(jí)39
3.4表達(dá)式、語(yǔ)句、程序塊40
3.4.1表達(dá)式40
3.4.2語(yǔ)句41
3.4.3程序塊41
3.5基本數(shù)據(jù)類型42
3.5.1整數(shù)類型42
3.5.2浮點(diǎn)類型43
3.5.3字符類型43
3.5.4布爾類型43
3.6流程控制44
3.6.1選擇結(jié)構(gòu)44
3.6.2循環(huán)結(jié)構(gòu)47
3.6.3跳轉(zhuǎn)語(yǔ)句49
思考題51第4章類與對(duì)象53
4.1類53
4.1.1類聲明和定義53
4.1.2方法定義和構(gòu)造函數(shù)57
4.1.3形參和實(shí)參59
4.1.4類應(yīng)用61
4.2對(duì)象63
4.2.1創(chuàng)建對(duì)象63
4.2.2使用對(duì)象66
4.3嵌套類67
4.3.1嵌套類定義67
4.3.2嵌套類意義67
4.3.3靜態(tài)嵌套類68
4.3.4內(nèi)部類68
4.3.5內(nèi)部類實(shí)例68
思考題69
第5章接口與繼承70
5.1接口70
5.1.1Java接口概述70
5.1.2Java接口定義71
5.1.3Java接口類型73
5.1.4Java接口覆蓋73
5.2繼承74
5.2.1Java繼承概述74
5.2.2父類私有成員訪問(wèn)76
5.2.3對(duì)象轉(zhuǎn)換76
5.2.4覆蓋和隱藏77
5.2.5多態(tài)79
5.2.6Object超類80
5.3類和方法825.3.1final類和方法82
5.3.2抽象類和方法82
思考題84
第6章數(shù)字與字符串85
6.1數(shù)字85
6.1.1數(shù)字類85
6.1.2Math類的常量和方法87
6.2字符及字符串89
6.2.1字符89
6.2.2字符串90
6.2.3String對(duì)象90
6.2.4字符串的訪問(wèn)92
6.2.5字符串的修改93
6.2.6字符串與數(shù)字的轉(zhuǎn)換95
6.2.7字符串的比較97
6.2.8StringBuffer類101
6.2.9StringBuilder類103
思考題103
第7章泛型與包104
7.1泛型104
7.1.1泛型概述104
7.1.2規(guī)則105
7.1.3泛型應(yīng)用105
7.1.4通配符111
7.2包113
7.2.1包概述114
7.2.2包命名116
7.2.3包成員引入116
7.2.4包的層次結(jié)構(gòu)1177.2.5不同包中相同成員117
7.2.6靜態(tài)import117
7.2.7系統(tǒng)默認(rèn)包java.lang118
思考題123
第8章異常124
8.1異常基礎(chǔ)知識(shí)124
8.1.1異常概述124
8.1.2異常處理128
8.1.3異常分類128
8.2捕獲和處理異常130
8.2.1try模塊131
8.2.2catch模塊132
8.2.3finally模塊132
8.2.4trycatchfinally程序塊的執(zhí)行流程以及執(zhí)行結(jié)果133
8.3聲明拋出異常134
8.3.1throws拋出異常134
8.3.2throw和throws的區(qū)別136
思考題137
第9章輸入輸出和文件139
9.1字符集編碼139
9.1.1常用字符集139
9.1.2Java對(duì)字符的處理140
9.2輸入/輸出流142
9.2.1流的概念142
9.2.2Java的標(biāo)準(zhǔn)輸入/輸出142
9.2.3java.io包中的流143
9.2.4字節(jié)流143
9.2.5字符流146
9.2.6字節(jié)流和字符流轉(zhuǎn)換1489.2.7BufferedReader和BufferedWriter151
9.2.8面向行的I/O152
9.2.9數(shù)據(jù)流153
9.2.10對(duì)象流及序列化155
9.2.11Java輸入輸出的使用原則158
9.3文件159
9.3.1文件路徑159
9.3.2文件操作159
9.3.3文件讀寫(xiě)162
思考題165
第10章并發(fā)167
10.1處理器和線程167
10.1.1處理器167
10.1.2線程167
10.2多線程168
10.2.1線程的創(chuàng)建168
10.2.2Sleep暫停執(zhí)行170
10.2.3中斷Interrupts171
10.2.4線程狀態(tài)轉(zhuǎn)換172
10.3同步173
10.3.1線程的干擾173
10.3.2內(nèi)存一致性錯(cuò)誤175
10.3.3同步方法175
10.3.4內(nèi)部鎖與同步塊176
10.3.5wait()、notify()和notifyAll()177
10.3.6原子操作178
10.3.7死鎖178
10.3.8活鎖179
10.4線程調(diào)度179
10.4.1休眠17910.4.2優(yōu)先級(jí)180
10.4.3讓步181
10.4.4合并182
10.4.5守護(hù)線程183
思考題184
第11章平臺(tái)環(huán)境186
11.1配置工具186
11.1.1屬性集186
11.1.2命令行參數(shù)189
11.2系統(tǒng)配置190
11.2.1命令行I/O對(duì)象190
11.2.2系統(tǒng)屬性191
思考題192
第12章Java集合193
12.1集合框架193
12.2接口與實(shí)現(xiàn)194
12.2.1Collection接口194
12.2.2List接口196
12.2.3Queue接口199
12.2.4Set接口199
12.2.5Map接口201
12.2.6Iterator接口203
12.2.7Comparable接口和Comparator接口204
12.3算法206
12.3.1排序206
12.3.2混排207
12.3.3數(shù)據(jù)操作208
12.3.4搜索210
12.3.5取極值210思考題211
第13章Swing組件212
13.1Swing概要212
13.1.1JFC簡(jiǎn)介212
13.1.2Swing歷史213
13.1.3Swing特點(diǎn)213
13.1.4Swing包214
13.2Swing程序結(jié)構(gòu)214
13.3Swing組件和容器215
13.3.1高級(jí)容器216
13.3.2JComponent類218
13.3.3文本組件219
13.3.4按鈕組件221
13.3.5面板(JPanel)222
13.3.6滾動(dòng)窗口(JScrollPane)224
13.3.7列表(JList)225
13.3.8組合框(JcomboBox)226
13.3.9菜單(JMenu)227
13.3.10對(duì)話框(JDialog)230
13.3.11表格(JTable)231
13.3.12提醒工具(tool tips)231
13.3.13邊框(Borders)232
13.3.14布局管理234
思考題237
第14章網(wǎng)絡(luò)編程基礎(chǔ)238
14.1InetAddress238
14.1.1InetAddress簡(jiǎn)介238
14.1.2創(chuàng)建InetAddress對(duì)象的方法239
14.1.3InetAddress對(duì)象常用方法24014.2URL242
14.2.1URL介紹242
14.2.2URL組成242
14.2.3創(chuàng)建URL對(duì)象242
14.2.4獲取URL對(duì)象的屬性243
14.2.5從URL讀取網(wǎng)頁(yè)245
14.3URLConnection246
14.3.1URLConnection定義246
14.3.2URLConnection對(duì)象的連接246
14.3.3從URLConnection對(duì)象讀取數(shù)據(jù)247
14.4TCP/UDP協(xié)議247
14.4.1TCP協(xié)議248
14.4.2UDP協(xié)議248
14.5Socket套接字248
14.5.1Socket概述248
14.5.2Socket通信機(jī)制249
14.5.3Socket類和ServerSocket類249
14.5.4簡(jiǎn)單的Client/Server程序設(shè)計(jì)250
思考題253
附錄英文縮略詞255
參考文獻(xiàn)256
3.5.3源碼應(yīng)用12
3.6思考問(wèn)題16
第4章RSA算法17
4.1實(shí)驗(yàn)?zāi)康呐c要求17
4.2實(shí)驗(yàn)環(huán)境17
4.3背景知識(shí)17
4.3.1非對(duì)稱加密算法17
4.3.2RSA算法概述18
4.3.3RSA算法的加密和解密過(guò)程18
4.4實(shí)驗(yàn)內(nèi)容18
4.5實(shí)驗(yàn)步驟19
4.5.1RSA生成公私鑰及加密、解密過(guò)程演示19
4.5.2RSA加密解密20
4.5.3源碼應(yīng)用21
4.6思考問(wèn)題26
第5章PKI證書(shū)應(yīng)用27
5.1實(shí)驗(yàn)?zāi)康呐c要求27
5.2實(shí)驗(yàn)環(huán)境27
5.3背景知識(shí)27
5.3.1PKI原理及特點(diǎn)27
5.3.2PKI組件27
5.3.3證書(shū)應(yīng)用28
5.4實(shí)驗(yàn)內(nèi)容29
5.5實(shí)驗(yàn)步驟29
5.5.1無(wú)認(rèn)證29
5.5.2單向認(rèn)證30
5.6思考問(wèn)題38〖3〗第6章主動(dòng)水印攻擊39
6.1實(shí)驗(yàn)?zāi)康呐c要求39
6.2實(shí)驗(yàn)環(huán)境39
6.3背景知識(shí)39
6.3.1數(shù)字水印基礎(chǔ)39
6.3.2數(shù)字水印攻擊手段39
6.4實(shí)驗(yàn)內(nèi)容41
6.5實(shí)驗(yàn)步驟41
6.5.1手動(dòng)攻擊41
6.5.2多水印攻擊42
6.5.3自選攻擊42
6.5.4Stirmark自動(dòng)攻擊43
6.6思考問(wèn)題45
第7章DDoS攻擊46
7.1實(shí)驗(yàn)?zāi)康呐c要求46
7.2實(shí)驗(yàn)環(huán)境46
7.3背景知識(shí)46
7.3.1DoS攻擊46
7.3.2DDoS攻擊46
7.3.3TFN2K簡(jiǎn)介47
7.3.4TFN2K使用方法47
7.4實(shí)驗(yàn)內(nèi)容48
7.5實(shí)驗(yàn)步驟48
7.5.1編譯生成執(zhí)行文件48
7.5.2TFN2K攻擊50
7.6思考問(wèn)題52
第8章ARP欺騙攻擊53
8.1實(shí)驗(yàn)?zāi)康呐c要求53
8.2實(shí)驗(yàn)環(huán)境538.3背景知識(shí)53
8.3.1ARP協(xié)議53
8.3.2ARP欺騙攻擊54
8.3.3ARP命令解釋55
8.4實(shí)驗(yàn)內(nèi)容55
8.5實(shí)驗(yàn)步驟55
8.5.1ARP欺騙攻擊56
8.5.2防范ARP欺騙58
8.6思考問(wèn)題60
第9章TCP端口掃描61
9.1實(shí)驗(yàn)?zāi)康呐c要求61
9.2實(shí)驗(yàn)環(huán)境61
9.3背景知識(shí)61
9.3.1端口掃描61
9.3.2TCP協(xié)議簡(jiǎn)介61
9.3.3常用端口掃描技術(shù)62
9.4實(shí)驗(yàn)內(nèi)容64
9.5實(shí)驗(yàn)步驟64
9.5.1TCP全掃描64
9.5.2TCP SYN掃描67
9.6思考問(wèn)題75
第10章模擬攻擊方法76
10.1實(shí)驗(yàn)?zāi)康呐c要求76
10.2實(shí)驗(yàn)環(huán)境76
10.3背景知識(shí)76
10.3.1漏洞掃描技術(shù)76
10.3.2漏洞掃描工具77
10.3.3Telnet命令78〖3〗10.4實(shí)驗(yàn)內(nèi)容78
10.5實(shí)驗(yàn)步驟78
10.5.1初步掃描79
10.5.2進(jìn)一步掃描80
10.5.3開(kāi)啟遠(yuǎn)程桌面服務(wù)81
10.5.4建立新用戶82
10.5.5添加磁盤(pán)映射83
10.6思考問(wèn)題84
第11章Winpcap嗅探器85
11.1實(shí)驗(yàn)?zāi)康呐c要求85
11.2實(shí)驗(yàn)環(huán)境85
11.3背景知識(shí)85
11.3.1網(wǎng)絡(luò)嗅探技術(shù)85
11.3.2Winpcap開(kāi)源庫(kù)85
11.3.3Winpcap的內(nèi)部結(jié)構(gòu)86
11.3.4Winpcap接口函數(shù)介紹87
11.4實(shí)驗(yàn)內(nèi)容89
11.5實(shí)驗(yàn)步驟89
11.5.1創(chuàng)建工程89
11.5.2配置編譯環(huán)境91
11.5.3運(yùn)行程序91
11.6思考問(wèn)題92
第12章利用跳轉(zhuǎn)指令實(shí)現(xiàn)緩沖區(qū)溢出93
12.1實(shí)驗(yàn)?zāi)康呐c要求93
12.2實(shí)驗(yàn)環(huán)境93
12.3背景知識(shí)93
12.4實(shí)驗(yàn)內(nèi)容97
12.5實(shí)驗(yàn)步驟97
12.5.1編寫(xiě)填充碼9812.5.2查找jmp esp指令地址99
12.5.3生成實(shí)現(xiàn)彈出對(duì)話框的指令碼100
12.6思考問(wèn)題101
第13章基于網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)102
13.1實(shí)驗(yàn)?zāi)康呐c要求102
13.2實(shí)驗(yàn)環(huán)境102
13.3背景知識(shí)102
13.3.1入侵檢測(cè)系統(tǒng)102
13.3.2snort介紹103
13.4實(shí)驗(yàn)內(nèi)容104
13.5實(shí)驗(yàn)步驟104
13.5.1snort數(shù)據(jù)包嗅探105
13.5.2snort數(shù)據(jù)包記錄106
13.5.3簡(jiǎn)單報(bào)警規(guī)則108
13.6思考問(wèn)題109
第14章自制蜜罐110
14.1實(shí)驗(yàn)?zāi)康呐c要求110
14.2實(shí)驗(yàn)環(huán)境110
14.3背景知識(shí)110
14.3.1蠕蟲(chóng)病毒110
14.3.2蜜罐111
14.3.3蜜罐的基本配置111
14.3.4蜜罐的分類112
14.4實(shí)驗(yàn)內(nèi)容114
14.5實(shí)驗(yàn)步驟114
14.5.1提取蠕蟲(chóng)病毒特征并升級(jí)入侵檢測(cè)規(guī)則庫(kù)114
14.5.2利用蜜罐與網(wǎng)絡(luò)蠕蟲(chóng)進(jìn)行交互115
14.5.3通過(guò)蜜罐軟件實(shí)現(xiàn)虛擬蜜罐117〖3〗14.6思考問(wèn)題118
第15章利用OpenVPN構(gòu)建企業(yè)VPN119
15.1實(shí)驗(yàn)?zāi)康呐c要求119
15.2實(shí)驗(yàn)環(huán)境119
15.3背景知識(shí)119
15.3.1VPN簡(jiǎn)介119
15.3.2SSL VPN簡(jiǎn)介119
15.3.3Open VPN簡(jiǎn)介120
15.4實(shí)驗(yàn)內(nèi)容121
15.5實(shí)驗(yàn)步驟121
15.5.1搭建企業(yè)網(wǎng)絡(luò)環(huán)境122
15.5.2架設(shè)OpenVPN網(wǎng)關(guān)125
15.5.3打開(kāi)內(nèi)網(wǎng)Web/FTP服務(wù)127
15.5.4配置OpenVPN客戶端建立VPN隧道127
15.6思考問(wèn)題130
第16章iptables應(yīng)用131
16.1實(shí)驗(yàn)?zāi)康呐c要求131
16.2實(shí)驗(yàn)環(huán)境131
16.3背景知識(shí)131
16.3.1防火墻131
16.3.2iptables132
16.4實(shí)驗(yàn)內(nèi)容132
16.5實(shí)驗(yàn)步驟132
16.5.1包過(guò)濾實(shí)驗(yàn)132
16.5.2事件審計(jì)實(shí)驗(yàn)134
16.5.3開(kāi)放/關(guān)閉指定端口用于傳輸文件134
16.6思考問(wèn)題138第17章計(jì)算機(jī)木馬攻擊139
17.1實(shí)驗(yàn)?zāi)康呐c要求139
17.2實(shí)驗(yàn)環(huán)境139
17.3背景知識(shí)139
17.3.1木馬的植入140
17.3.2木馬的安裝140
17.3.3木馬的運(yùn)行141
17.3.4木馬的自啟動(dòng)141
17.4實(shí)驗(yàn)內(nèi)容141
17.5實(shí)驗(yàn)步驟141
17.5.1木馬制作141
17.5.2木馬種植142
17.5.3木馬分析142
17.5.4卸載灰鴿子144
17.5.5木馬功能驗(yàn)證145
17.6思考問(wèn)題145
第18章開(kāi)源反病毒軟件工具實(shí)驗(yàn)146
18.1實(shí)驗(yàn)?zāi)康呐c要求146
18.2實(shí)驗(yàn)環(huán)境146
18.3背景知識(shí)146
18.3.1計(jì)算機(jī)病毒的基本原理146
18.3.2clamAV介紹148
18.4實(shí)驗(yàn)內(nèi)容148
18.5實(shí)驗(yàn)步驟149
18.5.1安裝步驟149
18.5.2使用clam進(jìn)行查殺150
18.6思考問(wèn)題153
參考文獻(xiàn)154