Effective+Java+中文版
Effective+Java+中文版
下载地址 https://pan.baidu.com/s/1_EzSztQ2PmKKOoHwOWs7tw
扫码下面二维码关注公众号回复 100043获取分享码
本书目录结构如下:
第1章 引言
这章主要说了面向人群,规则场景,本书的关注点,内容用了什么术语等等。
第2章 创建和销毁对象
学习笔记
第1条:考虑用静态工厂方法代替构造器
第2条:遇到多个构造器参数时要考虑用构建器
第3条:用私有构造器或者枚举类型强化Singleton属性
第4条:通过私有构造器强化不可实例化的能力
第5条:避免创建不必要的对象
第6条:消除过期的对象引用
第7条:避免使用终结方法
第3章 对于所有对象都通用的方法
学习笔记
第8条:覆盖equals时请遵守通用约定
第9条:覆盖equals时总要覆盖hashCode
第10条:始终要覆盖toString
第11条:谨慎地覆盖clone
第12条:考虑实现Comparable接口
第4章 类和接口
学习笔记
第13条:使类和成员的可访问性最小化
第14条:在公有类中使用访问方法而非公有域
第15条:使可变性最小化
第16条:复合优先于继承
第17条:要么为继承而设计,并提供文档说明,要么就禁止继承
第18条:接口优于抽象类
第19条:接口只用于定义类型
第20条:类层次优于标签类
第21条:用函数对象表示策略
第22条:优先考虑静态成员类
第5章 泛型
学习笔记
第23条:请不要在新代码中使用原生态类型
第24条:消除非受检警告
第25条:列表优先于数组
第26条:优先考虑泛型
第27条:优先考虑泛型方法
第28条:利用有限制通配符来提升API的灵活性
第29条:优先考虑类型安全的异构容器
第6章 枚举和注解
第30条:用enum代替int常量
第31条:用实例域代替序数
第32条:用EnumSet代替位域
第33条:用EnumMap代替序数索引
第34条:用接口模拟可伸缩的枚举
第35条:注解优先于命名模式
第36条:坚持使用Override注解
第37条:用标记接口定义类型
第7章 方法
第38条:检查参数的有效性
第39条:必要时进行保护性拷贝
第40条:谨慎设计方法签名
第41条:慎用重载
第42条:慎用可变参数
第43条:返回零长度的数组或者集合,而不是:null
第44条:为所有导出的API元素编写文档注释
第8章 通用程序设计
第45条:将局部变量的作用域最小化
第46条:for-each循环优先于传统的for循环
第47条:了解和使用类库
第48条:如果需要精确的答案,请避免使用float和double
第49条:基本类型优先于装箱基本类型
第50条:如果其他类型更适合,则尽量避免使用字符串
第51条:当心字符串连接的性能
第52条:通过接口引用对象
第53条:接口优先于反射机制
第54条:谨慎地使用本地方法
第55条:谨慎地进行优化
第56条:遵守普遍接受的命名惯例
第9章 异常
第57条:只针对异常的情况才使用异常
第58条:对可恢复的情况使用受检异常,对编程错误使用运行时异常
第59条:避免不必要地使用受检的异常
第60条:优先使用标准的异常
第61条:抛出与抽象相对应的异常
第62条:每个方法抛出的异常都要有文档
第63条:在细节消息中包含能捕获失败的信息
第64条:努力使失败保持原子性
第65条:不要忽略异常
第10章 并发
第66条:同步访问共享的可变数据
第67条:避免过度同步
第68条:executor和task优先干线程
第69条:并发工具优先于wait和notify
第70条:线程安全性的文档化
第71条:慎用延迟初始化
第72条:不要依赖于线程调度器
第73条:避免使用线程组
第11章 序列化
第74条:谨慎地实现Serializable接口
第75条:考虑使用自定义的序列化形式
第76条:保护性地编写readObject方法
第77条:对于实例控制,枚举类型优先于readResolve
第78条:考虑用序列化代理代替序列化实例
Effective+Java+中文版相关推荐
- 读《Effective java 中文版》(2)
FROM 竹笋炒肉 http://hedong.3322.org/ 读<Effective java 中文版>(2) 第10条:谨慎地改写clone Cloneable接口的目的是作为对象 ...
- 竹笋炒肉转载 -- 读《Effective java 中文版》(2)
FROM 竹笋炒肉 http://hedong.3322.org/ 读<Effective java 中文版>(11) 第10条:谨慎地改写clone Cloneable接口的目的是作为对 ...
- Java之父都需要的《Effective Java中文版(第3版)》到底有多牛b!Java程序员都应该需要!
写在前面 你是否正在寻找一本能够更加深入地了解Java编程语言的书,以便编写出更清晰.更正确.更健壮且更易于重用的代码? Effective Java中文版(第3版) 再适合不过了!这是一本分享经验并 ...
- 【第5期】终于等到你!《Effective Java 中文版》原书第3版!
"我很希望我10年前就能拥有这本书.有人可能认为我不需要任何Java方面的书籍,但是我需要这本书." --Java之父James Gosling 这段话出自Java之父James ...
- Effective Java读书笔记七:泛型(部分章节需要重读)
第23条:请不要在新代码中使用原生态类型 从java1.5发行版本开始,Java就提供了一种安全的替代方法,称作无限制的通配符类型,如果要使用范型,但是确定或者不关心实际的参数类型,就可以用一个问号代 ...
- Effective Java读书笔记六:方法
第38条:检查参数的有效性 绝大多数方法和构造器对于传递给它们的参数值都会有些限制.比如,索引值必须大于等于0,且不能超过其最大值,对象不能为null等.这样就可以在导致错误的源头将错误捕获,从而避免 ...
- Effective Java读书笔记五:异常
第57条:只针对异常的情况才使用异常 异常是为了在异常情况下使用而设计的,不要将它们用于普通的控制流,也不要编写迫使它们这么做的API. 下面部分来自:异常 如果finally块中出现了异常没有捕获或 ...
- Effective Java读书笔记四:通用程序设计
第45条:将局部变量的作用域最小化 在第一次使用变量时的地方声明: 几乎每个局部变量的声明都应该包含一个初始表达式: 如果在终止循环之后不需要循环变量的内容,for循环优于while循环.(for循环 ...
- Effective Java读书笔记三:创建和销毁对象
第1条:考虑用静态工厂方法代替构造器 对于类而言,为了让客服端获得它的一个实例最常用的的一个方法就是提供一个公有的构造器.还有一种方法,类可以提供一个公有的静态工厂方法(static factory ...
- Effective Java读书笔记二:枚举和注解
第30条:用enum代替int常量 当需要一组固定常量的时候,应该使用enum代替int常量,除了对于手机登资源有限的设备应该酌情考虑enum的性能弱势之外. 第31条:用实例域代替序数 枚举的ord ...
最新文章
- RabbitMQ学习系列二:.net 环境下 C#代码使用 RabbitMQ 消息队列
- 产生螺旋分类样本集合 SpiralData
- 轻松架设Win 2003用户隔离FTP站点
- ultraedit 运行的是试用模式_Wings面向企业级的单元测试用例自动编码引擎
- q-dir 打不开文件_Q-Dir –多窗格文件管理器
- python应用于人工智能的代码_【python量化】人工智能技术在量化交易中应用的开源项目...
- 关于JavaScript中return的使用情况
- python有参装饰器详解_Python 带有参数的装饰器实例代码详解
- 面向对象19:内部类
- 使用JRTPLIB收发RTP数据包
- lisp 获取横断面数据_那位大神能帮忙写个从CAD图上提取横断面数据提取程序??...
- 计算机截屏无法保存,win7电脑自带截图软件保存图片失败怎么办?
- 离职时如何拒绝领导的挽留
- mqtt 传文件断开连接的原因_MQTT系列 | MQTT的连接和断开
- [主席树] 湖南集训 谈笑风生
- WPSOffice双面文档打印边距设置技巧(转)
- 好用的revit软件:MEP绘制管道风管时,提示不可见如何解决?
- getcwd()和chdir()的用法 python
- 【深度科普】辐射的真相
- 不要这样学习C语言,这是个坑!
热门文章
- android als传感器,环境光传感器(ALS)背光控制系统解决方案
- Word控件Spire.Doc 转换教程(十六):在 C# 中将 Word 转换为 PDF/A
- Android Studio中新建assets文件的两种方法
- cst和ansys_CST、HFSS、ADS几款电磁仿真软件区别对比
- 算法1——迪杰斯特拉算法
- 拉格朗日/柯西中值定理与高考数学计算
- 内联汇编很可怕吗?看完这篇文章,终结它!
- 简要的谈谈文本数据挖掘的一般步骤
- Android摇一摇实现
- 连连看消除算法和最佳路径推荐