⑴ 深入理解java虛擬機第二版和第三版的區別
區別:
第三版是一款針對java學習打造的圖書,它從Java程序員的角度出發,系統地將Java程序運行過程中涉及的各種知識整合到了一起,而第二版不僅技術更新、內容更豐富,而且實戰性更強。
⑵ 各位大佬們,求《30天學通JAVA項目案例開發》pdf版
《30天學通JavaWeb項目案例開發》PDF下載 下載地址:密碼:id7x 圖書簡介: Java是目前最流行、發展最快的編程語言之一,由於其開放,跨平台的特點,吸引了眾多的開發人員與軟體公司。同時在眾多軟體公司及有志之士的共同努力下,出現了許多優秀的開源框架,為Java語言在企業級開發領域注入了新的血液。 本書結合具體的項目案例向讀者介紹了JavaEE開發的整個流程,本書共介紹了10個項目案例,涵蓋了目前幾個比較流行的開源框架,如Struts、Spring、Hibernate、JSF,同時還有用於分布式企業級開發的EJB技術,在項目的開發過程中,筆者還多次使用到了Ajax技術,以增強用戶體驗。在每一個項目案例的介紹中,筆者都是按照實際的開發步驟進行的,一個模塊一個模塊地進行介紹。對每一個項目的代碼都進行了詳細的介紹,對核心代碼還進行了詳細的代碼注釋,盡量讓讀者讀懂代碼中的每一行,每一個細節。 本書不僅僅是向讀者介紹幾個案例,更是為了讓讀者熟悉這些開源框架的使用,其中也包含了筆者很多的開發技巧與開發經驗,因此對於JavaEE初學者及具有一定開發基礎的編程人員,都是一本不錯的參考書。
⑶ 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先行者咨詢即可。
⑷ 求《深入分析Java Web技術內幕》(修訂版)的電子版 pdf [許令波著][電子工業出版社]
找資源不易,地址如下:
http://124.14.12.80/ws.cdn.pcs.com/file/?bkt=p2-qd-11&xcode=&fid=3629241177-250528-227940166344250&time=1428394798&sign=FDTAXERLBH--4hmereXzNX03lbkgMzxAvJLmZ2s%3D&to=cb&fm=Qin,B,G,ny&sta_dx=124&sta_cs=28&sta_ft=pdf&sta_ct=6&newver=1&newfm=1&flow_ver=3&sl=80347212&expires=8h&rt=sh&r=652662376&mlogid=1178113708&vuk=353392685&vbdid=2058270349&fin=%E6%B7%B1%E5%85%A5%E5%88%86%E6%9E%90Java%20Web%E6%8A%80%E6%9C%AF%E5%86%85%E5%B9%95.pdf&fn=%E6%B7%B1%E5%85%A5%E5%88%86%E6%9E%90Java%20Web%E6%8A%80%E6%9C%AF%E5%86%85%E5%B9%95.pdf&wshc_tag=0&wsts_tag=5523932e&wsid_tag=dc70f103&wsiphost=ipdbm
⑸ 深入分析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
⑹ 用webservice接收pdf文件的二進制字元串,在java項目中如何把二進制字元串轉換成pdf
JasperReports, 你可以上網查一下這個技術。我們現在做的項目就是應用這個技術的。用iReport生成一個.jasper模板文件,然後用java代碼讀取這個文件並向其中set值(讀取jasper文件的方法你應該知道吧,就是利用java的io,比如用File:File reportFile = new File(reportFilePath);),然後再用jasperreporst封裝好的方法(比如JasperExportManager.exportReportToPdfStream這個方法,當然,你需要先導入對應的jar包)生成最終生成的pdf文件中就含有java代碼set進去的值了。由於正在做的項目包含這個技術,所以就給你講講,不明白的地方可以一起討論。