`

Effective java 代码优化实例1

阅读更多
package chape2;
/**
* effective_java 第二章 创建和销毁对象
* 书中实例练习
* 原则:
* 1.考虑用静态工厂方法来带特构造方法;-- 4-8
* 2.遇到多个构造方法的参数时要考虑用构建器 就是这个类有许多的变量 -- 9-13
*   当一个类有很多变量的时候,会用重叠构造方法(telescoping constructor) 就是构造方法中的参数递增
* 一个类中有很多的构造方法 参数的个数不同;解决这个问题的方法 首先是用javabean的方法 里面有很多的变量的
* seter和geter方法;这是我们常用的;但是有seter方法提供给外界 就导致了这类不能成为不可变类,这样就不能保证
* 传来的参数可能存在不一致性。解决这样的方法就是用builder模式 这个类就演示builder模式的例子
*   bulder的不足 要创建实例先创建构建器 这儿有点内存开销,在对效率要求很高的程序要考虑;还有就是代码多了;
*   所以当参数有四个或者四个以上的时候,而且大多数的参数时可选的时候。使用构建器;
* @author lee
* 2009-11-15
*/
public class Chape2_1 {

public static void main(String[] args) {
// 实例化类 这样的代码易于阅读
Nuter nu = new Nuter.Builder (200,2).fat(10).sodium(20).build();

}

}
class Nuter
{
private final int size;
private final int sering;
private final int fat;
private final int sodium;

public static class Builder
{
//这两个参数时必须的参数
private final int size;
private final int sering;
//下面是可选的参数 设置了默认值
private  int fat = 0;
private  int sodium = 0;

public Builder (int size ,int sering)
{
this.sering = sering;
this.size = size;
}

public Builder fat (int val)
{
/**
* 断言的使用
* 在语法上,为了支持assertion,Java增加了一个关键字assert。它包括两种表达式,分别如下:
* assert expression1;
   assert expression1: expression2;
   在两种表达式中,expression1表示一个boolean表达式,expression2表示一个基本类型或者是一个对象(Object)
   ,基本类型包括boolean,char,double,float,int和long。
   由于所有类都为Object的子类,因此这个参数可以用于所有对象。
   1、assert <boolean表达式>如果<boolean表达式>为true,则程序继续执行。如果为false,则程序抛出AssertionError,并终止执行。
   2、assert <boolean表达式> : <错误信息表达式>如果<boolean表达式>为true,则程序继续执行。如果为false,则程序抛出java.lang.AssertionError,并输出<错误信息表达式>。
* javac -source 1.4 AssertTest.java
   java -ea AssertTest

*/
assert val <0;
fat = val;
return this;
}
public Builder sodium (int val)
{
this.sodium = val;
return this;
}
public Nuter build ()
{
return new Nuter (this);
}
}
private Nuter (Builder buder)
{
this.size = buder.size;
this.sering = buder.sering;
this.sodium = buder.sodium;
this.fat = buder.fat;
}
}
0
0
分享到:
评论

相关推荐

    effective-java.pdf

    总结来说,静态工厂方法在Java中提供了一种比构造方法更加灵活和高效的方式来创建对象实例,特别是在需要实例控制、性能优化或API设计简洁时。文档《effective-java.pdf》详细地探讨了静态工厂方法在设计和实现上的...

    Effective-Java:Effective Java中文版第二版示例代码

    这本书提供了许多实用的编程实践和经验教训,帮助开发者编写出更高效、可维护的Java代码。这里我们将围绕"Effective-Java:Effective Java中文版第二版示例代码"这一主题,深入探讨书中的核心知识点。 1. **单例模式...

    Effective-Java-2nd-Edition-(May-2008).zip_effective java

    这本书旨在提供实用的编程指导,帮助开发者写出更高效、更可维护的Java代码。以下是对书中核心知识点的详细解读: 1. **类和对象的设计原则**:书中强调了设计良好的API的重要性,包括接口的使用、类的封装、以及...

    1_Effective_Java_2nd_Edition_proglib_java_Joshua_

    这本书的第二版深入探讨了如何编写高效、可维护的Java代码,并提供了许多实用的编程指南和最佳实践。以下是根据标题和描述提取的一些关键知识点: 1. **项规则与实践**:书中提出了许多编程最佳实践,每一条都被...

    实践《Effective Java》书中的经验法则示例代码,结合Java源码来理解这些最佳实践,并应用于实际项目。.zip

    《Effective Java》是Java开发领域的一本经典著作,由Joshua Bloch撰写,书中总结了23条编程经验法则,旨在帮助开发者写出更高效、更可靠、更易于维护的Java代码。这个压缩包包含了作者在书中提到的一些示例代码,...

    java effective 第二版中英文二份文件

    这本书主要探讨了如何编写高效、可维护的Java代码,并提出了许多实用的编程实践和设计原则。第二版在第一版的基础上进行了更新,以适应Java语言的新特性和发展。以下是基于书中的核心知识点的详细阐述: 1. **接口...

    Java-Effective:Java Effective 2nd Edition书中的源代码

    这本书深入探讨了如何编写出高质量、高效、可维护的Java代码,涵盖了众多最佳实践和设计模式。这里我们将围绕书中的源代码,解析其中蕴含的重要知识点。 1. **类和对象的设计原则**: - **最小化访问权限**:书中...

    5本java学习用书

    书中列举了23个编程实践,讲解如何编写高效、可维护的Java代码。例如,它涵盖了枚举优于常量、避免使用原始类型、优先考虑泛型、以及何时使用静态工厂方法而非构造函数等主题。 3. **《Thinking in Java》**:Bruce...

    EFFECTIVE_JAVA_3RD

    这本书汇集了作者多年的编程经验,提供了许多实用的编程准则和最佳实践,旨在帮助开发者写出更高效、更安全、更易于维护的Java代码。在第三版中,它涵盖了Java语言和库的新特性,包括Java 8和Java 9的一些重要更新。...

    Java学习、面试必备

    - Java性能优化:如何通过调整JVM参数、代码优化等方式提升系统性能。 - 架构设计:讨论微服务、SOA等架构设计原则和实践。 4. **实战经验** - Web开发:如使用Spring Boot、Struts、Hibernate等框架进行Web...

    java初学者学习源代码day02.7z

    1. **Java源代码文件 (VolcanoRobot.java)**: - Java源代码文件通常以`.java`为扩展名,它们包含了开发者用Java语法编写的程序。在本例中,`VolcanoRobot.java`是一个具体的源代码文件,可能包含了名为`...

    解析Java虚拟机器开发:权衡优化、高效和安全的最优方案.pdf

    本书《Creating Effective Java Help》由Kevin Lewis撰写,旨在为不同层次的Java开发者和技术作家提供关于创建高效Java帮助系统的全面指南。 - **在线文档的使用**:介绍了如何利用Java Help为用户提供详尽的在线...

    java源码总结-Effective-Java-3E:有效Java第三版的源代码示例和摘要的回购

    这本书汇集了众多编程最佳实践,旨在帮助开发者写出更高效、更可维护的Java代码。以下是对《Effective Java》第三版源代码示例和摘要的一些关键知识点的详细解释: 1. **枚举(Enums)**:书中强调了使用枚举类型而...

    java面试 java书籍

    2. 《Effective Java》:提供了编写高效、可维护Java代码的最佳实践。 3. 《Java并发编程实战》:深入解析Java多线程和并发编程。 4. 《深入理解Java虚拟机》:全面解析JVM的工作原理。 5. 《Head First设计模式》:...

    Java单例模式实例简述

    Java单例模式是一种常见的设计模式,它在软件开发中...了解并掌握单例模式,有助于编写更加高效、可维护的Java代码,优化系统资源的使用。在实际项目中,开发者应根据需求选择合适的单例实现方式,兼顾性能和安全性。

    LF_EffectiveJava:买的书籍看完必须把原始码运行完,加上自己的理解注释

    LF_EffectiveJava可能包含泛型类、泛型方法的实例,以及如何处理类型擦除的策略。 6. **迭代器与foreach循环**:书中建议优先使用foreach循环来遍历集合,因为它简洁且不易出错。项目中可能包含对比传统迭代器和...

    Effecctive java 中文版

    《Effective Java》是Java开发领域的经典著作,由Joshua Bloch撰写,中文版为Java开发者提供了深入理解语言特性和最佳实践的...通过学习这些最佳实践,Java开发者可以显著提升代码质量,优化程序性能,并降低维护成本。

    Java解惑 清晰版带书签

    - **性能优化**:讨论常见的性能瓶颈以及如何通过代码优化来提高程序的执行效率。 ### 4. 实战案例分析 - **项目实战**:通过具体的项目案例,展示如何运用前面学到的知识点解决实际问题,增强读者的实战经验。 - ...

    Java技术进阶书单

    书中提供了大量的实例来解释如何编写高效的SQL查询,并介绍了多种优化策略,对于经常需要与数据库打交道的Java开发者来说,这本书是必备读物。 - **《MySQL性能调优与架构设计》** 本书不仅关注于MySQL数据库的...

Global site tag (gtag.js) - Google Analytics