effective Java chapter 2创建和销毁对象
- 重叠构造器模式:不能很好的扩展到大量的可选参数,因为那时代码将难写和难读。
- JavaBean模式:使用一个无参构造器来创建对象,然后使用setter设置每个参数。缺点是可能不是线程安全的;阻止了把类做成不可变的可 能。
- Builder模式:编写一个公开静态内部类,然后编写一个私有的以builder为参数的构造方法,在Builder内部类里编写一个方法调用这个私有构造方法。Builder模式可用于具有多个参数时。
- 编写一个公有的静态final成员。
- 编写一个私有的静态final成员,提供get方法。
- 只需编写一个包含单个元素的枚举类型。此方法是最佳的
- 可以把创建可重复使用对象的代码放到放到一个static{}里。
- 要优先使用基本类型而不是装箱基本类型。
- 通过维护对象池(object pool)来避免创建对象斌不是一种好的做法,除非池中的对象是非常重量级的,如数据库连接池。
- 存在永远也不会再被解除的引用。
- 把对象放在缓存里,然后忘记了。
- 监听器和其他回调。
effective Java chapter 2创建和销毁对象相关推荐
- Effective java 总结1 - 创建和销毁对象
Effective java 总结 - 创建和销毁对象 第1条 用静态工厂方法代替构造器 优势 静态工厂方法有名称 不必每次调用的时候创建一个新的对象 可以返回原返回类型的任何子类型对象 返回对象的类 ...
- [Effective Java]第二章 创建和销毁对象
第一章 前言 略... 第二章 创建和销毁对象 1. 考虑用静态工厂方法代替构造器 创建对象方法:一是最常用的公有构造器,二是静态工厂方法.下面是一个Bool ...
- Effective Java:创建和销毁对象
前言: 读这本书第1条规则的时候就感觉到这是一本很好的书,可以把我们的Java功底提升一个档次,我还是比较推荐的.本博客是针对<Effective Java>这本书第2章所写的一篇读书笔记 ...
- Effective Java(1)-创建和销毁对象
Effective Java(1)-创建和销毁对象 转载于:https://www.cnblogs.com/Johar/p/10556218.html
- 《Effective Java》学习笔记 第二章 创建和销毁对象
第二章 创建和销毁对象 何时以及如何创建对象,何时以及如何避免创建对象,如何确保他们能够适时地销毁,以及如何管理对象销毁之前必须进行的各种清理动作. 1 考虑用静态工厂方法代替构造器 一般在某处获取一 ...
- Effective Java (3rd Editin) 读书笔记:1 创建和销毁对象
1 创建和销毁对象 Item 1:考虑用静态工厂方法取代构造器 public static Boolean valueOf(boolean b) {return (b ? TRUE : FALSE); ...
- Effective Java读书笔记---二、创建和销毁对象
二.创建和销毁对象 何时以及如何创建对象, 何时以及如何避免创建对象, 如何确保它们能够适时地销毁, 如何管理对象销毁之前必须进行的各种清理动作 1.用静态工厂方法代替构造器 优势: 它们有名称 不必 ...
- 《Effect Java》学习笔记1———创建和销毁对象
第二章 创建和销毁对象 1.考虑用静态工厂方法代替构造器 四大优势: i. 有名称 ii. 不必在每次调用它们的时候都创建一个新的对象: iii. 可以返回原返回类型的任何子类型的对象: JDBC ...
- java创建和销毁一个对象_有效的Java –创建和销毁对象
java创建和销毁一个对象 创建和销毁对象(第2章) 这是Joshua Blochs的< 有效的Java>第2章的简短摘要.我仅包括与自己相关的项目. 静态工厂(项目1) 静态工厂与构造函 ...
- 有效的Java –创建和销毁对象
创建和销毁对象(第2章) 这是Joshua Blochs的< 有效的Java>第2章的简短摘要.我仅包括与自己相关的项目. 静态工厂(项目1) 静态工厂与构造函数的一些优点: 工厂方法的名 ...
最新文章
- zoj 2709 Lottery 组合数,概率,贪心 (8-F)
- thinkphp的匹配php后缀,ThinkPHP的后缀操作方法配置 罢工了
- 网页设计制作必须知道的10个秘诀
- JZOJ 5401. 【NOIP2017提高A组模拟10.8】Star Way To Heaven
- html刮刮卡开始刮奖页面,html5刮刮卡抽奖 示例源码
- 浏览器屏蔽flash视频广告
- 【BZOJ2705】Longge的问题,数论练习
- Java基础学习总结(83)——Java泛型总结
- Netty in action—codec框架
- FxFactory pro 8 for Mac(视觉特效包处理工具)直装版
- 【传智播客】Javaweb程序设计任务教程 黑马程序员 第一章 课后答案
- Smali语法详解(2)
- Eigen教程3----矩阵、向量以及标量的运算,转置、共轭以及伴随矩阵
- 两台电脑实现串口通信
- Fluent中级工程进阶,从5种气体燃烧模型出发
- 字体反爬-汽车之家论坛
- 深度学习 -- SSD 算法流程详解
- Java,哈希码以及equals和==的区别(转载)
- 51单片机lcd1602实验(单片机的模拟电话拨号)
- 如何在Linux(Ubuntu 14.04 LTS)上安装搜狗拼音输入法
热门文章
- 读书笔记 effective c++ Item 26 尽量推迟变量的定义
- node.js Web实时消息后台服务器推送技术---GoEasy
- weblogic设置classpath、debug端口和log目录
- SSL证书配置注意事项
- 初步解决网同客户端升级后局域网不能上网的问题
- hdu 1213 “How Many Tables”(并查集基本到优化)
- vue生成静态html文件_是否可以将Vue.js模板编译为静态HTML和CSS文件?
- linux目录分配独立磁盘空间,Linux 分配/home的磁盘空间给根目录
- python列表元组字典集合实验心得_python心得 元组,字典,集合
- 牛客网-华为机试题(python)