`
zhang_xzhi_xjtu
  • 浏览: 538530 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Effective Java第二版变更之 Creating and Destroying Objects

阅读更多
第2版  Creating and Destroying Objects

Item 1 Consider static factory methods instead of constructors.

Item 2 Consider a builder when faced with many constructor parameters.
Item 2 是新加的一个条目,这个条目介绍了Builer模式的用法,但是似乎和这本书的原有条目的特点不符合。而Builder一般在介绍设计模式的书籍里面会进行全面的介绍。放在这里有些不伦不类。有凑数之嫌。或许大师有其他的考虑。

Item 3 Enforce the singleton property with a private constructor or an enum type.
Item 3 新加入了Enum type来实现Singleton。
从语法上讲,这样当然是可以的,但是谈及Enum对于程序员来说,第一反应一般还是说有几个并列的概念组成的一个枚举集合,一个Enum定义一个元素来实现Singleton怎么看都是怪怪的。

Item 4 Enforce noninstantiability with a private constructor.

Item 5 Avoid creating unnecessary objects.
Item 5 中第一版的duplicate objects变成了unnecessary objects,这个虽然是一个很细小的变动,但是味道十足,慢慢品之。

Item 6 Eliminate obsolete object references.

Item 7 Avoid finalizers.







分享到:
评论

相关推荐

    CSharp - Module 9_Creating and Destroying Objects

    在IT领域,尤其是在编程语言的学习与应用中,C#(C Sharp)作为一款由微软开发的面向对象的、类型安全的、垃圾回收的程序设计语言,其在创建和销毁对象方面的处理方式是开发者必须掌握的核心技能之一。本文将基于...

    Effective Java 3rd edition(Effective Java第三版英文原版)附第二版

    2 Creating and Destroying Objects Item 1: Consider static factory methods instead of constructors Item 2: Consider a builder when faced with many constructor parameters Item 3: Enforce the singleton ...

    微软.NET程序员高级培训教程系列资料.C#(下)【英文版】

    7. **创建与销毁对象(Creating and Destroying Objects)**:"CSharp_Module 9_Creating and Destroying Objects.pdf"将涵盖对象的生命周期,包括构造函数、析构函数和垃圾回收机制,以及何时和如何适当地分配和释放...

    JAVA小实验雷电(打飞机)

    Raiden consists of eight vertical scrolling missions where the player pilots the "Raiden Supersonic Attack Fighter" through waves of enemies, dodging and destroying enemy buildings, ground targets, ...

    C# 微软基础教程PPT

    7. **Creating and Destroying Objects**:学习如何创建和销毁对象,理解对象生命周期和垃圾回收机制。 8. **Inheritance in C#**:子类继承父类的属性和方法,实现代码重用和扩展。 9. **Aggregation, Namespaces...

    Java版电子宠物游戏代码

    Java版电子宠物游戏代码,package Petgame; import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class Petgame extends MIDlet { private static Petgame instance; private ...

    Unreal Engine 4.X By Example

    - **Trigger Volumes and Destroying Actors**: Detecting when actors should be removed. - **Debugging Our Blueprints**: Identifying and fixing issues. - **Masking Our Destruction with Particles**: ...

    ns原版手册.pdf

    接着,3.4节“Creating and Destroying Tcl Objects”介绍了如何创建和销毁Tcl对象,3.4.2节“Variable Bindings”讲解了变量绑定,3.4.3节“Variable Tracing”讲述了变量追踪,3.4.4节“command Methods: ...

    Msdn Training - Microsoft Visual Studio Net (With Source)

    模块9:《C# - Module 9_Creating and Destroying Objects.pdf》 本模块讲解了对象的生命周期,包括构造函数和析构函数的使用,以及垃圾回收机制。学习者将了解如何在适当的时间创建和释放对象,以优化内存管理。 ...

    KafkaOffsetMonitor监控工具2017年1月发布的版本

    Instead, closing and destroying the client and re-creating it. Sleeping on error before re-creating client and continuing to process Deal with thread-safety issues on shared memory between threads ...

    推选文档Java小程序PPT.ppt

    Java小程序的生命周期是一个重要的概念,理解它对于编写和调试Java Applet至关重要。Applet的生命周期由四个主要状态组成:初始化(Initialization)、加载(Loading)、启动(Starting)、绘画(Painting)、停止...

    TCL TK 语言8.5编程指导

    Chapter 12: Creating and Managing Menus 169 Introduction 169 Creating a menu 170 Adding menu buttons 175 Displaying a pop-up menu 178 Data entry application 180 Chapter 13: Creating the Address Book ...

    20190201版PythonForDelphi含例程源码.zip

    PythonForDelphi 修改 最后修改日期2019-2-1这一版,需要注意的是python 3.7 要安装32位版 需要在Delphi中先安装上Python...Demo34 Dynamically creating, destroying and recreating PythonEngine. Uses PytonVersions

    Unit 3 Science and nature作业题及答案解析6份3精选.docx

    【Unit 3 Science and nature】本单元的主题围绕科学与自然展开,主要探讨了科学的快速发展以及与之相关的伦理问题,特别是克隆技术的应用。在学习过程中,学生将接触到关于科学进步的不同观点,以及如何权衡科技...

    TMS Pack for FireMonkey2.3.0.1

    Improved : block refreshing columns when destroying the component in TTMSFMXSpinner Fixed : Small issue in HTML Rendering engine for anchor rendering in TTMSFMXHTMLEngine Fixed : Issue with ...

    TongWeb7应用开发手册.pdf

    TongWeb是东方通科技推出的一款高性能的企业级Java应用服务器,它支持最新的Servlet规范和其他Web技术,如JSP和JSF,以帮助开发者构建复杂的Web应用程序。 ### Servlet Servlet是一种Java编程接口,用于扩展服务器...

    C++语言程序设计第三版试卷

    【C++语言程序设计第三版试卷】 这是一份关于C++编程语言的考试试卷,主要测试学生对C++基础知识的理解和应用能力。试卷包含了填空题和程序阅读分析题,涵盖了类与对象、函数重载、引用、指针、继承、构造函数、析...

    DevExpress VCL 13.1.4(v2013vol1.4) 源码-例子-帮助-part1

    Q520547 - TcxVirtualVerticalGrid - Possible exception in the TcxvgPainter.DrawRow method when destroying and recreating rows within the BeginUpdate/EndUpdate block Q525420 - The Styles....

    CUDA Reference from NVIDIA official site.

    This section covers low-level API functions for managing texture references, including creating, destroying, and binding textures. **1.6.2 HighLevelApi** This section covers high-level API functions...

    DevExpress VCL 13.1.4(v2013vol1.4) 源码-例子-帮助-part2

    Q520547 - TcxVirtualVerticalGrid - Possible exception in the TcxvgPainter.DrawRow method when destroying and recreating rows within the BeginUpdate/EndUpdate block Q525420 - The Styles....

Global site tag (gtag.js) - Google Analytics