《Java开发之道》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:明日科技,张振坤,李钟尉等编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2011
  • ISBN:9787121126437
  • 页数:550 页
图书介绍:本书是一部提高编程经验的书籍。它集编程感悟、经验技巧、陷阱、谬误、算法和方案于一体,旨在指导读者如何学习编程,帮助读者丰富编程经验。它涵盖了80个编程细节、97个编程技巧、21个编程陷阱、20个编程谬误、20个优化算法和15个解决方案。这些内容是作者结合自己多年的实际开发经验,精心筛选和提炼而成的,是读者难寻和非常渴求的内容。

第1篇 编程经验与感悟——站在前人的肩膀上 2

第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篇 陷阱与谬误——吸取前人的教训 22

第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方法时参数不是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语句块将得不到执行 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篇 技术细节——修炼编程内功心法 86

第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篇 编程技巧——程序员的神兵利器 212

第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类读写文件乱码 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篇 算法与效率——程序员的得力助手 340

第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篇 解决方案——前人的经验精髓 398

第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