勇敢心资源网

当前位置:首页 > 百科 / 正文

Java开发之道

(2021-06-27 23:19:04) 百科
Java开发之道

Java开发之道

《Java开发之道》是2011年出版的图书,作者是张振坤李钟尉陈丹丹。

基本介绍

  • 书名:Java开发之道
  • 作者: 张振坤  李钟尉  陈丹丹
  • ISBN:978-7-121-12643-7
  • 页数:564 页
  • 定价:69.00元含(含光碟1张)
  • 出版时间:2011年3月
  • 开本:16开

宣传语

高薪工程师经验分享
事半功倍的编程手记
凝聚5位开发高手4年开发心血精华所得,程式开发人员开发的必备宝典
253个感悟、技巧、陷阱、谬误、算法和方案,
帮您轻鬆掌握程式开发方法,提升开发实战技能。

作者简介

本丛书的作者团队对计算机程式设计类图书市场有很好的敏感性,对出版动态有準确的把握,对计算机技术的发展进行长期跟蹤。该团队长期以来致力于计算机图书的内容提供和策划,已经出版的多个系列图书都在计算机图书市场上有良好的口碑,都曾经引领了当年的电脑程式设计畅销书。

内 容 简 介

这是一本集编程感悟、技巧、陷阱、谬误、算法和方案为一体的编程书籍,旨在引导读者如何学习编程,帮助读者丰富编程经验。全书分为6篇,总计16章内容,全面介绍了学习和套用Java进行程式开发的各种陷阱与谬误、技术细节与编程技巧、常用的算法及解决方案,涉及主要包括Java语言关键技术、Swing技术、JDBC、档案、序列化对象、网路、反射、执行绪、图形图像、动画、算法、方案和资料库套用等的相关技术细节、技巧以及实施方案。
本书附带有配套CD光碟,光碟中提供了书中全部实例和项目的原始码,这些原始码都是经过作者精心调试通过的,保证能够在Windows XP、Windows 2003及Windows 7作业系统下编译和运行。
本书非常适合大中专院校在校生、毕业生、求职者、编程爱好者学习,同时也可以作为想要学习编程的初级人员的指导用书。
前 言
许多求职人员在面试时经常遇到的一个问题是“您有几年开发经验?”这对于一个刚刚走出校园的毕业生来说,简直就是一颗“核子弹”。“经验”真的很重要吗?是的,它是衡量个人能力的砝码,它将许多求职者挡在了名企的门外。
本书不是基础类书籍,不是项目、案例类书籍,它是一本积累编程经验的书籍。本书包括了80个编程细节、97个编程技巧、21个编程陷阱、20个编程谬误、20个最佳化算法和15个解决方案。这些内容是作者结合自己多年的实际开发经验,精心筛选和提炼而成的。如果您想提高自己的编程能力,本书将是最佳的选择!
本书内容
本书包含6大部分,共16章内容,主要包括编程经验与感悟、陷阱与谬误、技术细节、编程技巧、算法与效率、解决方案等内容。
本书的内容结构如下图所示。
本书特色
内容经典、汇聚精华
书中每项内容都是由作者精心选择的,具有很强的代表性和实用性。
讲解风趣、诙谐生动
无论是在目录名称上还是在技术讲解上,始终突出趣味性。在目录选择上,作者想尽办法使目录更新颖,更能够体现内容的特点。在技术讲解中,通过穿插故事、比喻等形式,帮助读者消化和吸收所介绍的内容。
知无不言、言无不尽
书中在介绍知识点时,对相应专题进行了深入剖析,使知识点呈现系统性、全面性的特点,避免出现一笔带过、言之无物的情况。
图文并茂、形象易懂
书中使用了大量的流程图、示意图及图例来说明和演示技术,帮助读者更直观地理解书中的内容。
代码规範、注释详尽
书中的实例代码都是按照商业编码规範来书写的,为了方便用户阅读代码,几乎所有的代码都提供有详细的注释。
private Connection conn=null; //声明连线
private PreparedStatement ps=null; //声明PreparedStatement对象
private ResultSet rs=null; //声明结果集对象
/**
*定义构造方法,用于载入资料库驱动
*/
public PreparedQueryFrame() {
try {
Class.forName("net.sourceforge.jtds.jdbc.Driver"); //载入资料库驱动
} catch (ClassNotFoundException e ) {
e.printStackTrace(); //列印栈蹤迹
}
}
本书约定
书中的所有实例在光碟中均有原始码。
原始码在光碟中的存储形式为“光碟\MR\Instance\12\03\插入排序”,其中,“MR\Instance\”是固定的目录部分,其后的“12”表示实例所在的章号,而章号后的“03”表示二级标题的序号,最后的“插入排序”表示项目名称 ,目录示意图如下所示。
在本书的二级标题下会存在有多个实例的情况,为了区分不同的实例,实例的项目名称都是不同的。例如,03二级标题下存在两个实例,它们的存储形式为“MR\ Instance\12\03\插入排序”和“MR\ Instance\12\03\希尔排序”。
书中有些实例会用到资料库,为了保证程式的运行,用户需要将实例使用的资料库安装到本地机器上,详细安装方法请参考光碟中的“Java开发之道光碟使用说明书”。
出于篇幅的限制,书中有些实例只给出了核心代码,但这不会影响读者的学习,完整的代码可以从本书的光碟中找到。
在使用本书的实例之前,请仔细阅读光碟中的“Java开发之道光碟使用说明书”。
附赠DVD光碟
为了帮助读者学习和练习书中的实例,本书附赠有DVD光碟,里面提供了书中所有实例项目的原始码、素材及“Java开发之道光碟使用说明书”,并赠送了Java的相关学习资料。光碟目录如下图所示。
注:读者在使用本书光碟源码前,请仔细阅读光碟使用说明书。
本书读者群
本书非常适合以下人员阅读:
 Java求职人员
 大中专院校的在校生和毕业生
 相关培训机构的学员
 语言已经入门,急需进一步提高的编程人员
 编程爱好者
 有多年开发经验的程式设计师
学习答疑
如果您在学习或使用本书的过程中遇到问题或疑惑,可以通过如下方式与我们联繫:
我们承诺将在5个工作日内给您提供解答。
本书作者
本书由明日科技组织编写,参加编写的有张振坤、李钟尉、陈丹丹、吕双、刘中华、梁水、张彦国、王乐乐、高春艳、梁晓岚、李伟明、巩建华、赛奎春、杨丽、刘欣等。由于作者水平有限,疏漏和不足之处在所难免,请广大读者朋友批评指正。
明日科技
2010年7月

目 录

第1篇 编程经验与感悟——站在前人的肩膀上
第1章 编程初学者应养成的良好习惯 2
细节1 最好的老师——培养对编程的兴趣 3
细节2 编程的根基——不容忽视的基础知识 5
细节3 成功的关键——要有学好编程的坚定信心 6
细节4 宝贵的财富——理论与实践相结合 6
细节5 高贵的品质——程式书写要规範化 7
细节6 减少依赖性——学会独立思考和解决问题 10
第2章 高级程式设计师应具备的基本素质和能力 12
细节1 易于理解——具有良好的编程风格 13
细节2 取长补短——多与别人交流 14
细节3 先决条件——分析和设计资料库 15
细节4 知己知彼——写程式之前要分析 17
细节5 日积月累——写程式之后要总结 18
细节6 重中之重——软体需求规格说明书 18
第2篇 陷阱与谬误——吸取前人的教训
第3章 细说开发人员不可忽略的21个技术陷阱 22
陷阱1 漏洞百出——使用for删除集合元素陷阱 23
陷阱2 差值损失——浮点数相减造成的损失 24
陷阱3 零的危害——不慎使用八进制常量的危害 26
陷阱4 无休无止——while(condition); 以分号结尾 27
陷阱5 无风起浪——初始化静态成员的陷阱 28
陷阱6 稍纵即逝——长整数运算中存在的隐患 29
陷阱7 慎之又慎——複合赋值造成的经济损失 31
陷阱8 鱼龙混杂——为字元串快取构造器传递字元 32
陷阱9 顺理成章——静态常量的初始化顺序有讲究 33
陷阱10 看似相同——增量、减量运算符在前在后 35
陷阱11 不得不防——不可变的整数运算 36
陷阱12 小心谨慎——位元组数组转换为字元串乱码 37
陷阱13 无法挽回——在映射中放入重複键丢失数据 38
陷阱14 不同版本——反序列化对象 39
陷阱15 无法运行——自定义String导致主方法无效 42
陷阱16 损失惨重——不小心隐藏父类的final栏位 44
陷阱17 脱离控制——if语句没加大括弧“{”和“}” 47
陷阱18 控制无效——缺少break的switch语句 49
陷阱19 痴心妄想——同名形参变数为成员变数赋值 51
陷阱20 各负其责——重写equals方法但是没有重写hashCode方法 53
陷阱21 一字之差——重写对象的hashCode方法, 但重写equals方法时
陷阱21 参数不是Object类型 56
第4章 细说开发人员意识中的20个常见谬误 62
谬误1 看似相同——使用&&、||和&、|作用于布尔值效率相同 63
谬误2 并非如此——类中不能创建私有构造方法 64
谬误3 是非真相——默认构造方法都是public的 64
谬误4 方便阅读——为了提高编程效率而不必关心代码的书写 65
谬误5 片面之词——所有的业务逻辑都应由程式代码来实现 65
谬误6 易于理解——算法应越简单越好 66
谬误7 谬以千里——程式应由开发人员自己调试 67
谬误8 无稽之谈——垃圾回收器可以回收资源而不必手动释放 67
谬误9 提高效率——设计资料库表时不必定义索引 69
谬误10 误入歧途——所有的异常都要用try…catch语句捕获 69
谬误11 必由之路——在try语句块中使用return语句, finally语句
陷阱21 块将得不到执行 71
谬误12 小心为妙——split()方法可分割所有字元串 72
谬误13 不知其二——泛型在不被指定的情况下是不确定的类型 73
谬误14 不知其二——字元串是值类型 74
谬误15 相差甚远——String与StringBuffer基本上相同 75
谬误16 一字之别——重载就是重写 77
谬误17 相差甚远——存储相同数据一维数组、二维数组所占记忆体基本相同 79
谬误18 恰恰相反——存储数据HashMap比数组快 81
谬误19 恰恰相反——频繁查询数组比HashMap快 82
谬误20 误入歧途——Java中没有全局变数 83
第3篇 技术细节——修炼编程内功心法
第5章 Java语言基础细节47例 86
细节1 意义深远——Java程式的运行机制 87
细节2 建立信心——解决常见错误 87
细节3 提高效率——快取数据 91
细节4 变幻莫测——装箱与拆箱 92
细节5 无中生有——数组元素的默认初始值 95
细节6 管理记忆体——记忆体中的数组 96
细节7 集合杀手——新增的for…each循环 98
细节8 含义不同——使用“==”与equals比较对象 99
细节9 如我所愿——格式化小数与货币值 100
细节10 未卜先知——使用正则表达式 102
细节11 化整为零——分割字元串 105
细节12 变化多端——数据类型转换 105
细节13 永不停息——死循环 107
细节14 互动显示——基本类型与字元串的转换 108
细节15 简单高效——使用Arrays类运算元组 110
细节16 伸缩自如——定义参数可变的方法 111
细节17 有始有终——记忆体中成员变数的运行机制 112
细节18 呼之即来——记忆体中局部变数的运行机制 113
细节19 减少开销——掌握变数的使用原则 114
细节20 生死相依——对象的引用与销毁 115
细节21 信息隐蔽——封装 116
细节22 子承父业——继承 117
细节23 变化莫测——多态 118
细节24 小心谨慎——向上转型与向下转型 120
细节25 功能各异——构造方法与初始化块 122
细节26 完全不同——重载与重写 124
细节27 类的模组——抽象类 125
细节28 简单规範——接口 127
细节29 伸缩自如——面向接口编程 128
细节30 类中有类——成员内部类 129
细节31 无名之类——匿名内部类 130
细节32 清理资源——垃圾回收 131
细节33 有备无患——处理异常 132
细节34 简单明了——使用自定义异常 135
细节35 安全易懂——枚举类 137
细节36 独立存储——操作Collection集合 138
细节37 映射关係——操作Map集合 142
细节38 独一无二——使用泛型 144
细节39 出神入化——自定义泛型类 144
细节40 望尘莫及——设定类型形参的上限 145
细节41 难以超越——设定类型通配符的上限 147
细节42 永不退缩——设定类型通配符的下限 148
细节43 异曲同工——创建Class对象 149
细节44 原来如此——用Class对象获得类信息 150
细节45 别有洞天——使用反射创建对象 151
细节46 无奇不有——通过反射调用方法 153
细节47 出神入化——通过反射访问栏位 154
第6章 细说开发人员必知必会的 33个开发细节 156
细节1 读取图片档案——显示流中读取的图片 157
细节2 用档案存储对象——序列化对象的IO操作 157
细节3 保护属性——保护序列化对象的属性 160
细节4 并发控制——创建执行绪 161
细节5 暂停执行绪——执行绪休眠 163
细节6 线上程中执行其他执行绪——执行绪加入 164
细节7 解决执行绪冲突——执行绪同步 166
细节8 更灵活地解决冲突——使用同步锁 168
细节9 协调运行——执行绪通信 169
细节10 提高性能——使用执行绪池 171
细节11 独一无二——获取IP位址和域名 173
细节12 TCP网路编程——使用套接字 174
细节13 基于UDP编程——使用数据报 177
细节14 多点广播——实现广播通信 180
细节15 绘画的图纸——图形上下文 183
细节16 绘製图像——处理图像 185
细节17 操作磁碟图像——使用ImageIO处理图像 186
细节18 画龙点睛——使用图示 187
细节19 不同凡响——绘製列表框的内容 188
细节20 随心所欲——绘製树节点图示 190
细节21 美观大方——绘製表格的单元格内容 191
细节22 秩序井然——表格列的排序 193
细节23 静观其变——监听文本控制项中内容的变化 194
细节24 合情合理——使用格式文本框 195
细节25 后台运行——使用系统托盘 196
细节26 首当其冲——载入资料库驱动与建立连线 198
细节27 究其根源——传递SQL语句 199
细节28 为我所用——操作结果集 200
细节29 随心所欲——可滚动的结果集 202
细节30 同命相连——可更新的结果集 203
细节31 才思敏捷——执行预处理语句 205
细节32 择优录用——调用存储过程 207
细节33 同舟共济——进行事务处理 209
第4篇 编程技巧——程式设计师的神兵利器
第7章 细说开发人员必知必会的19个基本技能开发技巧 212
技巧1 获得需要的数值——数值的捨入处理 213
技巧2 格式化数值——使用NumberFormat 214
技巧3 格式化日期——使用DateFormat 215
技巧4 长度不等于个数——统计字元串的实际长度 216
技巧5 计算最大天数——判断指定年月的最大天数 217
技巧6 实现递归——使用Stack实现递归方法功能 218
技巧7 大写金额——小写金额转换为大写金额 219
技巧8 汉字区位码——汉字转换为区位码 220
技巧9 区位转汉字——区位码转换为汉字 221
技巧10 异或加解密——使用异或进行加密与解密 222
技巧11 字元串加解密——使用String类加解密 223
技巧12 有效的身份证号——验证18位身份证格式 224
技巧13 正确的IP位址——验证IP位址的有效性 226
技巧14 正确的E-mail——用正则表达式判断信箱 226
技巧15 有效的邮编——使用正则表达式判断邮编 227
技巧16 去除空格——去除字元串的全部空格 228
技巧17 逆序输出——反转字元串 229
技巧18 中英文判断——判断字元是英文还是汉字 229
技巧19 自动编号——根据计算机信息生成编号 230
第8章 细说开发人员必知必会的31个互动式开发技巧 232
技巧1 与省市级联的市县——根据省/直辖市显示对应的市县 233
技巧2 受限的文本框——限制可输入字元个数的文本框 234
技巧3 防止数据丢失——关闭窗体前提示 235
技巧4 美化窗体——设定窗体的背景 236
技巧5 特殊按钮——製作不规则按钮 237
技巧6 背景工具列——製作带背景的工具列 238
技巧7 受限的窗体——限制窗体的大小 239
技巧8 透明窗体——设定窗体透明度 240
技巧9 启动界面——实现系统闪屏 240
技巧10 辅助录入——使用回车键移动焦点 242
技巧11 数值输入——只能输入数值的文本框 242
技巧12 锁定列标题——使表格的列标题不能移动 243
技巧13 修饰表格——製作带背景图片的表格 244
技巧14 谜语猜猜看——猜谜语 245
技巧15 运行外部程式——运行执行档 248
技巧16 打开网页——运行网页 249
技巧17 播放音频——音频播放程式 250
技巧18 幸运抽奖——随机抽取双色球号码 251
技巧19 有记忆功能的选单——带历史记录的选单 252
技巧20 导航主界面——按钮导航界面 254
技巧21 树形主界面——树形导航界面 255
技巧22 关机操作——关闭、重启和注销计算机 257
技巧23 节省资源——定时关机 258
技巧24 定时听音乐——定时播放MP3 259
技巧25 定时提醒——闹铃程式 260
技巧26 保护资源——锁屏程式 261
技巧27 重要日期提醒——时间提示程式 262
技巧28 窗体居中——在萤幕上居中显示窗体 263
技巧29 带行标题表格——有多列行标题栏的表格 264
技巧30 选择数据——双击单元格显示组合框 266
技巧31 指定列宽——设定表格指定列的宽度 268
第9章 细说开发人员必知必会的19个资料库开发套用技巧 270
技巧1 提高组合框添加数据的效率——向组合框添加列表项的通用类 271
技巧2 表格快速显示数据的工具——在表格中 显示数据的通用类 272
技巧3 提高系统性能——最佳化SQL语句 274
技巧4 使用JDBC事务——批量运算元据记录 275
技巧5 解决乱码——防止MySQL乱码 276
技巧6 保护数据——备份与恢复MySQL资料库 278
技巧7 存储图片档案——在资料库中存储图片 279
技巧8 读取图片档案——从资料库中读取图片 281
技巧9 存储纯文本档案——将纯文本档案存储到资料库中 282
技巧10 读取纯文本档案——从资料库中读取纯文本档案 283
技巧11 存储特殊字元——存储含特殊字元的信息 284
技巧12 资源定位——获取指定区间的记录 285
技巧13 分组排序——分组统计与排序 286
技巧14 显示所有表——获取资料库中的所有表 287
技巧15 多表查询——进行多表连线查询 289
技巧16 分析表结构——获得表结构信息 290
技巧17 提高数据处理速度——调用存储 过程计算员工的平均年龄 291
技巧18 存储Date对象——在资料库中存储Date日期对象 293
技巧19 读取资料库的dateTime列——获取资料库中 datetime列的数据 294
第10章 细说开发人员必知必会的18个档案与网路开发技巧 296
技巧1 档案列表——使用树显示本地档案列表 297
技巧2 备份档案——複製档案 300
技巧3 更改位置——移动档案 302
技巧4 废弃的档案——删除档案 302
技巧5 备份资料夹——複製整个资料夹 303
技巧6 清理资料夹——删除整个资料夹 304
技巧7 更改位置——移动整个资料夹 305
技巧8 档案瘦身——压缩与解压缩档案 306
技巧9 资料夹瘦身——压缩与解压缩资料夹 308
技巧10 解决冲突——实现档案锁定 310
技巧11 所占空间——获取资料夹大小 311
技巧12 解决读写档案乱码——用DataInputStream和 DataOutputStream类
技巧12 读写档案乱码 311
技巧13 解决读档案乱码——使用FileReader读档案乱码 313
技巧14 网路传递汉字——使用Socket传递汉字 313
技巧15 网路传递对象——使用Socket传递对象 315
技巧16 网路操作——获取网路资源的大小 317
技巧17 操作网页——解析网页中的内容 318
技巧18 下载资源——网路资源的下载 319
第11章 细说开发人员必知必会的10个图形图像与动画程式开发技巧 321
技巧1 防止攻击——生成验证码 322
技巧2 防止攻击——使用反射载入生成的验证码 323
技巧3 动态载入——在文本框中动态载入文本 324
技巧4 键盘操作图片——通过键盘移动图片 326
技巧5 图片动画——随滑鼠移动图片 327
技巧6 图片动画——跑马灯效果 329
技巧7 换图动画——不断变化的图片 331
技巧8 文字特效——文字淡入淡出 333
技巧9 缩放特效——实现文字缩放动画 334
技巧10 图片显示特效——淡入淡出的图片 336
第5篇 算法与效率——程式设计师的得力助手
第12章 细说开发人员必须掌握的20个常用算法 340
算法1 排序算法——起泡排序 341
算法2 排序算法——选择排序 344
算法3 排序算法——插入排序 347
算法4 排序算法——归併排序 350
算法5 查找算法——顺序查找 353
算法6 查找算法——二分查找 357
算法7 后进先出——堆叠 358
算法8 单线联繫——单向鍊表算法 365
算法9 双线联繫——双向鍊表算法 369
算法10 先进先出——伫列 373
算法11 层层相连——树 376
算法12 算法套用——素数 382
算法13 趋近理想的查找——散列技术 384
算法14 算法套用——汉诺塔 387
算法15 算法套用——斐波那契数列 388
算法16 算法套用——水仙花树 389
算法17 算法套用——百钱买百鸡 390
算法18 算法套用——韩信点兵 391
算法19 加密算法——SHA加密 392
算法20 加密算法——MD5加密 394
第6篇 解决方案——前人的经验精髓
第13章 登录、带许可权主界面和软体注册实施方案 398
方案1 安全登录——实现系统登录 399
方案2 限制用户——带许可权的主界面 404
方案3 随机应变——在闪屏界面中绘製启动信息 407
方案4 注册程式——应用程式注册 411
第14章 档案和图形图像处理解决方案 419
方案1 画龙点睛——实现水印 420
方案2 处理大档案——档案的分割与合併 423
方案3 批量操作——档案批量处理 429
方案4 画图程式——简易画图板 452
第15章 相册照片管理和游戏开发解决方案 457
方案1 相册管理——精美相册 458
方案2 管理照片——数码照片 468
方案3 合情合理——拼图游戏 478
第16章 资料库套用、安全与列印报表实施方案 484
方案1 数据表结构——MySQL表结构提取器 485
方案2 安全管理——MySQL资料库的自动备份与恢复 495
方案3 线上考试——考试系统 507
方案4 列印数据——报表列印 528
声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net
搜索
随机推荐

勇敢心资源网|豫ICP备19027550号