⑴ 深入理解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进去的值了。由于正在做的项目包含这个技术,所以就给你讲讲,不明白的地方可以一起讨论。