Book description
開發網路應用程式
本書對Java網路程式設計提供完整介紹,讀者會學到如何使用Java的網路類別庫,輕鬆完成多執行緒伺服器,加密通訊,區域網路廣播與發送數據到伺服器端處理程式等常見的網路通訊任務。
作者Elliotte Rusty Harold在書中以完整的範例介紹方法與類別,重新編寫過的第四版涵蓋了REST,SPDY,非同步的I/O以及其他新技術。
‧TCP/IP,UDP/IP等網際網路底層通訊協定
‧處理網路輸出入的Java API
‧InetAddress與DNS交互運作
‧以URI與URL類別尋找與下載網路資源
‧深入解析HTTP通訊協定,包括REST,標頭與cookie等
‧以Java的socket類別開發網路用戶端與伺服器程式
‧透過非阻斷的I/O管理巨量連線
作者Elliotte Rusty Harold有近二十年的Java網路程式設計經驗,他曾經寫過多本關於Java,XML與HTML書籍,是許多專業論壇的專題主講人之一,同時也是Jaxen XPath library與XOM等開源專案的參與者
Table of contents
- 封面
- 書名頁
- 英文版權頁
- 獻給
- 目錄 (1/2)
- 目錄 (2/2)
- 前言 (1/2)
- 前言 (2/2)
- 第一章 網路概論
- 網路
- 網路的分層
- 主機至網路層
- 網際網路層
- 傳輸層
- 應用層
- IP、TCP與UDP
- IP位址與域名
- 埠(port)
- 網際網路
- 位址區塊
- 轉址(NAT)
- 防火牆
- 代理(proxy)伺服器
- 主從式架構
- 網路標準
- IETF的RFC
- W3C建議書
- 第二章 串流
- 輸出串流
- 輸入串流
- 標記與重置
- 過濾器串流
- 串接過濾器
- 有緩衝區的串流
- PrintStream
- 資料串流
- Reader與Writer
- Writer
- OutputStreamWriter
- Reader
- 過濾器Reader與Writer
- PrintWriter
- 第三章 執行緒
- 執行緒運作
- 執行緒的subclass
- 實作Runnable介面
- 從執行緒回傳資訊
- 競爭狀態(race condition)
- 輪詢(polling)
- 回呼(callback)
- Future、Callable與Executor
- 同步(synchronization)
- 同步化區段
- 同步化method
- 同步化的替代方案
- 死結
- 執行緒排程
- 優先權
- 搶佔行為(preemption) (1/2)
- 搶佔行為(preemption) (2/2)
- 執行緒的pool與executor
- 第四章 網際網路位址
- InetAddress類別
- 建構InetAddress物件
- Getter Method
- 位址的種類
- 檢查連接性
- 物件方法
- Inet4Address與Inet6Address
- NetworkInterface類別
- Factory Method
- Getter Method
- 一些有用的程式
- SpamCheck
- 處理網站記錄
- 第五章 URL與URI
- URI
- URL
- 相對路徑(relative)URL
- URL類別
- 建構URL
- 從URL取得資料 (1/2)
- 從URL取得資料 (2/2)
- 分解URL
- 等式與比較
- 型別轉換
- URI類別
- 建構URI
- URI的組成部分
- 解析相對路徑URI
- 等式與比較
- 以字串表示
- x-www-form-urlencoded
- URLEncoder
- URLDecoder
- 代理
- 系統屬性
- Proxy類別
- ProxySelector類別
- 透過GET與伺服器端程式通訊
- 存取密碼保護的網站
- Authenticator類別
- PasswordAuthentication類別
- JPasswordField類別
- 第六章 HTTP
- 通訊協定
- Keep-Alive
- HTTP Methods
- 請求資料
- Cookie
- CookieManager
- CookieStore
- 第七章 URLConnection
- 建立URLConnection
- 從伺服器讀取資料
- 讀取標頭
- 讀取特定標頭欄位 (1/2)
- 讀取特定標頭欄位 (2/2)
- 讀取未定義標頭欄位
- 快取
- Java的網頁快取
- 連線組態
- protected URL url
- protected boolean connected
- protected boolean allowUserInteraction
- protected boolean doInput
- protected boolean doOutput
- protected boolean ifModifiedSince
- protected boolean useCaches
- Timeout
- 設定用戶端請求的HTTP標頭
- 輸出資料到伺服器 (1/2)
- 輸出資料到伺服器 (2/2)
- URLConnection的安全考量
- 猜測MIME媒體格式
- HttpURLConnection
- 請求的method
- 切斷連線
- 處理伺服器回應
- 代理伺服器
- 串流模式
- 第八章 用戶端的Socket
- 使用socket
- 使用Telnet偵測通訊協定
- 以socket讀取伺服器 (1/2)
- 以socket讀取伺服器 (2/2)
- 以socket輸出到伺服器
- 建構與連接socket
- 基本建構元
- 選擇連線網路介面
- 無連線建構
- socket定址
- 代理伺服器
- 取得socket資訊
- 關閉或連線中?
- toString()
- 設定socket選項
- TCP_NODELAY
- SO_LINGER
- SO_TIMEOUT
- SO_RCVBUF與SO_SNDBUF
- SO_KEEPALIVE
- OOBINLINE
- SO_REUSEADDR
- IP_TOS服務分類
- socket的例外
- GUI應用程式中的socket
- whois
- 網路用戶端函式庫 (1/2)
- 網路用戶端函式庫 (2/2)
- 第九章 伺服器的socket
- 使用ServerSocket
- 輸出二進位資料
- 多執行緒伺服器
- 以socket撰寫伺服器
- 關閉伺服器socket
- 伺服器記錄
- 記錄什麼
- 如何記錄
- 建構伺服器socket
- 無綁定的建構
- 取得伺服器socket資訊
- socket選項
- SO_TIMEOUT
- SO_REUSEADDR
- SO_RCVBUF
- 服務類型
- HTTP伺服器
- 單檔伺服器
- 重新導向
- 全功能HTTP伺服器 (1/2)
- 全功能HTTP伺服器 (2/2)
- 第十章 加密的Socket
- 加密通訊
- 建構加密用戶端socket
- 選擇加密套件(Cipher Suite)
- 事件處理程序
- Session管理
- 用戶模式
- 建構加密的伺服器端socket
- SSLServerSockets組態
- 選擇加密套件
- session管理員
- 用戶模式
- 第十一章 非阻斷I/O(NIO)
- 用戶端範例
- 伺服器範例 (1/2)
- 伺服器範例 (2/2)
- 緩衝區
- 建構緩衝區
- 填入與排放
- 批量(bulk)
- 資料轉換
- view緩衝區
- 收攏(compacting)緩衝區
- 複製緩衝區
- 分割(slicing)緩衝區
- 記號與重置
- Object的method
- 通道
- SocketChannel
- ServerSocketChannel
- Channels類別
- 非同步通道(Java 7)
- socket選項(Java 7)
- 選擇就緒的socket
- Selector類別
- SelectionKey類別
- 第十二章 UDP
- UDP通訊協定
- UDP用戶端
- UDP伺服器
- DatagramPacket類別
- 建構元
- 讀取的method
- setter
- DatagramSocket類別
- 建構元
- 發送與接收數據報
- 管理連線
- socket選項
- SO_TIMEOUT
- SO_RCVBUF
- SO_SNDBUF
- SO_REUSEADDR
- SO_BROADCAST
- IP_TOS
- 一些有用的應用程式
- 簡單的UDP用戶端
- UDPServer
- UDP版echo用戶端
- DatagramChannel
- 使用DatagramChannel
- 第十三章 IP多址傳送
- 多址傳送
- 多址傳送的位址與群組
- 用戶端與伺服器
- 路由器與路徑
- 使用多址傳送socket
- 建構元
- 與多址傳送群組溝通
- 兩個簡單的範例
- 索引 (1/3)
- 索引 (2/3)
- 索引 (3/3)
- 關於作者
- 出版記事
Product information
- Title: JAVA網路程式設計第四版
- Author(s):
- Release date: September 2014
- Publisher(s): GoTop Information, Inc.
- ISBN: None
You might also like
book
Java性能优化实践:JVM调优策略、工具与技巧
在当前的互联网开发模式下,系统访问量日增、代码臃肿,各种性能问题纷至沓来。性能优化作为一个常谈常新的话题,受到越来越多开发者的关注。而Java是一门使用广泛的语言,社区生态中积攒了大量宝贵的性能优化经验。 作为一本性能调优方面的实用指南,本书从实验科学的角度将JVM调优的技术原理与方法论相结合,并在此基础上提供了可选择的工具。通过对各方面的深入研究,本书能让使用复杂技术栈的中高级Java技术专家以量化和可验证的方法优化Java应用程序性能。 了解Java的原则和技术如何充分利用现代硬件和操作系统 探究一些性能测试以及困扰团队的常见反模式 理解测量Java性能数据的陷阱以及微基准测试的缺点 深入研究JVM垃圾收集日志、监控、调优和工具 探究JIT编译和Java语言性能技术 学习Java集合类API与性能有关的方面,从整体上理解Java并发
book
深入淺出代數
『本書從學生們的生活周遭取材,設計了許多優異的範例。所有的範例與概念,全都搭配得恰到好處。』 —Herbert Tracey,羅耀拉大學數學系講師 『《深入淺出代數》是一本極具有吸引力的書籍。在解釋觀念、帶領讀者循序漸進、一步一步解決問題等等方面,本書可說是做的非常出色。』 —Shannon Stewart,數學老師 『本書採用對話的方式來呈現訊息,效果十分具有吸引力,對學習的過程也很有幫助。這種感覺就好像是真的在跟作者直接對話似的。』 —Amanda Borcky 你將從本書學到什麼? 即使拼命用功成績還是不見好轉,你累了嗎?高中代數絕不能當掉,要不然你的手機就拿不回來了嗎?只要你有心學好代數,《深入淺出代數》這本書就是為你而設計的。本書到處充滿具有吸引力的故事劇情與實際練習,還有真實世界中會遇到的狀況說明。讀完本書之後,不管是自然數、指數、聯立方程式還是多項式圖形,再也沒有什麽能難得倒你了。 這本書為何如此與眾不同? 我們認為你的時間寶貴,不應該浪費在與新概念周旋不下的窘境之中。運用認知科學與學習理論的最新研究成果,我們精心建構出一段引發多重感知的學習體驗。《深入淺出代數》針對大腦運作而設計,採用了豐富的視覺化風格,至於那些令你昏昏欲睡的冗贅敘述?那就免了吧。
book
深入淺出程式設計
易學易用的編程指南 ‧把至關緊要的編程概念深植於你的大腦 ‧為你的工具箱增添方法、函式與物件等法寶 ‧避免讓程式的輸入與輸出把你耍得團團轉 ‧奠基於Python語言的編程學習指南 ‧以職業手法處理你的資料 ‧建立功能齊備且引人入勝的圖形化應用程式 ‧學習如何自動化擾人的重複性工作 『《深入淺出程式設計》以反覆式開發的程序清楚明瞭地教導程式設計,一點一滴、循序漸進地逐步增加理論與解釋的深度和廣度,再據以進行實際的編程工作,讓程式獲得持續不斷的提升與改善。這正是編程工作在真實世界中的理想發展模式。同時,本書亦善用教學論壇的優點,讓這樣的教導方式發揮得更淋漓盡致。我將這本書推薦給想要開始探索編程世界卻又不知從何著手的人,也將這本書推薦給非編程新手但是對Python語言有興趣的人。就一般化程式設計與Python編程而言,這絕對是一本值得好好品味的書籍。』 — Jeremy Jones,《Python for Unix and Linux …
book
Think Data Structures|Java演算法實作和資料檢索
“一本極好又務實的資料結構入門書籍,讓讀者擁有剛好的理論知識以進行演算法分析,同時兼顧實際應用。” -Barry Wittman Associate Professor Elizabethtown College “經由閱讀本書,讀者進入Java collection framework的世界,使用Ant和JUnit,並建立一個有趣的網路搜尋引擎雛型,繼Think Java之後又一力作!” -Chris Mayfield Associate Professor James …