⑴ 求这本书的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先行者咨询即可。