您的位置:首页 > 百科 > 正文

Java开发之道

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

  • 书名 Java开发之道
  • 作者 张振坤 李钟尉 陈丹丹
  • 出版时间 2011年3月
  • 页数 564 页
  • 定价 69.00元含(含光盘1张)

宣传语

  高薪工程师经验分享

  事半功倍的编程手记

  凝聚5位开发高手4年开发心血精华所得,程序开发人员开发的必备宝典

  253个感悟、技巧、陷阱、谬误、算法和方案,

  帮您轻松掌握程序代省请草牛开发方法,提升开发实战技能。

作者

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

简 介

  这是一本集编程感悟、技巧、陷阱、谬误、算法和方案为一体来自的编程书籍,旨在引导读者如何学习编程,帮助读者丰富编程经验。全书分为6篇,共计16章内容,全面介绍了学习和应用Java进行程序开发的各种陷阱与谬误、技术细节与编程技巧、常用的算法及解决方案,涉及主要包括Java语言关键技术、Swing技术、JDBC、文件、序标千传这若盟衡列化对象、网络、反射、线程、图形图像、动画、算法、方案和数据库应用等的相关技术细节、技巧以及实施方案。

  本书附带有配套CD光盘,光盘中提赶旧秋七良供了书中全部实例和项目的源代码,这些源代码都是经过作者精心调试通过的,保证能够在Windows XP、Windows 2003及Windows 7操作系统下编译和运行。

  本书非常适合大中专院校在校生、毕业生、求职者、编程爱好者学习,同时也可以作为想要学习编程的初级人员的指导用书。

  前 言

  许多求职人员在面试时经常遇到的一个问题是"您有360百科几年开发经验?"这对于一个刚刚走出校园的毕业生来说,简直就是一颗"原子弹"。"经验"真的很重要吗?是的,它是衡量个人能力的砝码,它将许多求职者挡在了名企的门外

  本书不是基础类书籍,不是项目、案例类书籍,它是一本积累编程经验的书籍。本书包括信教钱头处书款了80个编程细节、97个编缺任收只拉程求明死频程技巧、21个编程陷阱、20屋应个编程谬误、20个优化血温田算法和15个解决方案。这服名宽氧段更赶儿已些内容是作者结合自己多年的实际开发经验,精心筛选和提炼而成的。如果您想提高自己的编程能力,本书将是最佳的选择!

  本书内容

  本书包含6大部分,共16章内容,主要包括编程经验与感悟、陷阱与谬误、技术细节、编程技巧、算法与效率、解决方案等找研率胞模内容。

  本书的内容结构如下图所示。

  本书特色

  内容经原第族请达正典、汇聚精华

  书中每项内容都是由作者精心选择的,具有很强的代表性和实用性

  讲解风趣、诙谐生动

  无论是在目录酸居器万跳饭顶害玉法双名称上还是在技术讲解上,始终突出趣味性。在目录选择上,作者想尽办法使目录更新颖,更能够体现内容的特点。在技术讲解中,通过穿插故事、比喻等形式,帮州娘这自全办损质报助读者消化和吸收所介绍的内容。

  知无不言、言无不

  书中在介绍知识点时,对相应专题进行了深入剖析,使知识点呈现系统性、全面性的特点,避免出现一笔带过、言之无物的情采河秋况。

  图文并茂、形象易懂

  书中使用了大量的流程图、示意图及图变任且态田间例来说明和演示技术,帮助读者更直观地理解书中的内容。

  代码规范、注释详尽

  书中的实例代码都是按照商业编码规范来书写的,为了方便用户阅读代码,几乎所有的代码都提供有详细的注释

  private Conne听供器乡玉军演合ction conn=nul认雨理推振l; //声明连接

  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

发表评论

评论列表