美文网首页
避免创建不必要的对象

避免创建不必要的对象

作者: Luuuuuuffy | 来源:发表于2017-03-27 11:11 被阅读0次

记住一个原则:能重用对象就不要每次都创建一个新的对象。
例一:

String s = new String("stringette"); // 极端反例
------------------------------------------
String s = "stringette"; // 正例

字符串常量在JVM常量池中储存。

例二:
对于同时提供了静态工厂方法和构造器的不可变类,通常使用静态工厂方法而不是构造器,以避免创建不必要的对象。Boolean.valueOf(String) > Boolean(String)。构造器在每次被调用的时候都会创建一个新的对象。

例三:
在方法中每次都调用相同的实例。可以把该实例提出到方法外,从局部变量改为final静态域,用一个static的代码块来初始化这些不会变的实例。如果这个方法被频繁的使用,可以显著的提升性能。

例四:
适配器(adapter),有时也叫视图(view)。适配器是指这样一个对象:它把功能委托给一个后备对象,从而为后备对象提供一个可以替代的接口。由于适配器除了后备对象之外,没有其他的状态信息,所以针对某个特定对象的特定适配器而言,它不需要创建多个适配器实例。例如:Map接口的keySet方法返回该Map对象的Set视图,对于一个给定的Map对象,实际上每次返回同样的Set实例。

例五:
Java 1.5开始,有自动装箱。要优先使用基本类型而不是装箱基本类型,要当心无意识的自动装箱。

例六:
通过维护自己的对象池来避免创建对象并不是一种好的做法,除非池中的对象是非常重量级的,比如数据库连接池。建立数据库连接的代价非常昂贵,而且数据库的许可可能限制你只能使用一定数量的连接。

相关文章

  • 条目6:避免创建不必要的对象

    避免创建不必要的对象 避免通过构造函数创建字符串 避免使用String.match方法做正则匹配 避免在循环中频繁...

  • 避免创建不必要的对象

    在编码中尽量减少大对象的使用,创建对象的成本是非常高的。举个栗子: 代码块一 代码块二 在代码块一中我们使用的是l...

  • 避免创建不必要的对象

    第五条:避免创建不必要的对象 1. 简介 一般来说,我们最好的做法是重用对象,而不是每次使用都new出一个新的相同...

  • 避免创建不必要的对象

    一般来说,最好能重用对象而不是每次需要的时候就创建一个相同的对象。如果对象是不可变的,它就始终可以被重用。 例子:...

  • 避免创建不必要的对象

    记住一个原则:能重用对象就不要每次都创建一个新的对象。例一: 字符串常量在JVM常量池中储存。 例二:对于同时提供...

  • 避免创建不必要的对象

    一、错误做法 二、正确做法

  • Android 如何提高代码质量?

    避免创建不必要的对象,尽可能避免频繁的创建临时对象,例如在for循环内,减少GC的次数。 尽量使用基本数据类型代替...

  • 避免创建不必要的“大”对象

    关键点一 在编码过程中,最好是能重用已经建立的对象,而不是每次用到都要新建对象。在这里重用是指对象是不可变的,那就...

  • 1.6:避免创建不必要的对象

    ① 不可变类,采用静态工厂方法 对于不可变类,若同时提供了静态工厂方法和构造器的不可变类,通常可以使用静态工厂而不...

  • 1.6避免创建不必要的对象

    1.6避免创建不必要的对象 1.6.1 ​ 一般来说,最好能重复利用单个对象而不是每次都创建一个一样的对...

网友评论

      本文标题:避免创建不必要的对象

      本文链接:https://www.haomeiwen.com/subject/jwlfottx.html