Practical Java中文版PDF电子书下载
- 电子书积分:11 积分如何计算积分?
- 作 者:(美)Peter Haggar著;侯捷,刘永丹译
- 出 版 社:北京:中国电力出版社
- 出版年份:2003
- ISBN:7508307399
- 页数:278 页
1 一般技术(General Techniques) 1
实践1:参数以by value方式而非by reference方式传递 1
实践2:对不变的data和object reference使用final 3
实践3:缺省情况下所有non-static函数都可被覆写 6
实践4:在arrays和vectors之间慎重选择 7
实践5:多态(polymorphism)优于instanceof 11
实践6:必要时才使用instanceof 15
实践7:一旦不再需要object references,就将它设为null 18
2 对象与相等性(Objects and Equality) 25
实践8:区分reference型别和primitive型别 25
实践9:区分==和equals() 29
实践10:不要依赖equals()的缺省实现 33
实践11:实现equals()时必须深思熟虑 43
实践12:实现equals()时优先考虑使用getClass() 44
实践13:调用super.equals()以唤起base class的相关行为 47
实践14:在equals()函数中谨慎使用instanceof 51
实践15:实现equals()时需遵循某些规则 60
3 异常处理(Exception Handling) 61
实践16:认识「异常控制流」(exception control flow)机制 62
实践17:绝对不可轻忽异常(Never ignore an exception) 65
实践18:千万不要遮掩异常(Never hide an exception) 68
实践19:明察throws子句的缺点 73
实践20:细致而全面地理解throws子句 74
实践21:使用finally避免资源泄漏(resource leaks) 77
实践22:不要从try区段中返回 79
实践23:将try/catch区段置于循环之外 81
实践24:不要将异常(exceptions)用于流程控制 84
实践25:不要每逢出错就使用异常(exceptions) 85
实践26:在构造函数(constructors)中抛出异常 86
实践27:抛出异常之前先将对象恢复为有效状态(valid state) 88
4 性能(Performance) 97
实践28:先把焦点放在设计、数据结构和算法身上 99
实践29:不要倚赖编译期(compile-time)优化技术 101
实践30:理解运行期(runtime)代码优化技术 105
卖践31:如欲进行字符串接合,StringBuffer优于String 107
实践32:将对象的创建成本(creation cost)降至最小 109
实践33:慎防未用上的对象(unused objects) 114
实践34:将同步化(synchronization)降至最低 116
实践35:尽可能使用stack变量 122
实践36:使用static、final和private函数以促成inlining 126
实践37:instance变量的初始化一次就好 127
实践38:使用基本型别(primitive types)使代码更快更小 130
实践39:不要使用Enumeration或Iterator来遍历vector 135
实践40:使用System.arraycopy()来复制arrays 136
实践41:优先使用array,然后才考虑vector和ArrayList 138
实践42:尽可能复用(reuse)对象 141
实践43:使用缓式评估(延迟求值,lazy evaluation) 144
实践44:以手工方式将代码优化 151
实践45:编译为本机代码(Compile to native code) 159
5 多线程(Multithreading) 161
实践46:面对instance函数,synchronized锁定的是对象(objects)而非函数(methods)或代码(code) 162
实践47:弄清楚synchronized statics函数与synchronized instance函数之间的差异 166
实践48:以「private数据+相应的访问函数(accessor)」替换「public/protected数据」 170
实践49:避免无谓的同步控制 173
实践50:访问共享变量时请使用synchronized或volatile 176
实践51:在单一操作(single operation)中锁定所有用到的对象 180
实践52:以固定而全局性的顺序取得多个locks(机锁)以避免死锁 181
实践53:优先使用notifyAll()而非notify() 185
实践54:针对wait()和notifyAll()使用旋锁(spin locks) 187
实践55:使用wait()和notifyAll()替换轮询循环(polling loops) 191
实践56:不要对locked object(上锁对象)之object reference重新赋值 194
实践57:不要调用stop()或suspend() 197
实践58:通过线程(threads)之间的协作来中止线程 198
6 类与接口(Classes and Interfaces) 201
实践59:运用interfaces支持多重继承(multiple inheritance) 201
实践60:避免interfaces中的函数发生冲突 206
实践61:如需提供部分实现(partial implementation),请使用abstract classes(抽象类) 209
实践62:区分interface、abstract class和concrete class 212
实践63:审慎地定义和实现immutable classes(不可变类) 213
实践64:欲传递或接收mutable objects(可变对象)之object references时,请实施clone() 215
实践65:使用继承(inheritance)或委托(delegation)来定义immutable classes(不可变类) 226
实践66:实现clone()时记得调用super.clone() 233
实践67:别只依赖finalize()清理non-memory(内存以外)的资源 235
实践68:在构造函数内调用non-final函数时要当心 238
- 《AutoCAD 2018自学视频教程 标准版 中文版》CAD/CAM/CAE技术联盟 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019
- 《复分析 英文版》(中国)李娜,马立新 2019
- 《生物化学 本科临床 英文版》张晓伟 2018
- 《Dreamweaver CC 2018标准实例教程 中文版》杨雪静,胡仁喜编著 2019
- 《Flash CC动画制作实用教程 中文版》麓山文化 2019
- 《代数簇 英文版》(荷)Eduard Lo 2019
- 《全国高等教育艺术设计专业规划教材 AutoCAD2020中文版标准教程》(中国)张莉,周子良,何婧 2019
- 《高等学校中外合作办学适用教材 高等数学 上 英文版》(中国)潘斌,牛宏,陈丽 2019
- 《全国高等学校药学类专业教材 药理学 英文版》殷明,朱依谆主编 2017
- 《中国当代乡土小说文库 本乡本土》(中国)刘玉堂 2019
- 《异质性条件下技术创新最优市场结构研究 以中国高技术产业为例》千慧雄 2019
- 《中国铁路人 第三届现实主义网络文学征文大赛一等奖》恒传录著 2019
- 《莼江曲谱 2 中国昆曲博物馆藏稀见昆剧手抄曲谱汇编之一》郭腊梅主编;孙伊婷副主编;孙文明,孙伊婷编委;中国昆曲博物馆编 2018
- 《中国制造业绿色供应链发展研究报告》中国电子信息产业发展研究院 2019
- 《中国陈设艺术史》赵囡囡著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《《走近科学》精选丛书 中国UFO悬案调查》郭之文 2019
- 《清至民国中国西北戏剧经典唱段汇辑 第8卷》孔令纪 2018
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018