⑴ 求這本書的PDF.網友們力量大,謝謝各位了,急急急!
中文名:javascript實例自學手冊:通過486個例子掌握WEB開發捷徑
作者:吳雪
圖書分類:網路
資源格式:PDF
版本:掃描版
出版社:電子工業出版社
書號:9787121053597
發行時間:2008年1月
地區:大陸
語言:簡體中文
[內容簡介]
本書涵蓋了目前網路開發涉及的所有方向,從頁面、文本、窗口、滑鼠、日期時間等基本應用,到圖像、滾動條、進度條、網路驗證、文件處理等深入應用,包括目前最流行的非同步傳輸、property框架、ajax和dom等高級技術。全書共分23章,包括486個常用javascript實例。每個實例都提供了代碼分析及效果演示,可以幫助讀者輕松掌握javascript的開發技巧,並從中找到網站開發的樂趣。
本書適用於初、中級web開發人員,也是高級開發人員的查詢寶典。對於javascript入門級讀者來說,學習這些實例,可以更快地提高javascript的開發水平。對於中級web開發人員而言,掌握這些實例後,可以開發出更加安全、快速、完善的web 2.0網站。..
本書提供了web 2.0時代所必須掌握的一些技巧實例,是一本學習網路開發技術的隨身手冊。
目錄:
第1章 頁面特效. 1
1.1 html頁面反向顯示 2
1.2 頁面自動最大化 2
1.3 頁面自動刷新 3
1.4 頁面的後退、刷新、前進 4
1.5 保護網頁源代碼 5
1.6 保護自己的網頁不被放入框架 6
1.7 列印頁面的出錯原因 7
1.8 當前網頁調用其他網頁 7
1.9 倒計時載入頁面 8
1.10 定義網頁的關鍵字 9
1.11 進入頁面同時彈出歡迎對話框 10
1.12 禁止網頁另存 11
1.13 禁止頁面加入緩存 11
1.14 離開頁面時彈出對話框 12
1.15 判斷頁面是否添加了w3c聲明 12
1.16 屏蔽網頁中的腳本 13
1.17 以頻道模式打開頁面 14
1.18 自動識別網頁類型 14
1.19 在網頁中動態添加script腳本 15
.1.20 用javascript隨機修改頁面的標題 16
1.21 判斷網頁載入完畢 17
1.22 網頁中嵌入播放器 18
1.23 設置指定網頁為主頁 19
1.24 使用javascript傳遞頁面參數 20
1.25 凍結頁面 21
第2章 按鈕特效 22
2.1 頁面刷新按鈕 23
2.2 按enter鍵調用登錄按鈕 23
2.3 動態創建按鈕 24
2.4 平面按鈕 25
2.5 按鈕的嵌入效果 26
2.6 改變狀態欄信息按鈕 27
2.7 定義按鈕的熱鍵 27
2.8 取得控制項的絕對位置 28
2.9 刪除時的確認提示 29
2.10 按鈕只能單擊一次 30
2.11 防止按鈕連擊 31
2.12 圖片式按鈕 32
2.13 在按鈕底部顯示文字 33
2.14 選擇不同的列表項時顯示不同的按鈕 34
2.15 使用按鈕控制文本漸變 35
2.16 帶翻頁效果的公告欄 38
2.17 動態設置控制項的事件 40
第3章 字元串文本和輸入框特效 41
3.1 只帶下畫線的輸入框 42
3.2 限定文本框可輸入字元數 42
3.3 文字過長時的省略界面 43
3.4 輸出26個英文字母 44
3.5 首字母變為大寫 45
3.6 textarea自適應文字行數 46
3.7 禁止文本的復制和粘貼 47
3.8 控制兩個文本框只輸入其一 48
3.9 判斷編輯器中是否包含特殊字元 49
3.10 判斷文本中回車的數量 50
3.11 判斷字元串中有多少漢字 51
3.12 去除字元串前後的空格 52
3.13 刷新時清空所有文本框 52
3.14 隨意改變大小的文本框 53
3.15 文本框的自動全選 54
3.16 文本框滾動導航 55
3.17 按鈕獲取焦點 56
3.18 文本框獲取焦點彈出下拉框 57
3.19 文本框簡單的單擊效果 59
3.20 文字的打字效果 59
3.21 文字滾動 61
3.22 文字滑動 62
3.23 文字跳動特效 64
3.24 熒光效果的文本 65
3.25 文字逐個閃亮——霓虹燈效果 66
3.26 旋轉式的變色文字特效 68
3.27 《黑客帝國》中的字元下落效果 70
3.28 獲取表單中文本框的個數 72
3.29 游標停在文本框最後 73
3.30 分行取textarea中的值 74
3.31 自動插入文本 76
3.32 選取textarea中的指定行 77
3.33 文本放大鏡 79
3.34 文本框的默認輸入法 79
3.35 文本框中顯示網頁中選中的內容 80
3.36 文字的垂直滾動 81
3.37 文字幻燈片 83
3.38 隨機動態文字效果 84
3.39 實現textarea的自動滾動 85
3.40 使用marquee實現文字上下滾動 86
3.41 類似安裝效果的textarea滾動 87
3.42 始終顯示在最頂端的文本 89
3.43 javascript過濾sql注入字元 90
3.44 textarea內實現行的翻頁效果 91
3.45 textarea中的文本插入 92
3.46 查找兩段文本中相同的詞句 93
3.47 自動保存網頁的文本 95
3.48 文本編輯器 96
第4章 滑鼠特效 103
4.1 禁用滑鼠右鍵 104
4.2 使滑鼠滾輪失效 104
4.3 狀態欄顯示滑鼠位置 105
4.4 單擊滑鼠右鍵到指定頁 106
4.5 滑鼠放到圖片上會顯示另外一張圖片 107
4.6 滑鼠形狀定義大全 108
4.7 滑鼠移入移出時顏色變化 109
4.8 跟隨滑鼠的文字 110
4.9 跟隨滑鼠的彩色文字 111
4.10 跟隨滑鼠的魔法文字 114
4.11 跟隨滑鼠的星星 116
4.12 跟隨滑鼠的旋轉背景 118
4.13 圖片跟隨滑鼠 120
4.14 圍繞滑鼠的文本 121
4.15 滑鼠旁邊的提示信息 123
4.16 滑鼠移到下拉框時自動全部打開 126
4.17 checkbox滑鼠移入移出的特效 126
第5章 層和框架的特效 128
5.1 div層提示效果 129
5.2 層自動滾動到底端 130
5.3 div的自動滾動 131
5.4 div的折迭效果 133
5.5 圓角div 134
5.6 動態添加iframe框架 135
5.7 用層實現長篇文章分頁 136
5.8 iframe自適應高度 138
5.9 類似msn的消息提示 140
5.10 只列印iframe的內容 142
第6章 下拉列表特效 144
6.1 下拉列表框實現多選 145
6.2 實現兩個select的同步 145
6.3 被選中的列表項下次不能再選 146
6.4 不帶滾動條的select 147
6.5 從一個下拉列表往另一個下拉列表添加
6.5 內容 148
6.6 改變列表項的上下順序 150
6.7 給下拉列表框數據分組 151
6.8 獲取下拉列表框的選擇 152
6.9 類ie下拉列表框 153
6.10 下拉列表框式郵件發送 154
6.11 手動調整的列表框 156
6.12 下拉框式網站導航 157
6.13 綜合的搜索引擎 159
6.14 經典的listview列表框 160
第7章 鍵盤操作和狀態欄特效 162
7.1 按功能鍵返回首頁 163
7.2 enter鍵實現tab鍵功能 163
7.3 ctrl+enter提交數據 164
7.4 ie中屏蔽退格鍵(backspace) 165
7.5 屏蔽鍵盤所有鍵 166
7.6 javascript捕獲方向鍵 166
7.7 狀態欄變化信息 167
7.8 狀態欄的跑馬燈效果 169
7.9 狀態欄縮放文字 170
7.10 狀態欄文字來回顯示 171
7.11 交替閃爍的狀態欄 172
7.12 狀態欄的分解顯示文本特效 173
7.13 狀態欄文字從右彈出 175
7.14 狀態欄中文字從中間分開顯示 176
7.15 屏蔽掉ie自帶的功能鍵 177
第8章 鏈接特效 178
8.1 關閉窗口的鏈接 179
8.2 不用css實現鏈接樣式的變化 179
8.3 讓鏈接沒有下畫線 180
8.4 去掉超鏈接單擊時的邊框 181
8.5 提取頁面中所有鏈接 181
8.6 一個鏈接打開兩個地址 182
8.7 為鏈接提供下拉菜單 183
8.8 按鈕鏈接 184
8.9 彈出滑鼠所指的鏈接地址 185
8.10 鏈接的注釋 185
8.11 為超鏈接同時綁定單擊和雙擊事件 187
8.12 帶鏈接的滾動字幕 188
8.13 會跳舞的鏈接 189
8.14 檢測站點的鏈接速度 190
8.15 文本鏈接的漸變效果 192
第9章 表格特效 195
9.1 用table做的鏡框 196
9.2 全自動單元格 196
9.3 突出的表格 198
9.4 讓表格有提示信息 199
9.5 閃亮的表格邊框 199
9.6 表格的寬度固定後內容自動換行 200
9.7 表格的排序 201
9.8 表格的斜線 203
9.9 table中的文字滾動 205
9.10 javascript遍歷table的行和列 205
9.11 表格按enter鍵自動生成新行 206
9.12 單擊單元格背景變色 208
9.13 單擊表格某行後其他行隱藏 209
9.14 單擊表頭實現表格排序 210
9.15 單擊單元格顯示行的詳細信息 212
9.16 表格設置為「100%」時獲取表格的
9.16 寬度 213
9.17 表格選中後變色 214
9.18 表格中隱藏下級表格 216
9.19 表格自動下移 218
9.20 動態創建固定列數的表格 219
9.21 動態改變表格列寬 220
9.22 動態改變表格的行順序 222
9.23 動態生成包含合並單元格的表格 223
9.24 用鍵盤上下鍵實現表格行的上下選擇 225
9.25 用javascript隱藏或顯示表格列 227
9.26 滾動的表格 228
9.27 交換表的行 230
9.28 動態拖放表格的寬度 231
9.29 可輸入內容的表格 233
9.30 可以分級的表格隱藏 234
9.31 動態創建表格並實現分頁 235
9.32 刪除表格指定行 237
9.33 設置表格的交替行顏色 238
9.34 雙擊單元格變為可編輯 239
9.35 滑鼠經過表格時列變色 240
9.36 滑鼠選擇表格中的多行 241
9.37 使用javascript向表格中寫入數據 243
9.38 類c# gridview的編輯效果(一) 244
9.39 類c# gridview的編輯效果(二) 245
下載:http://book.mxtia.com/view/14544.html
⑵ 深入分析java web技術內幕這本書怎麼樣
這本書的整體感覺不錯,基本上是從基本原理介紹出發的。適合互聯網技術愛好者閱讀,也可以作為技術架構參考書籍。本書不僅是介紹了基本知識和原理,很多東西作者是站在系統架構的原理出發的,所以對愛好系統架構的讀者是很有幫助的。
本書的主要特點是「圖文並茂,有圖,有事實,有真相」,閱讀起來不枯燥,晦澀。在試讀的第一章我數了一下一共就有19張圖片。本書同時也是深入實戰的一本參考書。本文有很多實戰內容,讀者可以去實戰。因而本書是一本理論與實踐緊密結合的書籍。
第一章的主題是:深入WEB請求過程
作者分別從以下幾個方面做了深入介紹:
1.1 B/S網路架構基本概念
這一小節介紹了B/S的基本架構概念,闡述了B/S的架構優勢,但是最後缺少一點
「畫龍點睛」之筆:B/S架構模式解決了application平台依賴性,使得應用基於瀏覽器,實現了應用的互聯互通互用。
1.2 如何發起一個請求
這一小節介紹了HTTP請求的技術基礎,socket通信。同時也「與時俱進」介紹了HttpClient的一個例子。這也是本書實戰性的體現。
同時也介紹了開發者可以使用的命令。
1.3 HTTP 協議解析
介紹了HTTP 協議解析的整個過程,介紹了HTTP 協議解析的基本數據結構,HTTP的主要狀態碼。相關HTTP工具。順便再在此推薦一個不錯的工具HttpWatch。
1.4 DNS 域名解析
DNS 域名解析是網路的基礎工作。只有域名解析成功才能獲得相關請求對應的應用。
本節介紹了域名解析的全過程,域名解析跟蹤,域名緩存清空,域名解析的常用方式。域名解析過程作者介紹的非常詳細,可謂是:「深入淺出」。
1.5 CDN 工作機制
CDN(Content Delivery Network),CDN是現在大數據時代互聯網應用的一重要組成部分。是一把利器。
在大數據時代,我們不可能將我們的所有資源都放到一台或幾台機器上,這時分布式計算,分布式存儲就成了一個關鍵和難點。CDN將一些靜態資源集中管理起來,減輕了主機負擔。在這里作者也談到了CDN對於應用的可擴展,安全性,可響應, 可靠性及性能的意義與作用。實際上CDN是RIA應用的技術架構基礎。本節也談到了「負載均衡」的主要方法及相關方法。
這里在排版上有點不足:在介紹硬體負載均衡之後可以附上相關圖片,本書把圖片放到了一起。但也無大礙。
⑶ 關於java學習,有什麼書籍或者教程推薦不啦
Java視頻推薦:
Java學習路線:
javase->資料庫->jdbc->前端基礎->jquery->javaweb->spring->mybatis->maven->springboot->springcloud->redis->git->linux
由於發不了鏈接,可以去最後面的原文鏈接裡面去看
《2020最新Java基礎精講視頻教程和學習路線!》
JavaSE:
Java開發環境的搭建提取碼:32nt
Java語法基礎提取碼:jv4i
Java條件結構提取碼:w6pd
Java循環結構提取碼:ctax
Java 數組提取碼:eib9
核心面向對象提取碼:xhq4
Java常用類庫提取碼:7ov7
IO流輸入輸出提取碼:u4h5
Java多線程提取碼:mniv
網路編程提取碼:a0nx
高級擴展提取碼:0mqv
《Head First Java》(推薦,豆瓣評分 8.7,1.0K+人評價): 可以說是我的 Java 啟蒙書籍了,特別適合新手讀當然也適合我們用來溫故 Java 知識點。
《Java 核心技術卷 1+卷 2》(推薦): 很棒的兩本書,建議有點 Java 基礎之後再讀,介紹的還是比較深入的,非常推薦。這兩本書我一般也會用來鞏固知識點,是兩本適合放在自己身邊的好書。
《JAVA 網路編程 第 4 版》: 可以系統的學習一下網路的一些概念以及網路編程在 Java 中的使用。
《Java 編程思想 (第 4 版)》(推薦,豆瓣評分 9.1,3.2K+人評價):大部分人稱之為Java領域的聖經,但我不推薦初學者閱讀,有點勸退的味道。稍微有點基礎後閱讀更好。
《Java 並發編程之美》(推薦):2018 年 10 月出版的一本書,個人感覺非常不錯,對每個知識點的講解都很棒。
《Java 並發編程的藝術》(推薦,豆瓣評分 7.2,0.2K+人評價): 這本書不是很適合作為 Java 並發入門書籍,需要具備一定的 JVM 基礎。我感覺有些東西講的還是挺深入的,推薦閱讀。
《實戰 Java 高並發程序設計》(推薦,豆瓣評分 8.3): 書的質量沒的說,推薦大家好好看一下。
《Java 高並發編程詳解》(豆瓣評分 7.6): 2018 年 6 月出版的一本書,內容很詳細,但可能又有點過於啰嗦,不過這只是我的感覺。
《深入理解 Java 虛擬機(第 2 版)周志明》(推薦,豆瓣評分 8.9,1.0K+人評價):建議多刷幾遍,書中的所有知識點可以通過 JAVA 運行時區域和 JAVA 的內存模型與線程兩個大模塊羅列完全。
《實戰 JAVA 虛擬機》(推薦,豆瓣評分 8.0,1.0K+人評價):作為入門的了解 Java 虛擬機的知識還是不錯的。
《Java 8 實戰》(推薦,豆瓣評分 9.2 ):面向 Java 8 的技能升級,包括 Lambdas、流和函數式編程特性。實戰系列的一貫風格讓自己快速上手應用起來。Java 8 支持的 Lambda 是精簡表達在語法上提供的支持。Java 8 提供了 Stream,學習和使用可以建立流式編程的認知。
《Java 8 編程參考官方教程》(推薦,豆瓣評分 9.2):也還不錯吧。
《重構_改善既有代碼的設計》(推薦):豆瓣 9.1 分,重構書籍的開山鼻祖。
《Effective java 》(推薦,豆瓣評分 9.0,1.4K+人評價):本書介紹了在 Java 編程中 78 條極具實用價值的經驗規則,這些經驗規則涵蓋了大多數開發人員每天所面臨的問題的解決方案。通過對 Java 平台設計專家所使用的技術的全面描述,揭示了應該做什麼,不應該做什麼才能產生清晰、健壯和高效的代碼。本書中的每條規則都以簡短、獨立的小文章形式出現,並通過例子代碼加以進一步說明。本書內容全面,結構清晰,講解詳細。可作為技術人員的參考用書。
《代碼整潔之道》(推薦,豆瓣評分 9.1):雖然是用 Java 語言作為例子,全篇都是在闡述 Java 面向對象的思想,但是其中大部分內容其它語言也能應用到。
阿里巴巴 Java 開發手冊(詳盡版)https://github.com/alibaba/p3c/blob/master/阿里巴巴 Java 開發手冊(詳盡版).pdf
Google Java 編程風格指南:http://www.hawstein.com/posts/google-java-style.html
《圖解 HTTP》(推薦,豆瓣評分 8.1 , 1.6K+人評價): 講漫畫一樣的講 HTTP,很有意思,不會覺得枯燥,大概也涵蓋也 HTTP 常見的知識點。因為篇幅問題,內容可能不太全面。不過,如果不是專門做網路方向研究的小夥伴想研究 HTTP 相關知識的話,讀這本書的話應該來說就差不多了。
《HTTP 權威指南》(推薦,豆瓣評分 8.6):如果要全面了解 HTTP 非此書不可!
《鳥哥的 Linux 私房菜》(推薦,,豆瓣評分 9.1,0.3K+人評價):本書是最具知名度的 Linux 入門書《鳥哥的 Linux 私房菜基礎學習篇》的最新版,全面而詳細地介紹了 Linux 操作系統。全書分為 5 個部分:第一部分著重說明 Linux 的起源及功能,如何規劃和安裝 Linux 主機;第二部分介紹 Linux 的文件系統、文件、目錄與磁碟的管理;第三部分介紹文字模式介面 shell 和管理系統的好幫手 shell 腳本,另外還介紹了文字編輯器 vi 和 vim 的使用方法;第四部分介紹了對於系統安全非常重要的 Linux 賬號的管理,以及主機系統與程序的管理,如查看進程、任務分配和作業管理;第五部分介紹了系統管理員 (root) 的管理事項,如了解系統運行狀況、系統服務,針對登錄文件進行解析,對系統進行備份以及核心的管理等。
《大話數據結構》(推薦,豆瓣評分 7.9 , 1K+人評價):入門類型的書籍,讀起來比較淺顯易懂,適合沒有數據結構基礎或者說數據結構沒學好的小夥伴用來入門數據結構。
《數據結構與演算法分析:C 語言描述》(推薦,豆瓣評分 8.9,1.6K+人評價):本書是《Data Structures and Algorithm Analysis in C》一書第 2 版的簡體中譯本。原書曾被評為 20 世紀頂尖的 30 部計算機著作之一,作者 Mark Allen Weiss 在數據結構和演算法分析方面卓有建樹,他的數據結構和演算法分析的著作尤其暢銷,並受到廣泛好評.已被世界 500 余所大學用作教材。
《演算法圖解》(推薦,豆瓣評分 8.4,0.6K+人評價):入門類型的書籍,讀起來比較淺顯易懂,適合沒有演算法基礎或者說演算法沒學好的小夥伴用來入門。示例豐富,圖文並茂,以讓人容易理解的方式闡釋了演算法.讀起來比較快,內容不枯燥!
《演算法 第四版》(推薦,豆瓣評分 9.3,0.4K+人評價):Java 語言描述,演算法領域經典的參考書,全面介紹了關於演算法和數據結構的必備知識,並特別針對排序、搜索、圖處理和字元串處理進行了論述。書的內容非常多,可以說是 Java 程序員的必備書籍之一了。
《高性能 MySQL》(推薦,豆瓣評分 9.3,0.4K+人評價):mysql 領域的經典之作,擁有廣泛的影響力。不但適合資料庫管理員(dba)閱讀,也適合開發人員參考學習。不管是資料庫新手還是專家,相信都能從本書有所收獲。
《Redis 實戰》:如果你想了解 Redis 的一些概念性知識的話,這本書真的非常不錯。
《Redis 設計與實現》(推薦,豆瓣評分 8.5,0.5K+人評價):也還行吧!
《MySQL 技術內幕-InnoDB 存儲引擎》(推薦,豆瓣評分 8.7):了解 InnoDB 存儲引擎底層原理必備的一本書,比較深入。
《設計模式 : 可復用面向對象軟體的基礎》(推薦,豆瓣評分 9.1):設計模式的經典!
《Head First 設計模式(中文版)》(推薦,豆瓣評分 9.2):相當贊的一本設計模式入門書籍。用實際的編程案例講解演算法設計中會遇到的各種問題和需求變更(對的,連需求變更都考慮到了!),並以此逐步推導出良好的設計模式解決辦法。
《深入分析 Java Web 技術內幕》: 感覺還行,涉及的東西也蠻多。
《Netty 實戰》(推薦,豆瓣評分 7.8,92 人評價):內容很細,如果想學 Netty 的話,推薦閱讀這本書!
《從 Paxos 到 Zookeeper》(推薦,豆瓣評分 7.8,0.3K 人評價):簡要介紹幾種典型的分布式一致性協議,以及解決分布式一致性問題的思路,其中重點講解了 Paxos 和 ZAB 協議。同時,本書深入介紹了分布式一致性問題的工業解決方案——ZooKeeper,並著重向讀者展示這一分布式協調框架的使用方法、內部實現及運維技巧,旨在幫助讀者全面了解 ZooKeeper,並更好地使用和運維 ZooKeeper。
《Spring 實戰(第 4 版)》(推薦,豆瓣評分 8.3,0.3K+人評價):不建議當做入門書籍讀,入門的話可以找點國人的書或者視頻看。這本定位就相當於是關於 Spring 的新華字典,只有一些基本概念的介紹和示例,涵蓋了 Spring 的各個方面,但都不夠深入。就像作者在最後一頁寫的那樣:「學習 Spring,這才剛剛開始」。
《RabbitMQ 實戰指南》:《RabbitMQ 實戰指南》從消息中間件的概念和 RabbitMQ 的歷史切入,主要闡述 RabbitMQ 的安裝、使用、配置、管理、運維、原理、擴展等方面的細節。如果你想淺嘗 RabbitMQ 的使用,這本書是你最好的選擇;如果你想深入 RabbitMQ 的原理,這本書也是你最好的選擇;總之,如果你想玩轉 RabbitMQ,這本書一定是最值得看的書之一
《Spring Cloud 微服務實戰》:從時下流行的微服務架構概念出發,詳細介紹了 Spring Cloud 針對微服務架構中幾大核心要素的解決方案和基礎組件。對於各個組件的介紹,《Spring Cloud 微服務實戰》主要以示例與源碼結合的方式來幫助讀者更好地理解這些組件的使用方法以及運行原理。同時,在介紹的過程中,還包含了作者在實踐中所遇到的一些問題和解決思路,可供讀者在實踐中作為參考。
《第一本 Docker 書》:Docker 入門書籍!
《大型網站技術架構:核心原理與案例分析+李智慧》(推薦):這本書我讀過,基本不需要你有什麼基礎啊~讀起來特別輕松,但是卻可以學到很多東西,非常推薦了
《億級流量網站架構核心技術》(推薦):一書總結並梳理了億級流量網站高可用和高並發原則,通過實例詳細介紹了如何落地這些原則。本書分為四部分:概述、高可用原則、高並發原則、案例實戰。從負載均衡、限流、降級、隔離、超時與重試、回滾機制、壓測與預案、緩存、池化、非同步化、擴容、隊列等多方面詳細介紹了億級流量網站的架構核心技術,讓讀者看後能快速運用到實踐項目中。
《深入剖析 Tomcat》(推薦,豆瓣評分 8.4,0.2K+人評價):本書深入剖析 Tomcat 4 和 Tomcat 5 中的每個組件,並揭示其內部工作原理。通過學習本書,你將可以自行開發 Tomcat 組件,或者擴展已有的組件。 讀完這本書,基本可以擺脫背誦面試題的尷尬。
《深入理解 Nginx(第 2 版)》:作者講的非常細致,注釋都寫的都很工整,對於 Nginx 的開發人員非常有幫助。優點是細致,缺點是過於細致,到處都是代碼片段,缺少一些抽象。
《黑客與畫家》:這本書是矽谷創業之父,Y Combinator 創始人 Paul Graham 的文集。之所以叫這個名字,是因為作者認為黑客(並非負面的那個意思)與畫家有著極大的相似性,他們都是在創造,而不是完成某個任務。

Java書籍推薦:
基礎
並發
JVM
Java8 新特性
代碼優化
網路
操作系統
數據結構與演算法
資料庫
系統設計
設計模式
常用框架
網站架構
軟體底層
其他
原文鏈接:網頁鏈接
⑷ 請教,推薦幾本java類書籍
1、《Java編程思想》
在有了一定的Java編程經驗之後,你需要「知其所以然」了。這個時候《Java編程思想》是一本讓你知其所以然的好書,它 對於基本的面向對象知識有比較清楚的交待,對Java基本語法,基本類庫有比較清楚的講解,可以幫你打一個良好的Java編程基礎。這本書的缺點是實在太 厚,也比較羅嗦,不適合現代人快節奏學習,因此看這本書要懂得取捨,不是每章每節都值得一看的,挑重點的深入看就可以了。
2、《Agile Java》中文版
這本書是出版社送給我的,我一拿到就束之高閣,放在書櫃一頁都沒有翻過,但 是前兩天整理書櫃的時候,拿出來一翻,竟然發現這絕對是一本好書!這本書一大特點是以單元測試和TDD來貫穿全書的,在教你Java各種重要的基礎知識的 過程中,潛移默化的影響你的編程思維走向敏捷,走向TDD。另外這本書成書很新,以JDK5.0的語法為基礎講解,要學習JDK5.0的新語法也不錯。還 有這本書對於內容取捨也非常得當,Java語言畢竟類庫龐大,可以講的內容太多,這本書選擇的內容以及內容的多寡都很得當,可以讓你以最少的時間掌握 Java最重要的知識,順便培養出來優秀的編程思路,真是一本不可多得的好書。
雖然作者自己把這本書定位在入門級別,但我不確定這本書用來入門是不是稍微深了點,我自己也准備有空的時候翻翻這本書,學習學習。
二、Java編程進階類
打下一個良好的Java基礎,還需要更多的實踐經驗積累,我想沒有什麼捷徑。有兩本書值得你在編程生涯的這個階段閱讀,培養良好的編程習慣,提高你的代碼質量。
1、《重構 改善既有代碼的設計》
這本書名氣很大,不用多介紹,可以在閑暇的時候多翻翻,多和自己的實踐相互印證。這本書對產生影響是潛移默化的。
2、《測試驅動開發 by Example》
本書最大特點是很薄,看起來沒有什麼負擔。可以找一個周末的下午,一邊看,一邊照做,一個下午就把書看完,這本書的所有例子跑完了。這本書的作用是通過實戰讓你培養TDD的思路。
三、Java架構師之路
到這個階段,應該已經非常嫻熟的運用Java編程,而且有了一個良好的編程思路和習慣了,但是可能還缺乏對應用軟體整體架構的把握,現在就是邁向架構師的第一步。
1、《Expert One-on-One J2EE Design and Development》
這本書是Rod Johnson的成名著作,非常經典,從這本書中的代碼誕生了springframework。但是好像這本書沒有中譯本。
2、《Expert One-on-One J2EE Development without EJB》
這本書由gigix組織翻譯,多位業界專家參與,雖然署名譯者是JavaEye,其實JavaEye出力不多,實在是忝居譯者之名。
以上兩本書都是Rod Johnson的經典名著,Java架構師的必讀書籍。在所推薦的這些書籍當中,是看過的最仔細,最認真的書,當時讀這本書幾乎是廢寢忘食的一氣讀完的, 有小時候挑燈夜讀金庸武俠小說的勁頭,書中所講內容和自己的經驗知識一一印證,又被無比精闢的總結出來,讀完這本書以後,有種被打通經脈,功力爆增的感 覺。
但是後來看過一些其他人的評價,似乎閱讀體驗並沒有那麼high,也許是因為每個人的知識積累和經驗不同導致的。那個時候剛好是經驗知識積累已經足夠豐富,但是還沒有系統的整理成型,讓這本書一梳理,立刻形成完整的知識體系了。
3、《企業應用架構模式》
Martin的又一本名著,但這本書只是泛泛的看了一遍,並沒有仔細看。這本書 似乎更適合做框架的人去看,例如如果打算自己寫一個ORM的話,這本書是一定要看的。但是做應用的人,不看貌似也無所謂,但是如果有空,還是推薦認真看 看,會讓知道框架為什麼要這樣設計,這樣的層次可以晉升到框架設計者的角度去思考問題。Martin的書向來都是推崇,但是從來都沒有像Rod Johnson的書那樣非常認真去看。
4、《敏捷軟體開發原則、模式與實踐》
Uncle Bob的名著,敏捷的經典名著,這本書比較特別,與其說是講軟體開發過程的書,不如說講軟體架構的書,本書用了很大篇幅講各種面向對象軟體開發的各種模式,個人以為看了這本書,就不必看GoF的《設計模式》了。
四、軟體開發過程
了解軟體開發過程不單純是提高程序員個人的良好編程習慣,也是增強團隊協作的基礎。
1、《UML精粹》
UML其實和軟體開發過程沒有什麼必然聯系,卻是軟體團隊協作溝通,撰寫軟體文檔需要的工具。但是UML真正實用的圖不多,看看這本書已經足夠了,完全沒有必要去啃《UML用戶指南》之類的東西。要提醒大家的是,這本書的中譯本翻譯的非常之爛,建議有條件的看英文原版。
2、《解析極限編程 擁抱變化》XP
這是Kent Beck名著的第二版,中英文對照。沒什麼好說的,必讀書籍。
3、《統一軟體開發過程》UP
其實UP和敏捷並不一定沖突,UP也非常強調迭代,測試,但是UP強調的文檔和過程驅動卻是敏捷所不取的。不管怎麼說,UP值得去讀,畢竟在中國真正接受敏捷的企業很少,還是需要用UP來武裝一下自己的,哪怕是披著UP的XP。
4、《敏捷建模》AM
Scott Ambler的名著,這本書非常的progmatic,告訴怎麼既 敏捷又UP,把敏捷和UP統一起來了,又提出了很多progmatic的建議和做法。可以把《解析極限編程擁抱變化》、《統一軟體開發過程》和《敏捷建 模》這三本書放在一起讀,看XP和UP的不同點,再看AM是怎麼統一XP和UP的,把這三種理論融為一爐,形成自己的理論體系,那麼也可以去寫書了。
五、軟體項目管理
如果突然被領導提拔為項目經理,而完全沒有項目管理經驗,肯定會心裡沒底;如果覺得自己管理項目不善,很想改善項目管理能力,那麼去考PMP肯定是遠水不解近渴的。
1、《快速軟體開發》
這也是一本名著。可以這樣說,有本書在手,就有了一個項目管理的高級參謀給 你出謀劃策,再也不必擔心自己不能勝任的問題了。這本書不是講管理的理論的,在實際的項目管理中,講這些理論是不解決問題的,這本書有點類似於「軟體項目 點子大全」之類的東西,列舉了種種軟體項目當中面臨的各種問題,以及應該如何解決問題的點子,只需要稍加變通,找方抓葯就行了。
六、總結
在這份推薦閱讀書籍的名單中,沒有列舉流行的軟體框架類學習書籍,例如Struts,Hibernate,Spring之類,也沒有列舉AJAX方面的書籍。是因為這類書籍容易過時,而上述的大半書籍的生命周期都足夠長,值得去購買和收藏。
⑸ 深入分析Java Web技術內幕的作者簡介
許令波,畢業於合肥工業大學,獲計算機碩士學位。熱愛Java Web技術,關注服務端性能優化,熱衷開源技術的研究和分享,曾獲developerWorks最佳作者稱號。2009年進入淘寶工作,目前從事模板渲染框架與MVC框架的開發與應用、Java Web的性能優化、高訪問量系統靜態化和商品詳情系統的業務改造等工作。
⑹ 跟蹤域名解析過程的幾條命令
在學習計算機網路的時候就知道到了DNS的解析過程,但是一直沒有實踐過。這次趁著配置狗爹上買的域名,通過跟蹤域名的解析過程,算是DNS有了更深刻的了解。
nslookup(name server lookup)是一個用於查詢 Internet域名信息或診斷DNS 伺服器問題的工具。在windows和Linux都可以通過nslookup輸入域名得到相應的IP地址。相反的,我們也可以通過輸入IP地址來獲得主機名。
獲取更詳細的應用,請參照 nslookup 命令用法 。
在Linux系統中,通過dig命令可以查詢DNS的解析過程。
下面展示的是使用最簡單的dig命令來查詢DNS的結果,這對我們理解復雜一點的dig命令的結果很有幫助。
輸出了DIG和Linux的版本號以及查詢的域名
說明可以增加參數cmd。
表示下面信息是此次查詢所得的結果,包含5個部分,分別是頭部HEADER,查詢部分QUESTION SECTION,回復部分ANSWER SECTION,權威機構部分AUTHORITY SECTION,附加部分ADDITIONAL SECTION。
opcode 操作碼,QUERY,代表是查詢操作
status 狀態,NOERROR,代表沒有錯誤
id 編號,7794,16bit數字,在dns協議中,通過編號匹配返回和查詢。
flags 標志,如果出現就表示有標志,如果不出現就未設置標志:
qr query,查詢標志,代表是查詢操作
rd recursion desired, 代表希望進行遞歸(recursive)查詢操作
ra recursive available 在返回中設置,代表查詢的伺服器支持遞歸(recursive)查詢操作。
aa Authoritative Answer 權威回復,如果查詢結果由管理域名的域名伺服器而不是緩存伺服器提供的,則稱為權威回復。
QUERY 查詢數,1代表1個查詢,對應下面的QUESTION SECTION中的記錄數
ANSWER 結果數,3代表有3項結果,對應下面ANSWER SECTION中的記錄數
AUTHORITY 權威域名伺服器記錄數,4代表該域名有4個權威域名伺服器,可供域名解析用。對應下面AUTHORITY SECTION
ADDITIONAL 格外記錄數,4代表有4項格外記錄。對應下面 ADDITIONAL SECTION。
查詢部分,從左到右各部分意義:
1、要查詢的域名,這里是hihuaning.com.,'.'代表根域名,com頂級域名,hihuaning二級域名
2、class,要查詢信息的類別,IN代表類別為IP協議,即Internet。還有其它類別,比如chaos等,由於現在都是互聯網,所以其它基本不用。
3、type,要查詢的記錄類型,A記錄(Address),代表要查詢ipv4地址。AAAA記錄,代表要查詢ipv6地址。
回應部分,回應有CNAME記錄和A記錄,說說CNAME記錄從左到右各部分意義:
1、對應的域名,這里是hihuaning.com.,'.'代表根域名,com頂級域名,hihuaning二級域名
2、TTL,time ro live,緩存時間,單位秒。5,代表緩存域名伺服器,可以在緩存中保存5秒該記錄。
3、class,要查詢信息的類別,IN代表類別為IP協議,即Internet。還有其它類別,比如chaos等,由於現在都是互聯網,所以其它基本不用。
4、type,要查詢的記錄類型,CNAME記錄,代表hihuaning.com有個別名samkingz.github.io
5、域名對應的CNAME別名
權威域名部分,回應都是NS記錄(Name Server),NS記錄從左到右各部分意義:
1、對應的域名,這里是fastlylb.net.,'.'代表根域名,com頂級域名,fastlylb二級域名
2、TTL,time ro live,緩存時間,單位秒。5,代表緩存域名伺服器,可以在緩存中保存5秒該記錄。
3、class,要查詢信息的類別,IN代表類別為IP協議,即Internet。還有其它類別,比如chaos等,由於現在都是互聯網,所以其它基本不用。
4、type,要查詢的記錄類型,NS,Name Server,NS記錄,代表該記錄描述了域名對應的權威域名解析伺服器
5、域名對應域名對應的權威域名解析伺服器。由於ns3.fastlylb.net.是fastlylb.net.的子域名,而解析子域名,又需要主域名的信息,為了打破這個死循環,需要在下面的額外記錄中提供該伺服器的ip地址。
額外記錄部分,這里都是A記錄,A記錄從左到右各部分意義:
1、對應的域名,這里是ns1.fastlylb.net.,'.'代表根域名,net頂級域名,fastlylb二級域名,ns1是三級域名。
2、TTL,time ro live,緩存時間,單位秒。5,代表緩存域名伺服器可以在緩存中保存5秒該記錄。
3、class,要查詢信息的類別,IN代表類別為IP協議,即Internet。還有其它類別,比如chaos等,由於現在都是互聯網,所以其它基本不用。
4、type,要查詢的記錄類型,A記錄,代表要查詢ipv4地址。AAAA記錄,代表要查詢ipv6地址。
5、域名對應的ip地址。
查詢耗時
查詢使用的伺服器地址和埠
查詢的時間
回應的大小。收到(rcve, recieved)256位元組。
使用 dig hihuaning.com +trace 命令,我們可以看到整個域名是如何發起和解析的,從根域名(.)到gTLD Server(.com),再到Name Server(hihuaning.com.)的整個過程都顯示出來了。
獲取更詳細的應用,請參照 dig 命令用法 。
從dig查詢結果看DNS的A記錄和NS記錄
深入分析java web技術內幕
⑺ 玉溪java培訓學校告訴你一位大神的學習JAVA心路歷程
最近有好多小夥伴向我咨詢:「如何學習JAVA?」,其實這個問題太寬泛了,好像每個人在一開始接觸java的時候都會請教這個問題。本人對這個問題有很深的體悟和感慨,一開始想要自學,結果不夠自律,後來選擇了一家培訓機構進行學習。今天,玉溪IT培訓http://www.kmbdqn.cn/想要在這里分享我的心路歷程。
一.明確自己學習的原因
1.問問自己是抱著什麼目的要學習Java,沒有目標的學習是效率極低的,並且容易半途而廢;
2.了解Java可以做什麼,Java可以從事的崗位以及軟體行業的發展情況;
3.自己是否對Java方向感興趣;
二.學習Java基礎
1.學習准備
推薦看視頻入門,可以通過某寶以及某魚購買相關的視頻,別挑三揀四,選中一個視頻看完再說,對於初學者,無論選哪一個都是值得你學習的。
有人說編輯器等IDE環境不適合看視頻,浪費時間,但是初學者在學習第一個編程IDE時,推薦看視頻或者通過搜索引擎了解工具的使用,看書其實在剛開始可能更浪費時間;
看完基礎視頻對知識有個大概的了解,這時候看書就不會一頭霧水,此時可以通過看書來深入學習,之後的學習可以自己選擇看書還是看視頻,最好的方法是花時間既看視頻也看書;
學著學著忘掉前面的別總想著回頭記住,先往後學,有些基礎知識暫時用不上,當你學到應用的知識時自然會慢慢理解;
2.書籍推薦
入門書籍:《HeadFirstJava》、《Java核心技術》
進階書籍:《Java編程思想》
三.JavaWeb
1.學習路線
學習完Java基礎,接著適合學習JavaWeb,這個推薦看視頻,學習資料庫和JDBC基礎知識以及基本的前端知識,然後學習SSM框架,學習路線為:
Mysql->JDBC->HTML、CSS、JavaScript、JSP->Spring->SpringMVC->Mybatis->SSM整合->SSM項目實戰
2.書籍推薦
《深入分析javaweb技術內幕》
《架構探險-從零開始寫javaweb框架》
並發編程
《Java並發編程的藝術》
設計模式
《HeadFirst設計模式》
JVM
《深入理解Java虛擬機》
要想超越別人,不僅僅要掌握實戰技能,更重要的是基礎扎實
⑻ 深入分析Java Web技術內幕的圖書目錄
第1章 深入Web請求過程 1
1.1 B/S網路架構概述 2
1.2 如何發起一個請求 4
1.3 HTTP協議解析 6
1.3.1 查看HTTP信息的工具 8
1.3.2 瀏覽器緩存機制 9
1.4 DNS域名解析 12
1.4.1 DNS域名解析過程 12
1.4.2 跟蹤域名解析過程 15
1.4.3 清除緩存的域名 18
1.4.4 幾種域名解析方式 19
1.5 CDN工作機制 20
1.5.1 CDN架構 20
1.5.2 負載均衡 21
1.6 總結 24
第2章 深入分析Java I/O的工作機制 25
2.1 Java的I/O類庫的基本架構 25
2.1.1 基於位元組的I/O操作介面 26
2.1.2 基於字元的I/O操作介面 27
2.1.3 位元組與字元的轉化介面 28
2.2 磁碟I/O工作機制 29
2.2.1 幾種訪問文件的方式 29
2.2.2 Java訪問磁碟文件 33
2.2.3 Java序列化技術 34
2.3 網路I/O工作機制 36
2.3.1 TCP狀態轉化 37
2.3.2 影響網路傳輸的因素 39
2.3.3 Java Socket的工作機制 39
2.3.4 建立通信鏈路 40
2.3.5 數據傳輸 41
2.4 NIO的工作方式 41
2.4.1 BIO帶來的挑戰 41
2.4.2 NIO的工作機制 42
2.4.3 Buffer的工作方式 45
2.4.4 NIO的數據訪問方式 47
2.5 I/O調優 49
2.5.1 磁碟I/O優化 49
2.5.2 TCP網路參數調優 50
2.5.3 網路I/O優化 52
2.6 設計模式解析之適配器模式 56
2.6.1 適配器模式的結構 56
2.6.2 Java I/O中的適配器模式 57
2.7 設計模式解析之裝飾器模式 57
2.7.1 裝飾器模式的結構 58
2.7.2 Java I/O中的裝飾器模式 58
2.8 適配器模式與裝飾器模式的區別 59
2.9 總結 59
第3章 深入分析Java Web中的中文編碼問題 60
3.1 幾種常見的編碼格式 60
3.1.1 為什麼要編碼 60
3.1.2 如何「翻譯」 61
3.2 Java中需要編碼的場景 63
3.2.1 I/O操作中存在的編碼 63
3.2.2 內存操作中的編碼 65
3.3 Java中如何編解碼 66
3.3.1 按照ISO-8859-1編碼 68
3.3.2 按照GB2312編碼 69
3.3.3 按照GBK編碼 70
3.3.4 按照UTF-16編碼 70
3.3.5 按照UTF-8編碼 71
3.3.6 UTF-8編碼代碼片段 71
3.3.7 幾種編碼格式的比較 73
3.4 Java Web中涉及的編解碼 73
3.4.1 URL的編解碼 75
3.4.2 HTTP Header的編解碼 78
3.4.3 POST表單的編解碼 78
3.4.4 HTTP BODY的編解碼 79
3.5 JS中的編碼問題 80
3.5.1 外部引入JS文件 80
3.5.2 JS的URL編碼 81
3.5.3 其他需要編碼的地方 83
3.6 常見問題分析 83
3.6.1 中文變成了看不懂的字元 83
3.6.2 一個漢字變成一個問號 84
3.6.3 一個漢字變成兩個問號 84
3.6.4 一種不正常的正確編碼 85
3.7 總結 86
第4章 Javac編譯原理 87
4.1 Javac是什麼 88
4.2 Javac編譯器的基本結構 88
4.3 Javac工作原理分析 90
4.3.1 詞法分析器 91
4.3.2 語法分析器 98
4.3.3 語義分析器 103
4.3.4 代碼生成器 113
4.4 設計模式解析之訪問者模式 116
4.4.1 訪問者模式的結構 117
4.4.2 Javac中訪問者模式的實現 118
4.5 總結 119
第5章 深入class文件結構 120
5.1 JVM指令集簡介 120
5.1.1 類相關的指令 122
5.1.2 方法的定義 123
5.1.3 屬性的定義 124
5.1.4 其他指令集 125
5.2 class文件頭的表示形式 133
5.3 常量池 137
5.3.1 UTF8常量類型 140
5.3.2 Fieldref、Methodref常量類型 141
5.3.3 Class常量類型 141
5.3.4 NameAndType常量類型 142
5.4 類信息 142
5.5 Fields和Methods定義 143
5.6 類屬性描述 147
5.7 Javap生成的class文件結構 148
5.7.1 LineNumberTable 150
5.7.2 LocalVariableTable 151
5.8 總結 153
第6章 深入分析ClassLoader 工作機制 154
6.1 ClassLoader類結構分析 155
6.2 ClassLoader的等級載入機制 156
6.3 如何載入class文件 159
6.3.1 載入位元組碼到內存 159
6.3.2 驗證與解析 161
6.3.3 初始化Class對象 161
6.4 常見載入類錯誤分析 161
6.4.1 ClassNotFoundException 161
6.4.2 NoClassDefFoundError 162
6.4.3 UnsatisfiedLinkError 163
6.4.4 ClassCastException 164
6.4.5 ExceptionInInitializerError 165
6.5 常用的ClassLoader分析 166
6.6 如何實現自己的ClassLoader 170
6.6.1 載入自定義路徑下的class文件 170
6.6.2 載入自定義格式的class文件 172
6.7 實現類的熱部署 174
6.8 Java應不應該動態載入類 176
6.9 總結 177
第7章 JVM體系結構與工作方式 178
7.1 JVM體系結構 178
7.1.1 何謂JVM 178
7.1.2 JVM體系結構詳解 181
7.2 JVM工作機制 183
7.2.1 機器如何執行代碼 183
7.2.2 JVM為何選擇基於棧的架構 184
7.2.3 執行引擎的架構設計 185
7.2.4 執行引擎的執行過程 186
7.2.5 JVM方法調用棧 191
7.3 總結 195
第8章 JVM內存管理 196
8.1 物理內存與虛擬內存 197
8.2 內核空間與用戶空間 198
8.3 Java中哪些組件需要使用內存 199
8.3.1 Java堆 199
8.3.2 線程 199
8.3.3 類和類載入器 200
8.3.4 NIO 200
8.3.5 JNI 201
8.4 JVM內存結構 201
8.4.1 PC寄存器 202
8.4.2 Java棧 202
8.4.3 堆 203
8.4.4 方法區 203
8.4.5 運行時常量池 204
8.4.6 本地方法棧 204
8.5 JVM內存分配策略 204
8.5.1 通常的內存分配策略 205
8.5.2 Java中內存分配詳解 205
8.6 JVM內存回收策略 210
8.6.1 靜態內存分配和回收 210
8.6.2 動態內存分配和回收 211
8.6.3 如何檢測垃圾 211
8.6.4 基於分代的垃圾收集演算法 213
8.7 內存問題分析 222
8.7.1 GC日誌分析 222
8.7.2 堆快照文件分析 225
8.7.3 JVM Crash日誌分析 225
8.8 實例1 231
8.9 實例2 233
8.10 實例3 235
8.11 總結 240
第9章 Servlet工作原理解析 241
9.1 從Servlet容器說起 241
9.1.1 Servlet容器的啟動過程 242
9.1.2 Web應用的初始化工作 245
9.2 創建Servlet實例 247
9.2.1 創建Servlet對象 248
9.2.2 初始化Servlet 248
9.3 Servlet體系結構 250
9.4 Servlet如何工作 253
9.5 Servlet中的Listener 255
9.6 Filter如何工作 257
9.7 Servlet中的url-pattern 259
9.8 總結 260
第10章 深入理解Session與Cookie 261
10.1 理解Cookie 262
10.1.1 Cookie屬性項 262
10.1.2 Cookie如何工作 263
10.1.3 使用Cookie的限制 266
10.2 理解Session 267
10.2.1 Session與Cookie 267
10.2.2 Session如何工作 268
10.3 Cookie安全問題 271
10.4 分布式Session框架 272
10.4.1 存在哪些問題 272
10.4.2 可以解決哪些問題 273
10.4.3 總體實現思路 273
10.5 Cookie壓縮 278
10.6 表單重復提交問題 280
10.7 總結 281
第11章 Tomcat的系統架構與 設計模式 282
11.1 Tomcat總體設計 282
11.1.1 Tomcat總體結構 283
11.1.2 Connector組件 289
11.1.3 Servlet容器Container 294
11.1.4 Tomcat中的其他組件 305
11.2 Tomcat中的設計模式 305
11.2.1 門面設計模式 305
11.2.2 觀察者設計模式 307
11.2.3 命令設計模式 309
11.2.4 責任鏈設計模式 310
11.3 總結 312
第12章 Jetty的工作原理解析 313
12.1 Jetty的基本架構 313
12.1.1 Jetty的基本架構簡介 313
12.1.2 Handler的體系結構 315
12.2 Jetty的啟動過程 316
12.3 接受請求 317
12.3.1 基於HTTP協議工作 317
12.3.2 基於AJP工作 319
12.3.3 基於NIO方式工作 322
12.4 處理請求 323
12.5 與Jboss集成 326
12.6 與Tomcat的比較 327
12.6.1 架構比較 327
12.6.2 性能比較 328
12.6.3 特性比較 328
12.7 總結 329
第13章 Spring框架的設計理念與 設計模式分析 330
13.1 Spring的骨骼架構 330
13.1.1 Spring的設計理念 331
13.1.2 核心組件如何協同工作 332
13.2 核心組件詳解 333
13.2.1 Bean組件 333
13.2.2 Context組件 335
13.2.3 Core組件 336
13.2.4 Ioc容器如何工作 338
13.3 Spring中AOP特性詳解 348
13.3.1 動態代理的實現原理 348
13.3.2 Spring AOP如何實現 351
13.4 設計模式解析之代理模式 354
13.4.1 代理模式原理 354
13.4.2 Spring中代理模式的實現 354
13.5 設計模式解析之策略模式 357
13.5.1 策略模式原理 357
13.5.2 Spring中策略模式的實現 358
13.6 總結 358
第14章 Spring MVC工作機制與 設計模式 360
14.1 Spring MVC的總體設計 360
14.2 Control設計 365
14.2.1 HandlerMapping初始化 366
14.2.2 HandlerAdapter初始化 368
14.2.3 Control的調用邏輯 369
14.3 Model設計 370
14.4 View設計 371
14.5 框架設計的思考 373
14.5.1 為什麼需要框架 373
14.5.2 需要什麼樣的框架 373
14.5.3 框架設計的原則 374
14.5.4 「指航燈」 374
14.5.5 最基本的原則 374
14.6 設計模式解析之模板模式 375
14.6.1 模板模式的結構 375
14.6.2 Spring MVC中的模板模式示例 376
14.7 總結 377
第15章 深入分析Ibatis框架之系統 架構與映射原理 378
15.1 Ibatis框架主要的類層次結構 378
15.2 Ibatis框架的設計策略 379
15.3 Ibatis框架的運行原理 381
15.4 示例 383
15.5 Ibatis對SQL語句的解析 385
15.6 資料庫欄位映射到Java對象 386
15.7 示例運行的結果 388
15.8 設計模式解析之簡單工廠模式 388
15.8.1 簡單工廠模式的實現原理 388
15.8.2 Ibatis中的簡單工廠模式示例 389
15.9 設計模式解析之工廠模式 390
15.9.1 工廠模式的實現原理 390
15.9.2 Ibatis中的工廠模式示例 391
15.10 總結 392
第16章 Velocity工作原理解析 394
16.1 Velocity總體架構 395
16.2 JJTree渲染過程解析 398
16.2.1 #set語法 402
16.2.2 Velocity的方法調用 403
16.2.3 #if、#elseif和#else語法 406
16.2.4 #foreach語法 407
16.2.5 #parse語法 409
16.3 事件處理機制 410
16.4 常用優化技巧 413
16.4.1 減少樹的總節點數量 413
16.4.2 減少渲染耗時的節點數量 413
16.5 與JSP比較 414
16.5.1 JSP渲染機制 414
16.5.2 Velocity與JSP 420
16.6 設計模式解析之合成模式 420
16.6.1 合成模式的結構 420
16.6.2 Velocity中合成模式的實現 421
16.7 設計模式解析之解釋器模式 422
16.7.1 解釋器模式的結構 422
16.7.2 Velocity中解釋器模式的實現 423
16.8 總結 423
第17章 Velocity優化實踐 424
17.1 現實存在的問題 424
17.2 優化的理論基礎 425
17.2.1 程序語言的三角形結構 425
17.2.2 數據結構減少抽象化 426
17.2.3 簡單的程序復雜化 426
17.2.4 減少翻譯的代價 427
17.2.5 變的轉化為不變 427
17.3 一個高效的模板引擎的實現思路 427
17.3.1 vm模板如何被編譯 429
17.3.2 方法調用的無反射優化 436
17.3.3 字元輸出改成位元組輸出 439
17.4 優化的成果 440
17.4.1 char轉成byte 440
17.4.2 無反射執行 441
17.5 其他優化手段 442
17.6 總結 442
⑼ java編程有哪幾本書比較適合初學者
對於Java的初學者來說,如果找一本比較合適的入門教材的話,完整地介紹Java的 語法、面向對象和主要的API核心庫等知識,那將對學習起到相當的促進作用。 我個人認為,一些經典的國外教材確實值得推崇,首先推薦要看的是《21天學通Ja va 2》、《循序漸進Java 2教程》、《Java2從入門到精通》等書看起來比較淺顯易 懂,將Java的基本只是都涉及到了,使你在很短的時間內掌握Java的基本內容。 看完這這本書之一以後,你就想對Java全面深入的學習,現在向你推薦《Java大學 教程》、《Java 2編程指南》等書,這幾本書對Java的語法、面向對象的知識和AP I函數庫等介紹的比較詳盡。讓你能夠比較熟練的使用Java來編程,解決一般的問題 。 最後向大家推薦的是《Java2核心技術》,這本書主要講述了Java的核心技術也是J ava的難點之處,具有很高的參考價值,無論是Java的初學者還是Java編程老手,都 能從此書受益。 這時候大家可能會注意到,其中竟然沒有大名鼎鼎的《Thinking in Java》這本書 。其實,這本書主要是從編程思想上來講的,並沒有完整的講述Java的整個體系, 而是一種類似Tips的方法來對Java的知識點進行深入的分析和解釋,就好像C++的經 典教材《C++ Primier》一樣,並不適合作為初學語言的入門教材,蛋是在深入學習 Java的過程中的同時來讀這本書會覺得受益匪淺。 值得一提的是,其實最有實用價值的是JDK-Document(下文中簡稱doc, http://ja va.sun.com/j2se/1.5.0/download.jsp中有離線版下載的,本例中只是列舉了1.5的 doc,在相應的地方可以下載1.4甚至1.3的doc)和Java Tutorial在線教程( http:/ /java.sun.com/docs/books/tutorial/這個是在線查看的,離線版的下載本人目前 還不知道)。在doc中有四個部分API 文檔(對SDK自帶的標准Java API都進行了詳 細的介紹,它是按照package來組織的,詳細介紹了每一個class的繼承關系,介面 的實現情況,以及所有public的屬性和方法,對於每個方法的用途、調用的參數、 參數的類型,返回值的類型、以及方法可能拋出的異常等等)、guide(對一些Jav a技術和概念進行講述)、relnotes(這個介紹新版本的JDK的發布信息以及新特點 )、tooldocs(主要對Java的所有命令進行講述)。Doc是我們每一個Java工作者在 編程時必須的手冊,目前只有英文版,sun中國社區正在進行漢化,相信不久就會出 現中文版的doc了。Tutorial也相當的不錯,主要針對初學者,不過對於其他階段的 Java學習者也有很大的幫助了。 以上主要針對J2SE的學習進行講述的,Java主要有J2SE、J2EE、J2ME三個部分,J2 SE是基礎。當我們對J2SE的學習掌握的差不多的時候,其實我們就會對Java的學習 有自己獨特的體會,就會發現每一個Java技術自己所帶的doc都對我們的學習有很大 的幫助。此外,經常去一些著名的網站上去看看各位網友的作品,對Java學習的心 得,確實對我們有很大提高,這里推薦 http://blog.csdn.net 。經常去圖書館或者 到書店去看看有關Java的書,看看它們是不是自己所需要的,這時候,選擇學習Ja va的書籍就會自己拿主意了。 在上述的一些書籍的介紹中,並非每本書都要看,可根據自己的實際情況進行選擇 ,或者像Java先行者咨詢即可。