分类: Ebook

電子書

  • Linux內核修煉之道

    Linux內核修煉之道

     

    本書重點介紹Linux內核工作原理以及學習方法。將Linux內核的修煉之道總結為四個層次:第一層次目的是對Linux以及內核有個全面的認識和瞭解,掌握Linux內核原始程式碼的分析方法。第二個層次討論了內核中系統初始化、系統調用、中斷處理、進程管理及調度、記憶體管理、檔案系統以及設備驅動等主要部分,目的是希望讀者以興趣為導向,尋找一個子系統或模組,對其代碼深入鑽研和分析。第三個層次介紹了內核開發與調試的一些基本資訊,目的是希望讀者能夠融入到內核的開發社區,做出自己的貢獻。第四個層次濃縮為兩個字——堅持。

    本書目錄

    •  第1章 初識Linux 
    • 第2章 配置與編譯內核
    • 第3章 流覽內核原始程式碼 
    • 第4章 系統初始化 
    • 第5章 系統調用 
    • 第6章 中斷與中斷處理 
    • 第7章 進程管理 
    • 第8章 調度 
    • 第9章 記憶體管理 
    • 第10章 檔案系統 
    • 第11章 設備驅動 
    • 第12章 內核開發基礎 
    • 第13章 調試

    點擊下載: Linux內核修煉之道

  • JDO:Java Data Objects

     Java Data Objects(JDO)是Java平臺的一項重要創新。當開發者們還在普遍使用JDBC訪問資料庫的時候,當來自一些大企業廠商的專家組還在設計並大肆鼓吹EJB與CMP的API的時候,Craig Russell和David Jordan鼓起勇氣去探索另一條路。與其它一些支持者一起,他們尋找到了提供Java平臺上的存儲機制的簡單辦法,這種辦法對程式師來說既自然又方便。本書描述了他們的研究成果:JDO。

      JDO中獨到的核心思想是在盡可能不增加程式員額外工作的情況下提供一個面向Java的資料庫存儲機制。程式師不需要學習SQL,也不需要很麻煩地通過JDBC調用將資料從Java物件中複製到資料庫或從中讀出,他們只需要按自然的想法使用Java類、屬性和物件之間的引用,而不用寫與之無關的大量代碼,那些代碼會使人頭暈腦脹。甚至對於查詢來說,程式師也可以用Java的布林運算式(即判斷比較運算式)來代替SQL。換句話說,程式師只用寫Java代碼,而存儲都是自動實現的。

      除了透明存儲之外,按JDO方式寫的代碼具有二進位相容性,可以跨平臺、跨資料庫。JDO可以用於物件/關聯式資料庫映射,這種方式中會自動生成JDBC調用來自動地將Java物件和關聯式資料庫中的資料對應起來。另外,JDO物件也可以直接保存到檔中,達到與物件資料庫一樣的功能和性能。

      針對JDO的辛勤勞動得到了回報:透明存儲的概念受到了廣泛的歡迎。JDO有了自己的社區網站:JDOCentral.com,以及企業級的Java討論區:TheServerSide.com,在這些媒體中,開發人員們都稱讚JDO的簡單和實用。很多開發人員用JDO代替了EntityBean,再在SessionBean中使用JDO資料物件。另一些開發人員將JDO作為方便的高層面的JDBC代替品,用於JSP頁面和其它一些Java代碼中。在我和Graham Hamilton在1995年定義了JDBC介面之後,JDO也經歷了長時間的發展,它已經很值得合併到J2EE中去。

      說到編寫JDO書籍,我只能想到兩個最合適的人選。Craig是JDO專家組的規範領導者,而Dave是專家組中最活躍的成員之一。他們的資質遠遠超出了這個小組,在此基礎上,JDO被設計得很實用。他們兩人都在程式設計語言和資料存儲有超過十年的研究,包括嚴密的事務語義、多種形式的存儲模型、物件關係、緩衝效率、存儲和非存儲物件的交互、實際開發中的代碼簡便性等等。他們都在ODMG(物件資料管理小組,OMG的子組)作為核心成員工作了多年。最重要的是,作為開發人員,兩人都熱愛並迫切需要JDO所提供的功能。

    點擊下載: JDO:Java Data Objects

  • Windows網路與通訊程式設計

    Windows網路與通訊程式設計

     

    本書共計13章,講述的內容:首先介紹windows平臺上進行網路程式設計的基礎知識,包括網路硬體、術語、協定、winsock程式設計介面和各種i/o方法等。然後通過具體實例詳細講述當前流行的高性能可伸縮伺服器設計、ip多播和internet廣播、p2p程式設計、原始通訊端、spi、協議驅動的開發和原始乙太資料的發送、arp欺騙技術、lan和wan上的掃描和偵測技術、個人防火牆與網路封包截獲技術等。最後講述ip説明函數。

    點擊下載: Windows網路與通訊程式設計

  • Visual C 系統開發實例精粹

    Visual C 系統開發實例精粹:應該說內容還算豐富,算是一本比較不錯的入門書籍。

     

    本書介紹

    本書精選了40多個綜合性實例,詳細介紹了基於visual c++的程式開發技巧和方法,內容涵蓋了visual c++的系統程式設計、介面程式設計、多媒體程式設計、數位圖像程式設計、網路通信程式設計以及資料庫/mis開發等許多熱門領域。

    每個實例都按照設計思路、程式設計原理以及實例詳解3個步驟進行解說,尤其是對每個實例的原理都進行了詳細地說明,對實例的原始程式碼進行了注釋。同時在本書的光碟中贈送了大量非常有價值的實例原始程式碼。通過本書的學習,讀者可以非常容易地理解並掌握visual c++開發的核心技術,並根據自身需要進行二次開發。

    本書可以作為高等院校相關專業的課程設計、畢業設計的指導用書,同時也可以作為科研單位、企業相關軟體發展的技術指導用書。

    本書特色

    1. 案例的選取具有典型性,非常適合開發中、小型的系統模組。比如書中介紹的多執行緒實例、動態連結程式庫(DLL)實例等,都是Visual C++開發的難點,也是很多讀者非常希望瞭解和學習的內容。
    2. 實例的選取涵蓋全面,包括了Visual C++系統開發的方方面面。比如內容共涉及系統程式設計、介面程式設計、多媒體程式設計、數位圖像程式設計、網路通信程式設計以及資料庫/MIS開發等6大領域。
    3. 實例的選取重複性低,有一部分實例是目前市面上同類圖書中沒有或者很少涉及的內容。比如MP3播放技術、VFW視頻捕捉技術、Visual C++介面設計、網路檔共用技術等。
    4. 所有的實例均都按照設計思路、程式設計原理、實例詳解3個層次進行講解、便於讀者輕鬆、快速地掌握整個案例的設計方法和步驟。
    5. 光碟中提供了每個實例的完整的原始程式碼,方便讀者舉一反三,開發出適合自己的工程項目。同時,光碟中還贈送了很多實例原始程式碼,以便説明讀者能夠更好的完成相關領域的開發工作。

    點擊下載: Visual C 系統開發實例精粹

  • Ubuntu 伺服器最佳方案

    Ubuntu 伺服器最佳方案

    難得的一本Ubuntu方面原創的書。本書涵蓋了LAMP的各個方面,看得出是作者多年工作經驗的總結,讀後頗感收穫。——Freeflying(Ubuntu Developer)
    這本書不僅是linux系統管理員的寶典,更能讓IT決策者如虎添翼!——Oneleaf(UbuntuChina Webmaster)…

    本書介紹

    本書是第一本全面介紹ubuntu linux server的中文書籍,是作者10多年實戰經驗的結晶;從構思到出版,花費作者近3年時間。無論您是初學者還是linux高手,都能從中獲益。

    在內容上,本書基本上涉獵到了linux伺服器的各方面常見應用。“最佳方案”是本書的特色。對於每一種應用,作者都不是泛泛而談,而是推薦一個“最佳方案”——從硬體伺服器的選型到linux入門,從lamp到tomcat,從代理伺服器到郵件伺服器,從dhcp到dns,從samba到虛擬化,從負載均衡到遠端控制,從raid到lvm再到系統安全——不管您是在校學生還是在職linux管理員,不管您是小公司還是大企業,都可以直接複製本書內容,在最短的時間內您就可以架設起自己的最佳linux伺服器。

    擁有本書,您就擁有了一位具有10年經驗的資深linux管理員和開發者的最佳實戰方案,有如專家親臨現場、全程陪護,讓您在工作中胸有成竹,勝券在握。

     本書目錄:

    第1篇 擁抱ubuntuserver .
    第1章 敲開linux server的大門 2
    1.1 linux到底是什麼 2
    1.2 為何選linux,不選
    1.2 windows 3
    1.2.1 linux可以定制 4
    1.2.2 linux比windows穩定 4
    1.2.3 linux比windows回應快 4
    1.2.4 linux比windows安全 5
    1.2.5 linux不用花錢買 6
    1.2.6 linux更適合遠端系統管理 6
    1.3 學習linux的終南捷徑 6
    1.3.1 興趣、試驗 6
    1.3.2 真正的捷徑——lfs 7
    1.4 選擇哪個linux發行版本呢 7
    1.4.1 先排除gentoo 8
    1.4.2 再排除red hat、centos和suse 8
    1.4.3 debian不錯 8
    1.4.4 推薦使用ubuntu 8
    1.5 應該買什麼樣的伺服器呢 10
    .1.5.1 架構設計 10
    1.5.2 伺服器的選型 10
    1.5.3 機房的選擇 11
    第2章 擁抱ubuntu server 12
    2.1 ubuntu的前世今生 12
    2.2 安裝ubuntu server 13
    2.2.1 安裝前的準備 13
    2.2.2 安裝ubuntu server 13
    2.2.3 把語言環境變數改為英文 29
    2.2.4 安全補丁、版本升級 30
    2.3 ubuntu快速入門指南 31
    2.3.1 nano編輯器 31
    2.3.2 強大的“資源管理器”:mc 32
    2.3.3 快速查找檔 32
    2.3.4 套裝軟體管理 33
    2.3.5 使用apt工具 35
    2.3.6 給red hat用戶 42
    2.3.7 ubuntu網路配置 45
    2.3.8 遠端系統管理ubuntu server 48
    2.3.9 系統更新:apt-get update && apt-get upgrade 49
    第2篇 lamp伺服器
    第3章 用apache做web伺服器 51
    3.1 apache簡介 51
    3.2 apache的安裝、配置 52
    3.2.1 apache的安裝 52
    3.2.2 apache的配置 52
    3.2.3 apache虛擬主機 54
    3.3 apache性能優化 62
    3.3.1 正確選擇mpm 63
    3.3.2 優化apache配置 63
    3.3.3 使用反向代理 68
    3.4 apache壓力測試(ab) 68
    3.5 apache安全 70
    3.5.1 安全更新 70
    3.5.2 隱藏敏感資訊 70
    3.5.3 不要以root身份運行apache 72
    3.5.4 密碼認證 73
    3.5.5 檢查檔許可權 75
    3.5.6 關閉不用的模組 75
    3.5.7 ddos 攻擊防範 76
    3.6 apache日誌分析 78
    3.6.1 用webalizer分析apache日誌 78
    3.6.2 用awstats分析apache日誌 80
    3.6.3 apache日誌合併 82
    第4章 lamp伺服器之php篇 84
    4.1 mysql簡介 84
    4.2 php簡介 85
    4.3 安裝lamp相關套裝軟體 85
    4.3.1 lamp套裝軟體安裝 85
    4.3.2 lamp套裝軟體刪除 86
    4.4 配置apache、mysql、php 86
    4.4.1 mysql配置 86
    4.4.2 php配置 88
    4.5 apache、mysql、php之間的關聯 89
    4.6 用phpmyadmin管理mysql資料庫 90
    4.6.1 phpmyadmin的安裝 90
    4.6.2 phpmyadmin排錯 90
    4.7 實例:用drupal快速架設blog網站 90
    4.7.1 drupal是什麼 90
    4.7.2 獲取drupal 91
    4.7.3 為drupal創建mysql資料庫和使用者 91
    4.7.4 為drupal配置php 92
    4.7.5 為drupal配置apache 92
    4.7.6 安裝drupal 92
    4.7.7 為drupal安裝blog模組 93
    4.7.8 drupal的中文介面 94
    第5章 lamp伺服器之perl篇 95
    5.1 安裝perl模組 95
    5.2 配置cgi-bin目錄 95
    5.3 perl程式測試 96
    5.4 用perl訪問mysql資料庫 96
    5.5 cgi排錯 98
    5.6 實例:用twiki假設wiki 99
    5.6.1 安裝twiki 99
    5.6.2 配置twiki 99
    第6章 lamp伺服器之python篇 101
    6.1 安裝mod_python 101
    6.2 配置apache 101
    6.2.1 publisher handler 101
    6.2.2 psp handler 102
    6.3 讓python支持mysql 103
    6.3.1 python連接mysql資料庫測試 103
    6.3.2 python的cgi程式 104
    6.3.3 cgi排錯 105
    6.4 實例:用django開發web應用程式 105
    6.4.1 安裝django 105
    6.4.2 創建自己的django項目 105
    6.4.3 運行django開發伺服器 105
    6.4.4 連接mysql資料庫 106
    6.4.5 後續開發步驟 107
    6.5 實例:用moinmoin實現wiki 107
    6.5.1 安裝moinmoin 108
    6.5.2 創建moinmoin實例 108
    6.5.3 moinmoin許可權控制 110
    6.6 python web應用的性能優化 111
    6.6.1 mod-wsgi介紹 111
    6.6.2 mod-wsgi支援的程式 112
    6.6.3 mod-wsgi的安裝 112
    6.6.4 測試 113
    第7章 apache tomcat架設 114
    7.1 安裝tomcat 114
    7.2 配置tomcat 115
    7.3 tomcat和apache的整合:mod_jk 115
    7.3.1 mod_jk的安裝 116
    7.3.2 mod_jk的配置 116
    7.4 tomcat安全 117
    7.4.1 保護shutdown埠 117
    7.4.2 修改預設錯誤頁面 118
    7.4.3 刪除樣例檔 118
    7.4.4 manager webapp安全 118
    第8章 最佳代理、反向代理伺服器:squid 119
    8.1 squid安裝 119
    8.2 為squid配置主機名稱 119
    8.3 存取控制清單 120
    8.4 正向代理 121
    8.4.1 設置埠號 121
    8.4.2 禁止某些ip地址上網 121
    8.4.3 禁止在某時間段上網 122
    8.4.4 個別網站的控制 122
    8.4.5 用ncsa做密碼認證 123
    8.4.6 透明代理的設置 123
    8.5 反向代理 126
    8.5.1 squid反向代理單個後臺web伺服器 127
    8.5.2 squid反向代理多個後臺web伺服器 127
    8.6 squid排錯 128
    8.6.1 squid運行狀態檢查 128
    8.6.2 squid日誌檔 128
    8.7 使用squidguard 128
    8.7.1 squidguard能做什麼 129
    8.7.2 安裝squidguard 131
    8.7.3 squidguard基本配置 131
    8.7.4 squidguard高級配置 135
    第3篇 mail伺服器
    第9章 最佳郵件伺服器方案 141
    9.1 安裝所有相關軟體 142
    9.1.1 安裝伺服器軟體 142
    9.1.2 安裝內容過濾軟體 143
    9.1.3 安裝其他軟體 143
    9.2 為postfix準備資料庫 144
    9.2.1 創建資料庫maildb 144
    9.2.2 為資料庫maildb創建資料表 144
    9.2.3 為資料庫maildb創建視圖 147
    9.3 配置postfix 149
    9.3.1 postfix與mysql的
    關聯配置 149
    9.3.2 讓postfix使用dovecot分發郵件 155
    9.4 配置dovecot 156
    9.4.1 配置dovecot.conf 156
    9.4.2 配置dovecot-sql.conf 158
    9.4.3 修改設定檔許可權 158
    9.4.4 重新啟動dovecot 158
    9.5 用telnet進行smtp/pop3/imap測試 158
    9.5.1 smtp測試 159
    9.5.2 測試pop3 161
    9.5.3 測試imap 162
    9.6 用thunderbird進行
    smtp/pop3/imap測試 164
    9.6.1 在thunderbird中創建帳號 164
    9.6.2 修改hosts檔 165
    9.6.3 在thunderbird中用pop收取郵件 166
    9.6.4 在thunderbird中用smtp發送郵件 167
    9.6.5 在thunderbird中用imap收取郵件 167
    9.7 實現smtp認證 168
    9.7.1 配置postfix 169
    9.7.2 用telnet測試smtp認證 169
    9.7.3 用thunderbird測試smtp認證 170
    9.8 強迫用戶使用tls加密連接smtp 171
    9.9 使用自己創建的安全證書 172
    9.10 利用dovecot實現quota(磁片限額) 173
    9.10.1 啟用quota外掛程式 173
    9.10.2 配置quota 174
    9.11 垃圾郵件、病毒過濾 176
    9.11.1 配置spamassassin 176
    9.11.2 配置amavisd 176
    9.11.3 配置postfix,將郵件交給amavisd過濾 180
    9.11.4 垃圾郵件測試 182
    9.11.5 非法附件測試 183
    9.11.6 將spam自動轉存到“垃圾”資料夾 183
    9.12 webmail的實現 186
    9.12.1 配置squirrelmail 186
    9.12.2 訪問webmail 187
    9.13 修改系統別名/etc/aliases 188
    9.14 web管理工具 189
    9.14.1 安裝virtual mail manager 189
    9.14.2 使用virtual mail manager 190
    第10章 最佳郵寄清單:mailman 191
    10.1 安裝mailman 191
    10.2 配置mailman 192
    10.2.1 修改主機名稱 192
    10.2.2 配置apache 192
    10.2.3 配置postfix 193
    10.2.4 創建默認郵寄清單 194
    10.3 管理mailman 195
    10.3.1 通過web管理mailman 196
    10.3.2 通過命令列管理mailman 197
    10.4 普通使用者的web介面 199
    第4篇 檔案伺服器
    第11章 最佳ftp伺服器方案 201
    11.1 要實現的功能 201
    11.2 ftp伺服器的選擇 202
    11.2.1 淘汰標準一:安全 202
    11.2.2 淘汰標準二:易用性 203
    11.3 pure-ftpd的安裝、配置 203
    11.3.1 安裝pure-ftpd 203
    11.3.2 配置pure-ftpd 203
    11.4 實現ftp用戶的web管理 206
    11.4.1 安裝user manager for
    pureftpd 207
    11.4.2 配置user manager for pureftpd 207
    11.4.3 設置user manager for pureftpd管理員 207
    11.4.4 web管理介面 208
    11.5 pure-ftpd配置選項介紹 209
    11.5.1 邏輯型配置選項 209
    11.5.2 數值型配置選項 210
    11.5.3 字串型配置選項 211
    11.5.4 ip位址型配置選項 212
    11.5.5 檔型配置選項 212
    11.6 實現tls認證 212
    11.6.1 證書設置 212
    11.6.2 伺服器的tls設置 213
    11.6.3 ftp用戶端的tls設置 213
    11.7 fxp協定支援 214
    11.8 允許匿名訪問 214
    11.8.1 pure-ftpd設置 214
    11.8.2 添加系統使用者 215
    第12章 最佳nfs伺服器方案 216
    12.1 安裝前須知 217
    12.1.1 用戶許可權 217
    12.1.2 組許可權 217
    12.2 nfs伺服器的安裝及配置.. 217
    12.2.1 /etc/hosts配置 218
    12.2.2 安裝nfs伺服器軟體 218
    12.2.3 portmap安全 218
    12.2.4 nis伺服器配置 218
    12.2.5 用/etc/exports配置共用目錄 220
    12.3 nfs用戶端的安裝及配置 220
    12.3.1 /etc/hosts配置 220
    12.3.2 安裝nfs用戶端 221
    12.3.3 配置nfs用戶端 221
    第13章 與windows共舞:samba 223
    13.1 samba的好處 223
    13.1.1 高性能 223
    13.1.2 省錢 224
    13.2 安裝samba並測試 224
    13.2.1 安裝samba 224
    13.2.2 在windows用戶端上測試 224
    13.3 samba配置 225
    13.3.1 最簡單的samba配置 225
    13.3.2 samba的安全認證 227
    13.3.3 共用許可權控制 229
    13.3.4 檔寫入實驗 229
    13.4 基本的家目錄共用方案 231
    13.4.1 創建私人目錄 232
    13.4.2 創建新用戶 232
    13.4.3 配置samba 233
    13.5 其他共用方案 236
    13.5.1 共用光碟機 236
    13.5.2 小組共用 237
    第5篇 虛擬化
    第14章 最佳虛擬化方案: openvz 240
    14.1 openvz簡介 240
    14.1.1 可擴展性 240
    14.1.2 密度 240
    14.1.3 管理方便 241
    14.2 安裝openvz 241
    14.2.1 安裝前的準備 241
    14.2.2 安裝openvz 242
    14.2.3 配置openvz 242
    14.3 虛擬機器的基本操作 244
    14.3.1 虛擬機器的創建 244
    14.3.2 虛擬機器的啟停 245
    14.4 vzctl用法詳解 246
    14.4.1 vzctl基本用法 246
    14.4.2 創建虛擬機器 246
    14.4.3 虛擬機器的啟停等操作 247
    14.4.4 設置虛擬機器參數 247
    14.4.5 其他命令和參數 253
    14.5 /etc/vz/vz.conf詳解 253
    14.5.1 全域參數 253
    14.5.2 磁片限額參數 253
    14.5.3 網卡參數 254
    14.5.4 虛擬機器預設值 254
    14.6 ve的備份與恢復 254
    14.6.1 安裝vzdump 255
    14.6.2 vzdump的用法 255
    14.6.3 備份ve 256
    14.6.4 恢復ve 256
    14.7 openvz排錯 256
    第6篇 dns和dhcp伺服器
    第15章 最佳dns伺服器:bind9 259
    15.1 安裝bind9 259
    15.2 bind9的幾種角色 260
    15.3 配置bind9 260
    15.3.1 bind9設定檔介紹 260
    15.3.2 dns記錄類型 260
    15.3.3 dns緩存伺服器的配置 261
    15.3.4 主dns伺服器的配置 262
    15.3.5 從dns伺服器的配置 266
    15.4 讓bind9運行在chroot環境 268
    15.4.1 創建chroot環境 268
    15.4.2 bind9配置 269
    15.4.3 日誌路徑設置 269
    15.4.4 測試 269
    15.5 bind9排錯 269
    15.5.1 dns測試 269
    15.5.2 日誌檔 271
    第16章 dns輪詢 273
    16.1 為什麼要用dns輪詢 273
    16.2 dns輪詢是怎麼工作的 273
    16.3 dns輪詢的實現方法 273
    16.3.1 多個cnames的方法(bind4、bind8) 273
    16.3.2 多個 a 記錄的方法(bind9) 274
    16.4 dns輪詢的測試 274
    16.5 dns輪詢的缺陷 275
    第17章 最佳dhcp伺服器方案 276
    17.1 dhcp的好處 276
    17.2 dhcp提供資訊的方法 277
    17.3 安裝dhcp伺服器軟體 277
    17.4 配置dhcp伺服器 278
    17.4.1 網路環境介紹 278
    17.4.2 dhcp配置 278
    17.4.3 測試 279
    17.5 dhcp排錯 280
    第7篇 負載均衡和集群
    第18章 負載均衡、高可用的web集群 282
    18.1 介紹 282
    18.1.1 haproxy介紹 282
    18.1.2 keepalived介紹 282
    18.1.3 haproxy+keepalived的好處 283
    18.2 架構 283
    18.2.1 架構詳情 283
    18.2.2 架構圖 284
    18.3 架構的實現 284
    18.3.1 web伺服器的安裝及配置 284
    18.3.2 haproxy的安裝及配置 285
    18.3.3 keepalived的安裝及配置 287
    18.4 測試 289
    18.4.1 web節點故障類比 289
    18.4.2 負載均衡節點故障類比 289
    18.5 haproxy的web統計頁面 290
    第19章 負載均衡、高可用的mysql集群 291
    19.1 mysql集群架構介紹 291
    19.1.1 架構圖 291
    19.1.2 本例中的伺服器 292
    19.2 管理節點(mgm)的安裝及配置 292
    19.2.1 安裝mysql 293
    19.2.2 配置ndb_mgmd.cnf 293
    19.3 存儲節點(ndb)的安裝及配置 294
    19.3.1 安裝mysql 294
    19.3.2 配置my.cnf 294
    19.4 階段測試 295
    19.4.1 集群連接狀態測試 295
    19.4.2 測試 296
    19.5 實現負載均衡 300
    19.5.1 ldirectord+heartbeat介紹 300
    19.5.2 讓內核支持ipvs 301
    19.5.3 安裝heartbeat、ldirectord等軟體 302
    19.5.4 配置heartbeat 302
    19.5.5 配置ldirectord 303
    19.5.6 ndb節點配置 304
    19.5.7 測試 305
    19.6 注意事項 307
    19.6.1 資料庫引擎問題 307
    19.6.2 記憶體問題 308
    19.6.3 安全問題 308
    第8篇 遠程控制與監控
    第20章 最佳遠端控制方案:ssh 310
    20.1 關於公開金鑰認證 310
    20.1.1 為什麼要用公開金鑰認證 310
    20.1.2 公開金鑰認證是怎麼工作的 311
    20.2 ssh的安裝 311
    20.2.1 安裝ssh伺服器和用戶端 311
    20.2.2 測試 311
    20.3 ssh配置 312
    20.3.1 生成金鑰對 312
    20.3.2 將公開金鑰複製到伺服器 312
    20.3.3 ssh登錄測試 312
    20.3.4 ssh伺服器配置 314
    20.4 ssh小技巧 315
    20.4.1 用scp遠程複製檔 315
    20.4.2 在用戶端上指定命令 316
    20.4.3 在伺服器上限制所執行的命令 316
    20.4.4 修改金鑰口令 317
    20.4.5 將金鑰放入記憶體 317
    第21章 最佳伺服器監控方案:
    第21章 nagios 318
    21.1 nagios介紹 318
    21.2 安裝nagios 319
    21.3 配置nagios 319
    21.3.1 nagios初始化設置 319
    21.3.2 nagios監控設置 320
    21.4 手機短信提醒 327
    21.5 nagios排錯 328
    第9篇 資料備份與系統安全
    第22章 最佳raid方案:raid10 330
    22.1 raid方案的選擇 330
    22.2 raid10的實現 332
    22.2.1 手動分區 333
    22.2.2 第一塊硬碟分區 334
    22.2.3 分區複製 338
    22.2.4 創建raid陣列 339
    22.2.5 在raid上創建分區 340
    22.2.6 保存分區 342
    22.3 raid10的日常維護 343
    22.3.1 mdadm的主要工作模式 343
    22.3.2 mdadm的選項 343
    22.3.3 創建raid陣列 345
    22.3.4 查詢raid陣列 345
    22.3.5 raid的監控 346
    22.3.6 raid的啟動/停止 346
    22.4 故障處理 347
    22.4.1 從raid中移除設備 347
    22.4.2 添加已有raid物理卷 348
    22.4.3 更換全新硬碟 348
    22.5 添加備用硬碟 350
    22.5.1 插入新硬碟 351
    22.5.2 新硬碟分區 351
    22.5.3 將新分區加入raid 351
    22.5.4 設置grub 352
    22.5.5 故障類比 352
    22.6 raid10的空間擴展 352
    第23章 最佳資料安全方案:
    第23章 raid10+lvm 354
    23.1 創建raid物理卷 354
    23.1.1 將第一塊硬碟分區 354
    23.1.2 剩餘硬碟的分區處理 355
    23.2 創建raid陣列 355
    23.2.1 創建raid1陣列 355
    23.2.2 創建raid10陣列 356
    23.3 lvm的創建和配置 356
    23.3.1 創建lvm物理卷 356
    23.3.2 lvm配置 356
    23.4 創建/boot分區 358
    23.5 lvm的相關命令 359
    23.5.1 lvm物理卷相關命令 359
    23.5.2 lvm卷組相關命令 360
    23.5.3 lvm邏輯卷相關命令 363
    23.6 添加新硬碟 365
    23.6.1 插入新硬碟 365
    23.6.2 配置raid 365
    23.6.3 在raid上配置lvm 367
    23.6.4 擴容檔案系統 368
    23.7 更換硬碟 368
    23.8 lvm分區備份 368
    23.8.1 創建快照 369
    23.8.2 備份快照內容 369
    23.8.3 刪除快照 370
    第24章 ubuntu server系統安全 371
    24.1 系統安全更新 371
    24.1.1 訂閱安全列表 371
    24.1.2 自動更新 371
    24.2 控制台安全 372
    24.3 使用者、密碼管理 372
    24.3.1 關於root用戶 372
    24.3.2 關於sudo 373
    24.3.3 關於/etc/sudoers 373
    24.3.4 密碼策略 375
    24.4 ufw防火牆 376
    24.4.1 啟用、禁用ufw 376
    24.4.2 基本規則設置 377
    24.4.3 常用規則設置 378
    24.4.4 高級規則設置 380
    24.4.5 ip偽裝 382
    24.5 入侵偵測 384
    24.5.1 安裝lamp 384
    24.5.2 安裝、配置snort 384
    24.5.3 安裝、配置base 387
    24.6 肉雞檢測 392
    24.6.1 chkrootkit的使用 393
    24.6.2 rkhunter的使用 394
    24.6.3 unhide的使用 396
    24.7 資料完整性檢測 397
    24.7.1 安裝tripwire 398
    24.7.2 配置tripwire 400
    24.7.3 初始化tripwire資料庫 403
    24.7.4 執行完整性檢測 403
    24.7.5 檢測報告分析 403
    24.7.6 查看tripwire資料庫內容 405
    24.7.7 使用tripwire的注意事項 406
    24.8 被入侵後的系統恢復 406
    24.8.1 保持冷靜 407
    24.8.2 斷開網路 407
    24.8.3 找到駭客入侵的方法 407
    24.8.4 駭客檔清理 412
    24.8.5 恢復未受影響的服務 412
    24.8.6 修復問題 412
    24.8.7 恢復受影響的服務 412
    24.8.8 監控系統… 412

    點擊下載: Ubuntu 伺服器最佳方案

  • 瘋狂JAVA講義

    瘋狂JAVA講義(作者 王剛)

      從2000年至今,Java語言一直是應用最廣的開發語言,並擁有最廣泛的開發人群。如今,Java已經不再簡單地是一門語言,它更像一個完整的體系,一個系統的開發平臺。更甚至,它被延伸成一種開源精神。

      本書深入介紹了Java程式設計的相關方面,全書內容覆蓋了Java的基本語法結構、Java的物件導向特徵、Java集合框架體系、Java泛型、異常處理、Java GUI程式設計、JDBC資料庫程式設計、Java注釋、Java的IO流體系、Java多執行緒程式設計、Java網路通信程式設計和Java反射機制。共覆蓋了java.awt、java.lang、java.io和java.nio、java.sql、java.text、java.util、javax.swing包下絕大部分類和介面。

      本書並不單純從知識角度來講解Java,而是從解決問題的角度來介紹Java語言,所以本書中介紹了大量實用案例開發:五子棋遊戲、梭哈遊戲、仿QQ的遊戲大廳、MySQL企業管理器、仿EditPlus的文字編輯器、多執行緒、中斷點下載工具、Spring框架的IoC容器……這些案例既能讓讀者鞏固每章的知識,又可以讓讀者學以致用、激發程式設計自豪感,進而引爆內心的程式設計激情。本書光碟裡包含書中所有示例的代碼,如果讀者希望獲得課後練習的程式碼,請自行登錄http://www.leegang.org網站下載。

    本書為所有打算深入掌握Java程式設計的讀者而編寫,適合各種層次的Java學習者和工作者閱讀,也適合作為大學教育、培訓機構的Java教材。但如果只是想簡單涉獵Java,則本書過於龐大,不適合閱讀。

    本書目錄

    第1章 java概述
     1.1 java語言的發展簡史
     1.2 java的競爭對手及各自優勢
      1.2.1 c#簡介和優勢
      1.2.2 ruby簡介和優勢
      1.2.3 python的簡介和優勢
     1.3 java程式運行機制
      1.3.1 高階語言的運行機制
      1.3.2 java程式的運行機制和jvm
     1.4 開發java的準備
      1.4.1 安裝jdk
     學生提問:不是說jvm是運行java程式的虛擬機器嗎?那jre和jvm的關係是怎樣的呢?
     學生提問:為什麼不安裝公共jre系統呢?
      1.4.2 設置path環境變數
     學生提問:為什麼選擇設置使用者變數,使用者變數和系統變數有什麼區別呢?
     1.5 第一個java程式
      1.5.1 編輯java原始程式碼
      1.5.2 編譯java程式
     學生提問:當我們使用編譯c程式時,不僅需要指定存放目的檔案的位置,也需要指定目的檔案的檔案名,這裡使用javac編譯java程式時怎麼不需要指定目的檔案的檔案名呢?
      1.5.3 運行java程式
    .  1.5.4 根據classpath環境變數定位類
     1.6 java程式的基本規則
      1.6.1 java程式的組織形式
      1.6.2 java原始檔案的命名規則
      1.6.3 初學者容易犯的錯誤
     1.7 垃圾回收機制
     1.8 何時開始使用ide工具
     學生提問:老師,我想學習java程式設計,到底是學習eclipse好呢,還是學習jbuilder好呢?
     1.9 本章小結
     本章練習
    第2章 理解物件導向
     2.1 物件導向
      2.1.1 結構化程式設計簡介
      2.1.2 程式的三種基本結構
      2.1.3 物件導向程式設計簡介
      2.1.4 物件導向的基本特徵
     2.2 uml(統一模組化語言)介紹
      2.2.1 用例圖
      2.2.2 類圖
      2.2.3 組件圖
      2.2.4 部署圖
      2.2.5 順序圖
      2.2.6 活動圖
      2.2.7 狀態機圖
     2.3 java的物件導向特徵
      2.3.1 一切都是物件
      2.3.2 類和對象
     2.4 本章小結
    第3章 資料類型和運算子
     3.1 注釋
      3.1.1 單行注釋和多行注釋
      3.1.2 文檔注釋
     學生提問:api文檔是什麼?
     學生提問:為什麼要掌握查看api文檔的方法?
     3.2 識別字和關鍵字
      3.2.1 分隔符號
      3.2.2 識別字規則
      3.2.3 java關鍵字
     3.3 資料類型分類
     3.4 基底資料型別
      3.4.1 整型
      3.4.2 字元型
      3.4.3 浮點型
      3.4.4 布林型
     3.5 基本類型的類型轉換
      3.5.1 自動類型轉換
      3.5.2 強制類型轉化
      3.5.3 運算式類型的自動提升
     3.6 直接量
      3.6.1 直接量的類型
      3.6.2 直接量的賦值
     3.7 運算子
      3.7.1 算術運算子
      3.7.2 設定運算子
      3.7.3 位運算子
      3.7.4 擴展後的設定運算子
      3.7.5 比較運算子
     學生提問:java為什麼要對這些資料進行緩存呢?
      3.7.6 邏輯運算子
      3.7.7 三目運算子
      3.7.8 運算子的結合性和優先順序
     3.8 本章小結
     本章練習
    第4章 流程控制和陣列
     4.1 順序結構
     4.2 分支結構
      4.2.1 if條件陳述式
      4.2.2 switch分支語句
     4.3 迴圈結構
      4.3.1 while迴圈語句
      4.3.2 do while迴圈語句
      4.3.3 for迴圈
      4.3.4 嵌套迴圈
     4.4 控制迴圈結構
      4.4.1 使用break結束迴圈
      4.4.2 使用continue結束本次迴圈
      4.4.3 使用return結束方法
     4.5 陣列類型
      4.5.1 理解陣列:陣列也是一種類型
     學生提問:int[]是一種類型嗎?怎麼使用這種類型呢?
      4.5.2 定義陣列
      4.5.3 陣列的初始化
     學生提問:能不能只分配記憶體空間,不賦初始值呢?
      4.5.4 使用陣列
     學生提問:為什麼要我記住這些異常資訊?
      4.5.5 jdk1.5提供了foreach迴圈
     4.6 深入陣列
      4.6.1 記憶體中的陣列
     學生提問:為什麼有棧記憶體和堆記憶體之分?
      4.6.2 基本類型陣列的初始化
      4.6.3 參考類型陣列的初始化
      4.6.4 沒有多維陣列
     學生提問:我是否可以讓圖4.13中灰色覆蓋的陣列元素再次指向另一個陣列?這樣不可以擴展成三維陣列嗎?甚至擴展到更多維的陣列?
      4.6.5 運算元組的工具類
      4.6.6 陣列的應用舉例
     4.7 本章小結
     本章練習
    第5章 物件導向(上)
     5.1 類和對象
      5.1.1 定義類
     學生提問:構造器不是沒有返回值嗎?為什麼不能用void修飾呢?
      5.1.2 物件的產生和使用
      5.1.3 對象、引用和指標
      5.1.4 對象的this引用
     5.2 方法詳解
      5.2.1 方法的所屬性
      5.2.2 方法的參數傳遞機制
      5.2.3 形參長度可變的方法
      5.2.4 遞迴方法
      5.2.5 方法重載
     學生提問:為什麼方法的返回數值型別不能用於區分重載的方法?
     5.3 成員變數和區域變數
      5.3.1 成員變數和區域變數
      5.3.2 成員變數的初始化和記憶體中的運行機制
      5.3.3 區域變數的初始化和記憶體中的運行機制
      5.3.4 變數的使用規則
     5.4 隱藏和封裝
      5.4.1 理解封裝
      5.4.2 使用存取控制符
      5.4.3 package和import
      5.4.4 java的常用包
     5.5 深入構造器
      5.5.1 使用構造器執行初始化
     學生提問:構造器是創建java對象的途徑,是不是說構造器完全負責創建java對象?
      5.5.2 構造器的重載
     學生提問:為什麼要用this來調用另一個重載的構造器?我把另一個構造器裡的代碼複製、粘貼到這個構造器裡不就可以了嗎?
     5.6 類的繼承
      5.6.1 繼承的特點
      5.6.2 重寫父類的方法
      5.6.3 父類實例的super引用
     學生提問:我們只是創建了一個ostrich物件時,哪來的bird物件?
      5.6.4 調用父類構造器
     學生提問:為什麼我創建java物件時從未感覺到java.lang.object的構造器被調用過?
     5.7 多態
      5.7.1 多態性
      5.7.2 引用變數的強制類型轉換
      5.7.3 instanceof運算子
     5.8 繼承與組合
      5.8.1 使用繼承的注意點
      5.8.2 利用組合實現複用
     學生提問:使用組合關係來實現複用時,需要創建兩個animal物件,是不是意味著使用組合關係時系統開銷更大?
     5.9 初始化塊
      5.9.1 使用初始化塊
      5.9.2 初始化塊和構造器
      5.9.3 靜態初始化塊
     5.10 本章小結
     本章練習
    第6章 物件導向(下)
     6.1 基底資料型別的包裝類
     6.2 處理物件
      6.2.1 列印物件和tostring方法
      6.2.2 ==和equals比較運算子
     6.3 類成員
      6.3.1 理解類成員
      6.3.2 單例(singleton)類
     6.4 final修飾符
      6.4.1 final變數
      6.4.2 final方法
      6.4.3 final類
      6.4.4 不可變類
      6.4.5 緩存實例的不可變類
     6.5 抽象類別
      6.5.1 抽象方法和抽象類別
      6.5.2 抽象類別的作用
     6.6 更徹底的抽象:介面
      6.6.1 介面的概念
      6.6.2 介面的定義
      6.6.3 介面的繼承
      6.6.4 使用介面
      6.6.5 介面和抽象類別
      6.6.6 面向介面程式設計
     6.7 內部類
      6.7.1 非靜態內部類
     學生提問:非靜態內部類物件和外部類物件的關係是怎樣的?
      6.7.2 靜態內部類
     學生提問:為什麼靜態內部類實例方法也不能訪問外部類的實例屬性呢?
     學生提問:介面裡是否能定義內部介面?
      6.7.3 使用內部類
     學生提問:既然內部類是外部類的成員,是否可以為外部類定義子類,在子類中再定義一個內部類來重寫其父類中的內部類?
      6.7.4 局部內部類
      6.7.5 匿名內部類
      6.7.6 閉包(closure)和回檔
     6.8 枚舉類
      6.8.1 手動實現枚舉類
      6.8.2 枚舉類入門
      6.8.3 枚舉類的屬性、方法和構造器
      6.8.4 實現介面的枚舉類
      6.8.5 包含抽象方法的枚舉類
     6.9 對象與垃圾回收
      6.9.1 物件在記憶體中的狀態
      6.9.2 強制垃圾回收
      6.9.3 finalize方法
      6.9.4 對象的軟、弱和虛引用
      6.10 修飾符的適用範圍
     6.11 使用jar檔
      6.11.1 jar命令詳解
      6.11.2 創建可執行的jar包
      6.11.3 關於jar包的技巧
     6.12 本章小結
     本章練習
    第7章 java集合
     7.1 java集合概述
     7.2 collection和iterator介面
      7.2.1 使用iterator介面遍歷集合元素
      7.2.2 使用foreach迴圈遍歷集合元素
     7.3 set介面
      7.3.1 hashset類
     學生提問:hashcode方法對於hashset的作用是什麼?
      7.3.2 treeset類
      7.3.3 enumset類
     7.4 list介面
      7.4.1 list介面和listiterator介面
      7.4.2 arraylist和vector實現類
      7.4.3 固定長度的list
     7.5 queue介面
      7.5.1 linkedlist實現類
      7.5.2 priorityqueue實現類
     7.6 map
      7.6.1 hashmap和hashtable實現類
      7.6.2 sortedmap介面和treemap實現類
      7.6.3 weakhashmap實現類
      7.6.4 identityhashmap實現類
      7.6.5 enummap實現類
     7.7 hashset和hashmap的性能選項
     7.8 操作集合的工具類:collections
      7.8.1 排序操作
      7.8.2 查找,替換操作
      7.8.3 同步控制
      7.8.4 設置不可變集合
     7.9 煩瑣的介面:enumeration
     7.10 本章小結
     本章練習
    第8章 泛型
     8.1 泛型入門
      8.1.1 編譯時不檢查類型的異常
      8.1.2 手動實現編譯時檢查類型
      8.1.3 使用泛型
     8.2 深入泛型
      8.2.1 定義泛型介面、類
      8.2.2 從泛型類派生子類
      8.2.3 並不存在泛型類
     8.3 類型萬用字元
      8.3.1 使用類型萬用字元
      8.3.2 設定類型萬用字元的上限
      8.3.3 設定類型形參的上限
     8.4 泛型方法
      8.4.1 定義泛型方法
      8.4.2 泛型方法和類型萬用字元的區別
      8.4.3 設定萬用字元的下限
      8.4.4 泛型方法與方法重載
     8.5 擦除和轉換
     8.6 泛型與陣列
     8.7 本章小結
    第9章 與運行環境交互
     9.1 與用戶互動
      9.1.1 運行java程式的參數
      9.1.2 使用scanner獲取鍵盤輸入
      9.1.3 使用bufferedreader獲取鍵盤輸入
     9.2 系統相關
      9.2.1 system類
      9.2.2 runtime類
     9.3 常用類
      9.3.1 object類
      9.3.2 string、stringbuffer和stringbuilder類
      9.3.3 math類
      9.3.4 random類
      9.3.5 bigdecimal類
     9.4 處理日期的類
      9.4.1 date類
      9.4.2 calendar類
      9.4.3 timezone類
     9.5 規則運算式
      9.5.1 創建規則運算式
      9.5.2 使用規則運算式
     9.6 程式國際化
      9.6.1 java國際化的思路
      9.6.2 java支援的語言和國家
      9.6.3 完成程式國際化
      9.6.4 使用messageformat處理包含預留位置的字串
      9.6.5 使用類檔代替資源檔
      9.6.6 使用numberformat格式化數位
      9.6.7 使用dateformat格式化日期
     9.7 本章小結
     本章練習
    第10章 異常處理
     10.1 異常概述
     10.2 異常處理機制
      10.2.1 使用try…catch捕獲異常
      10.2.2 異常類的繼承體系
      10.2.3 訪問異常資訊
      10.2.4 使用finally回收資源
      10.2.5 異常處理的嵌套
     10.3 checked異常和runtime異常體系
      10.3.1 使用throws聲明拋出異常
     10.4 使用throw拋出異常
      10.4.1 拋出異常
      10.4.2 自訂異常類
      10.4.3 catch和throw同時使用
      10.4.4 異常鏈
     10.5 java的異常跟蹤棧
     10.6 異常處理規則
      10.6.1 不要過度使用異常
      10.6.2 不要使用過於龐大的try塊
      10.6.3 避免使用catch all語句
      10.6.4 不要忽略捕獲到的異常
     10.7 本章小結
     本章練習
    第11章 awt程式設計
     11.1 gui(圖形化使用者介面)和awt
     11.2 awt容器
     11.3 佈局管理器
      11.3.1 flowlayout佈局管理器
      11.3.2 borderlayout佈局管理器
     學生提問:borderlayout最多只能放置5個組件嗎?那它還有什麼作用?
      11.3.3 gridlayout佈局管理器
      11.3.4 gridbaglayout佈局管理器
      11.3.5 cardlayout佈局管理器
      11.3.6 絕對定位
      11.3.7 boxlayout佈局管理器
     學生提問:圖11.15和圖11.16顯示的所有按鈕都緊挨在一起,如果希望像flowlayout、gridlayout等佈局管理器指定組件的間距該怎麼辦?
     11.4 awt 常用組件
      11.4.1 基本組件
      11.4.2 對話方塊
     11.5 事件處理
      11.5.1 java事件模型的流程
      11.5.2 事件和事件監聽器
      11.5.3 事件適配器
      11.5.4 事件監聽器的實現形式
     11.6 awt的菜單
      11.6.1 功能表條、功能表和功能表項目
      11.6.2 右鍵菜單
     學生提問:為什麼即使我沒有給多行文本域編寫右鍵菜單,但當我在多行文本域上按一下右鍵時一樣會彈出右鍵功能表?
     11.7 在awt中繪圖
      11.7.1 畫圖的實現原理
      11.7.2 使用graphics類
     11.8 處理點陣圖
      11.8.1 image抽象類別和bufferedimage實現類
      11.8.2 使用imageio輸入/輸出點陣圖
     11.9 剪貼板
      11.9.1 資料傳遞的類和介面
      11.9.2 傳遞文本
      11.9.3 使用系統剪貼板傳遞圖像
      11.9.4 使用本地剪貼板來傳遞物件引用
      11.9.5 通過系統剪貼板傳遞java物件
      11.10 本章小結
     本章練習
    第12章 swing程式設計
     12.1 swing概述
     12.2 swing基本組件的用法
      12.2.1 swing元件層次
      12.2.2 awt組件的swing實現
     學生提問:為什麼按一下swing多行文本域時不是彈出像awt多行文本域中的右鍵菜單?
      12.2.3 使用jtoolbar創建工具條
      12.2.4 使用jcolorchooser和jfilechooser
      12.2.5 使用joptionpane
     12.3 swing中的特殊容器
      12.3.1 使用jsplitpane
      12.3.2 使用jtabbedpane
      12.3.3 使用jlayeredpane、jdesktoppane和jinternalframe
     12.4 swing拖放功能
      12.4.1 拖放目標
      12.4.2 拖放源
      12.4.3 簡化的拖放操作
     12.5 applet和japplet
      12.5.1 applet簡介及其安全性
      12.5.2 開發applet類
      12.5.3 使用html頁面裝載applet
      12.5.4 appletviewer簡介
      12.5.5 applet的生命週期和動畫機制
     學生提問:程式中重寫paint方法時繪製了一個字串,但圖12.28上則繪製出了如此之多的字串,這是為什麼呢?
      12.5.6 使用applet創建音樂播放機
     12.6 使用jprogressbar、progressmonitor和boundedrangemodel創建進度條
      12.6.1 創建進度條
      12.6.2 創建進度對話方塊
     12.7 使用jslider和boundedrangemodel創建滑動條
     12.8 使用jspinner和spinnermodel創建微調控制器
     12.9 使用jlist、jcombobox創建清單方塊
      12.9.1 簡單清單方塊
      12.9.2 不強制存儲清單項的listmodel和comboboxmodel
      12.9.3 強制存儲清單項的defaultlistmodel和defaultcomboboxmodel
     學生提問:為什麼jcombobox提供了添加、刪除列表項目的方法?而jlist沒有提供添加、刪除列表項的方法呢?
      12.9.4 使用listcellrenderer改變列表項外觀
     12.10 使用jtree和treemodel創建樹
      12.10.1 創建樹
      12.10.2 拖動、編輯樹節點
      12.10.3 監聽節點事件
      12.10.4 使用treecellrendering改變節點外觀
     12.11 使用jtable和tablemodel創建表格
      12.11.1 創建jtable
     學生提問:我們指定的表格資料、表格列標題都是object類型的陣列,jtable如何顯示這些object物件?
      12.11.2 tablemodel和監聽器
      12.11.3 tablecolumnmodel和監聽器
      12.11.4 實現排序
      12.11.5 繪製儲存格內容
      12.11.6 編輯儲存格內容
     12.12 使用jformattedtextfield和jtextpane創建格式文本
      12.12.1 監聽document的改變
      12.12.2 使用jpasswordfield
      12.12.3 使用jformattedtextfield
      12.12.4 使用jeditorpane
      12.12.5 使用jtextpane
     12.13 本章小結
     本章練習
    第13章 jdbc程式設計
     13.1 jdbc基礎
      13.1.1 jdbc簡介
      13.1.2 jdbc驅動程式類型
     13.2 sql語法介紹
      13.2.1 安裝資料庫
      13.2.2 關聯式資料庫基本概念和mysql基本命令
      13.2.3 sql語句基礎
      13.2.4 ddl語句
      13.2.5 dml語句語法
      13.2.6 select語句和sql函數
      13.2.7 分組和組函數
      13.2.8 多表連接查詢和子查詢
     13.3 jdbc的典型用法
      13.3.1 jdbc常用介面和類簡介
      13.3.2 jdbc程式設計步驟
     學生提問:前面給出的僅是mysql和oracle兩種資料庫的驅動,我看不出驅動類字串有什麼規律啊。如果我希望使用其他資料庫,我怎麼用其他資料庫的驅動類呢?
     13.4 執行sql語句的方式
      13.4.1 使用executeupdate執行ddl和dml語句
      13.4.2 使用execute方法執行sql語句
      13.4.3 使用preparedstatement執行sql語句
      13.4.4 使用callablestatement調用存儲過程
     13.5 管理結果集
      13.5.1 可滾動、可更新的結果集
      13.5.2 處理blob類型資料
      13.5.3 使用resultsetmetadata分析結果集
     13.6 交易處理
      13.6.1 事務的概念和mysql事務支援
      13.6.2 jdbc的事務支援
      13.6.3 批量更新
     13.7 分析資料庫資訊
      13.7.1 使用databasemetadata分析資料庫資訊
      13.7.2 使用系統表分析資料庫資訊
      13.7.3 選擇合適的分析方式
     13.8 使用連接池管理連接
     13.9 本章小結
     本章練習
    第14章 annotation(注釋)
     14.1 基本annotation
      14.1.1 限定重寫父類方法:@override
      14.1.2 標示已過時:@deprecated 676
      14.1.3 抑制編譯器警告:@suppresswarnings
     14.2 自訂annotation
      14.2.1 定義annotation
      14.2.2 提取annotation的資訊
      14.2.3 使用annotation的例子
     14.3 jdk的元annotation
      14.3.1 使用@retention
      14.3.2 使用@target
      14.3.3 使用@documented
      14.3.4 使用@inherited
     14.4 使用apt處理annotation
     14.5 本章小結
    第15章 輸入/輸出
     15.1 file類
      15.1.1 訪問檔和目錄
      15.1.2 文件篩檢程式
     15.2 理解java的io流
      15.2.1 流的分類
      15.2.2 流的概念模型
     15.3 位元組流和字元流
      15.3.1 inputstream和reader
      15.3.2 outputstream和writer
     15.4 輸入/輸出流體系
      15.4.1 處理流的用法
      15.4.2 輸入/輸出流體系
      15.4.3 轉換流
     學生提問:怎麼沒有把字元流轉換成位元組流的轉換流呢?
      15.4.4 推回輸入流
     15.5 重定向標準輸入/輸出
     15.6 java虛擬機器讀寫其他進程的資料
     15.7 randomaccessfile
     15.8 物件序列化
      15.8.1 序列化的含義和意義
      15.8.2 使用物件流實現序列化
      15.8.3 物件引用的序列化
      15.8.4 自訂序列化
      15.8.5 另一種自訂序列化機制
      15.8.6 版本
     15.9 java新io
      15.9.1 java新io概述
      15.9.2 使用buffer
      15.9.3 使用channel
      15.9.4 編碼集和charset
      15.9.5 文件鎖
     15.10 本章小結
     本章練習
    第16章 多執行緒
     16.1 執行緒概述
      16.1.1 執行緒和進程
      16.1.2 多執行緒的優勢
     16.2 執行緒的創建和啟動
      16.2.1 繼承thread類創建執行緒類
      16.2.2 實現runnable介面創建執行緒類
      16.2.3 兩種方式所創建執行緒的對比
     16.3 執行緒的生命週期
      16.3.1 新建和就緒狀態
      16.3.2 運行和阻塞狀態
      16.3.3 執行緒死亡
     16.4 控制執行緒
      16.4.1 join執行緒
      16.4.2 後臺執行緒
      16.4.3 執行緒睡眠:sleep
      16.4.4 執行緒讓步:yield
      16.4.5 改變執行緒優先順序
     16.5 執行緒的同步
      16.5.1 執行緒安全問題
      16.5.2 同步代碼塊
      16.5.3 同步方法
      16.5.4 釋放同步監視器的鎖定
      16.5.5 同步鎖(lock)
      16.5.6 鎖死
     16.6 執行緒通信
      16.6.1 執行緒的協調運行
      16.6.2 使用條件變數控制協調
      16.6.3 使用管道流
     16.7 執行緒組和未處理的異常
     16.8 callable和future
     16.9 執行緒池
     16.10 執行緒相關類
      16.10.1 threadlocal類
      16.10.2 包裝執行緒不安全的集合
      16.10.3 執行緒安全的集合類
      16.11 本章小結
    第17章 網路程式設計
     17.1 網路程式設計的基礎知識
      17.1.1 網路基礎知識
      17.1.2 ip位址和埠號
     17.2 java的基本網路支援
      17.2.1 使用inetaddress
      17.2.2 使用urldecoder和urlencoder
      17.2.3 使用url和urlconnection
     17.3 基於tcp協定的網路程式設計
      17.3.1 tcp協議基礎
      17.3.2 使用servletsocket創建tcp伺服器端
      17.3.3 使用socket進行通信
      17.3.4 加入多執行緒
      17.3.5 記錄使用者資訊
      17.3.6 使用nio實現非阻塞socket通信
     17.4 基於udp協定的網路程式設計
      17.4.1 udp協議基礎
      17.4.2 使用datagramsocket發送、接收資料
      17.4.3 使用multicastsocket實現多點廣播
     17.5 使用代理伺服器
      17.5.1 直接使用proxy創建連接
      17.5.2 使用proxyselector選擇代理伺服器
     17.6 本章小結
     本章練習
    第18章 類載入和反射
     18.1 類的載入、連接和初始化
      18.1.1 jvm和類
      18.1.2 類的載入
      18.1.3 類的連接
      18.1.4 類的初始化
      18.1.5 類初始化的時機
     18.2 類載入器
      18.2.1 類載入器簡介
      18.2.2 類載入機制
      18.2.3 創建並使用自訂的類載入器
      18.2.4 urlclassloader類
     18.3 通過反射查看類資訊
      18.3.1 獲得class對象
      18.3.2 從class中獲取資訊
     18.4 使用反射生成並操作物件
      18.4.1 創建對象
      18.4.2 調用方法
      18.4.3 訪問屬性值
      18.4.4 運算元組
     18.5 使用反射生成jdk動態代理
      18.5.1 使用proxy和invocationhandler創建動態代理
      18.5.2 動態代理和aop
     18.6 反射和泛型
      18.6.1 泛型和class類
      18.6.2 使用反射來獲取泛型資訊
     18.7 本章小結
     本章練習
    上善若水——兼談我的創作理念

    點擊下載: 瘋狂JAVA講義

  • 精通Windows Server 2008命令列與PowerShell

    精通Windows Server 2008命令列與PowerShell

    內容簡介:

    本書全面地介紹了Windows Server 2008命令列、PowerShell和腳本的使用,包括檔和資料夾的管理、磁片管理、系統管理、活動目錄管理、網路管理、網路服務管理、系統診斷、故障恢復、系統安全、批次處理和設定檔,PowerShell等一系列的命令列管理方式以及腳本。本書側重於系統、服務、網路和安全管理應用,不僅介紹了各個命令的語法和參數,還列舉了大量實例,能夠迅速提高讀者的動手能力和技術水準。

    本書適合於從事系統管理和網路管理的專業人員,同時適合於電腦及相關專業的學生,也可作為電腦培訓學校的教材。

    (更多…)

  • Core Web Application Development with PHP and MySQL(英文版CHM)

    Core Web Application Development with PHP and MySQL(英文版CHM)

    OverView

    The programmers guide to building robust web applications with PHP and MySQL

    This is a comprehensive, practical guide for programmers who want to develop production-quality, database-enabled web applications with PHP and MySQL. Long-time developer Marc Wandschneider systematically addresses the entire process: not only coding, but also upfront application, user interface and database design, PLUS security, testing, and more.

    Youll walk through building three applications from start to finish: a calendaring system, a weblog engine, and an e-commerce store. Along the way, youll master essential strategies for creating robust web database applications and learn how to avoid the common pitfalls that trip up many developers moving to PHP and MySQL.

    (更多…)