高效的创建、销毁对象

  1. 考虑用静态工厂代替构造器

1.相比构造器,静态方法能使用名称来区别
2.不必每次调用静态方法都创建一个对象。避免不必要的重复对象
3.静态方法可以返回原返回类型的任何子类型的对象。这样在选择返回对象的类时就有更大的选择
4.使创建参数化类型实例的时候代码更简单

  1. 遇到多个构造器参数要考虑使用构建器

1.重叠构造器
2.JavaBeans
3.Bulider Pattern

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

public static final 保证了对象的唯一性

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

私有确保累不可实例化

  1. 避免创建不必要的对象

如果对象不可变,那么它就可以被重用。可使用static代码块实例化可重用对象

  1. 消除过期的对象引用

及时置null。
一般而言,只要是类制剂管理内存,程序员就应该警惕内存泄漏问题。
内存泄漏的另一个来源是缓存。
第三个常见来源是监听器和其他回调。

  1. 避免使用终结方法(finalizer)

终结方法不可预测,不稳定。一般情况下不需要使用。System.gc()和System.runFinalization()这两个方法并不能保证终结方法一定会被调用。
显式调用终止方法需要加上try-finnally结构结合来使用。以确保即使异常也会调用终止方法。
如果子类覆盖了父类的finalizer而在子类的finalizer没有调用父类的finalizer,那么父类的finalizer方法永远都不会被执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值