zoukankan      html  css  js  c++  java
  • [Effective Java 读书笔记] 第二章 创建和销毁对象 第五条

    第五条 避免创建不必要的对象

        书中一开始举例:

    String s = new String("stringette"); // don't do this
    //应该使用下面,只会创建一次实例
    String s = "stringette"; 

      同时书中回顾了第一条中的静态工厂,即Boolean.valueOf(String)的例子,即静态工厂方法也不会每次都创建实例

      然后用一个Date对象的使用的例子,说明了,当一个方法要重复访问固定值的对象实例时,可以用static实例,避免每次都创建同样的实例。

      然后书中使用了一个例子说明要优先使用基本类型而不是装箱类型,比如int和Integer,因为装箱类型是对象,创建实例会有资源消耗.

      最后,很辩证的,书中又回过头来说,不要以为创建新对象就一定是代价昂贵的,现代的JVM在小对象的创建和回收上是非常廉价的,如果创建新对象可以提升程序的清晰性、简洁性和功能性,这通常是好事,而对于轻量级的对象,建立对象池不是什么好事,代码负责而且占用内存。比如数据库连接池这种,建立新连接时代价昂贵,那么值得建立对象池。

  • 相关阅读:
    向MyEclipse添加Oracle数据库
    如何让搜索引擎抓取AJAX内容?
    XCode常用快捷键
    VMware Workstation 9上安装Mac OS X 10.8
    IOS学习第一篇——利用Xcode中的Interface Builder创建Hello World示例
    FM 101.7
    SqlServer游标操作
    添加COOKIE
    c#活动目录操作
    WCF服务调用方式
  • 原文地址:https://www.cnblogs.com/jiangz222/p/4756290.html
Copyright © 2011-2022 走看看