美文网首页Java学习笔记
避免创建不必要的“大”对象

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

作者: W_Honor | 来源:发表于2017-05-23 17:20 被阅读22次

关键点一

在编码过程中,最好是能重用已经建立的对象,而不是每次用到都要新建对象。在这里重用是指对象是不可变的,那就可以直接反复调用。

举一个错误的例子:

String s = new String("word");

系统在每次调用该语句的时候都会创建一个对象,而“word”本身就是一个对象实例,没必要再以这种形式定义了。其实这是画蛇添足的表现。只需要如下形式便可以:

String s = "word";

程序凡是运行在同一台虚拟机中,遇到相同的字符集都会调用它,并不会新建对象。

关键点二

在此之前我们先来巩固一下装箱和拆箱的概念。

装箱:数据基本类型转换成对象类型的操作;
拆箱:是装箱的逆过程。

自动装箱和自动拆箱就是上述过程的隐式操作。

举两个简单的例子:

  Integer i = 10;//自动装箱
  int t = i; //拆箱,实际上执行了 int t = i.intValue();

明白两个基本的概念后,我们再来看下面。
对于同时提供了静态工厂方法和构造器的不可变类,通常是使用静态工厂方法而不是构造器,这样便可避免不必要的对象建立。
在JDK1.5中引入了自动装箱的概念,这一机制可以创建多余的对象,所以要避免运用装箱类型。

关键点三

千万不要错误地认为,要尽量少得创建对象。JVM可以方便地回收一些小对象,它们并不影响系统的性能,反而会改善程序的简洁性、清晰性,让别人更容易理解。对于像数据库连接池这样珍贵的资源,我们要小心地创建新的对象。

相关文章

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

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

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

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

  • 避免创建不必要的对象

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

  • 避免创建不必要的对象

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

  • 避免创建不必要的对象

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

  • 避免创建不必要的对象

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

  • 避免创建不必要的对象

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

  • Android 如何提高代码质量?

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

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

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

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

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

网友评论

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

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