日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

Effective Java学习笔记之第5条 避免创建不必要的对象

發(fā)布時(shí)間:2023/12/10 java 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Effective Java学习笔记之第5条 避免创建不必要的对象 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

第5條 避免創(chuàng)建不必要的對象

  一般來說,最好能重用對象而不是在每次需要的時(shí)候就創(chuàng)建一個(gè)相同功能的對象。

? ? ? ?反面例子:?

    String s = new String("stringette"); // DON'T DO THIS!

  對于同時(shí)提供了靜態(tài)工廠方法和構(gòu)造器都不可變類,通常可以使用靜態(tài)工廠方法而不是構(gòu)造器。例如,靜態(tài)工廠方法Boolean.valueOf(String)幾乎總是優(yōu)先于構(gòu)造器Boolean(String)。

  除了重用不可變對象之外,也可以重用那些已知不會(huì)被修改的可變對象。

  適配器是指這樣一個(gè)對象:它把功能委托給一個(gè)后備對象,從而為后備對象提供一個(gè)可以替代的接口。由于適配器除了后備對象之外,沒有其他的狀態(tài)信息,所以針對某個(gè)給定對象的特定適配器而言,它不需要?jiǎng)?chuàng)建多個(gè)適配器。    

  在Java 1.5 的發(fā)行版本中,有一種創(chuàng)建多余對象的新方法,稱作自動(dòng)裝箱(autoboxing),它允許程序員將基本類型和裝箱基本類型混用,按需自動(dòng)裝箱和拆箱。

  // Hideously slow program . Can you spot the object creation?

  public static void main(String args[]) {

    Long sum = 0L;

    for (long i = 0; i < Integer.MAX_VALUE; i++) {

      sum += i;

    }

    System.out.println(sum);

  }

  將sum的聲明從Long改成long。

  要優(yōu)先使用基本類型而不是裝箱基本類型。要當(dāng)心無意識的自動(dòng)裝箱。

  小對象都創(chuàng)建和回收動(dòng)作是非常廉價(jià)的,特別是在現(xiàn)代的JVM實(shí)現(xiàn)上更是如此。通過創(chuàng)建附加對象,提升程序的清晰性,簡潔性和功能性,這通常是好事。

轉(zhuǎn)載于:https://www.cnblogs.com/yanjf/p/3400501.html

總結(jié)

以上是生活随笔為你收集整理的Effective Java学习笔记之第5条 避免创建不必要的对象的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。