书/创建和销毁对象

静态工厂方法

优点:

有名称,可读性高

不必每次都创建一个新类

可以返回静态类型的任意子类型对象 ==> 需要强制转换

 

缺点:

类如果不含公有的或者受保护的构造器,就不能被子类化

 

重叠构造器

但其有自身的缺点,若太多参数则会出错或传入无意义的参数值。可读性不高

解决办法:JavaBean的使用,可读性高

类feng封装的私有属性

类无参构造方法

public的get和set方法

javaBean也有确定,所以构建了Building模式

Building模式 关键点:

一个产品类 - -> 需要被构建的产品

一个抽象Building类 --> 隔离产品组件的构建

一个具体构建产品的Build实现类 -->产品组件的具体构建

一个组装类 -->  组件与产品的组装

作用:构建复杂对象的过程和组成部分解耦

 

用私有构造器或者枚举类型强化Singleton属性

 

public class A{

private static final A INSTANCE = new A();

private A(){}

public static A getInstance(){

return INSTANCE;

}

}

通过私有构造器强化不可实例化的能力

构造器的修饰符用private 修饰

避免创建不必要的对象

静态的优先于构造器的方法API中

优先使用基本类型,而不是包装类型,不然会创建多个构造器;但是不是不能创造对象的方法,小量的创建对象增加代码qin清晰,简洁功能。

“保护性拷贝” 小量创建对象

 

消除过期对象引用

发生内存泄露时间;内存泄露常见来源于缓存;内存泄露另一来源于监听器和其他回调;

weakHashMap中

Heap剖析工具查询内存泄露

 

避免使用终结方法

try-finally

如关闭资源文件,try中实际的操作,到finally中关闭的动作,这之间有个时间段 time,time是不确定的,在不同的JVM中表现不同

必须使用显示的终结方法:

InputStream,OutputStream,java.sql.Connection,前三个的close(),java.util.Timer中cancel

充当安全网效果

try中关闭子类方法;finally中关闭超类方法

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值