采用Clone()方式创建对象
Java 语言里面的所有类都默认继承自java.lang.Object 类,在java.lang.Object 类里面有一个
clone()方法,JDK API 的说明文档里面解释了这个方法会返回Object 对象的一个拷贝。我们需要
说明两点:一是拷贝对象返回的是一个新对象,而不是一个对象的引用地址;二是拷贝对象与用
new 关键字操作符返回的新对象的区别是,这个拷贝已经包含了一些原来对象的信息,而不是对
象的初始信息,即每次拷贝动作不是一个针对全新对象的创建。
当我们使用new 关键字创建类的一个实例时,构造函数中的所有构造函数都会被自动调用。
但如果一个对象实现了Cloneable 接口,那么我们可以通过调用它的clone()方法,注意,clone()
方法不会调用任何构造函数。
代码清单3-1 所示是工厂模式的一个典型实现,工厂模式是采用工厂方法代替new 操作的一
种模式,所以工厂模式的作用就相当于创建实例对象的new 操作符。
代码清单3-1 创建新对象
public static Credit getNewCredit()
{
return new Credit();//创建一个新的Credit 对象
}
如果我们采用clone()方法的方式创建对象,那么原有的信息可以被保留,因此创建速度会加
快。如清单3-2 所示,改进后的代码使用了clone()方法。
代码清单3-2 使用了clone()方法
private static Credit BaseCredit = new Credit();
public static Credit getNewCredit()
{
return (Credit)BaseCredit.clone();
}
分享到:
相关推荐
在《java_性能调优.pdf》这份文档中,我们可以提取出一系列关于Java性能调优的知识点,包括但不限于Java语言基础、集合框架、异常处理、设计模式、JDBC使用、I/O操作、多线程编程、JVM内存管理、JSP和Servlet等。...
### Java-面试题合集:基础与进阶 #### JVM的最佳配置详解 1. **-Xms 和 -Xmx 的一致性设置**: - **-Xms**:指定了JVM...深入理解这些内容不仅有助于提高面试成功率,也能更好地应对实际开发中的性能调优等问题。
以上内容涵盖了Java性能优化的主要知识点,涉及了Java虚拟机的性能调整、API和设计模式的使用、I/O操作优化、多线程编程技巧以及服务器和中间件的性能调优。掌握这些知识点对于提高Java应用的性能至关重要。
标题所指的“Java性能优化技巧集锦”表明文档内容将围绕如何提升Java程序运行效率的各种技巧。从标题中我们可以推测,内容会涵盖Java的多个版本(如Java 1.1, Java 1.2, Java 1.3, Java 1.4, Java 1.5, Java 1.6, ...
Java性能优化是一个重要的主题,尤其是对于大型的企业级应用(如J2EE系统)而言,优化能够显著提升系统响应速度和整体效率。以下是一些关键的Java性能优化技巧: 1. **避免使用`new`关键字创建对象**: 在创建类实例...
- **JVM性能调优参数**:堆大小、垃圾收集器选择等。 - **逃逸分析技术**:判断对象的使用范围,优化内存分配。 - **元空间替代永久代的原因**:解决永久代的容量限制问题。 - **Stop The World机制**:暂停所有用户...
9. **系统设计与优化**:在开发大项目时,系统设计能力同样重要,包括但不限于数据库设计、缓存策略、性能调优等方面,这些都将直接影响到系统的稳定性和效率。 总的来说,"Java大项目源码"提供了实践和深入学习...
Java的JVM调优也是一个高阶知识点,它通常涉及垃圾回收(GC)、内存泄漏的分析以及性能监控等。掌握JVM调优技巧可以确保Java应用程序在高负载下依然能稳定运行。 在安全方面,SQL注入是需要掌握的知识点。为了防止...
14. **监控与调优工具**:使用Java性能分析工具,如JProfiler、VisualVM等,可以帮助识别性能瓶颈并进行针对性优化。 以上只是Java性能优化的一部分策略,实际应用中应结合具体情况进行分析和优化。优化不仅要考虑...
- 索引优化是数据库性能调优的重要手段之一。合理的索引设计可以显著提升查询速度。 - 当一条查询返回的数据量超过全表数据量的一定比例时(如15%),使用索引可能不如全表扫描高效,因为索引扫描会产生较多的随机I/...
- 性能调优:索引优化,查询优化,存储过程,触发器,分区,归档等。 3. **开发工具**: - IDEs:Eclipse,IntelliJ IDEA的使用,包括项目创建,代码编写,调试,重构等。 - 版本控制:Git的基本操作(clone,...
性能调优 - 监控应用程序的性能,并针对瓶颈进行优化。 - 使用工具(如 Profilers)分析和改善性能问题。 #### 29. 模块化与组件化 - 将大型项目分解成多个可独立编译和测试的模块。 - 使用模块化框架(如 Maven ...
#### 十一、JVM 和性能调优 1. **JVM 知识**: - **内存区域**:了解堆、栈、方法区等内存区域。 - **垃圾回收**:GC 机制的理解,如 CMS 和 G1 收集器。 2. **性能调优**: - **工具使用**:VisualVM、...
- 性能优化:GC调优,内存泄漏检测,JVM参数设置等。 以上只是部分Java面试中可能涉及的知识点,每个模块都有深入学习的必要。为了在求职面试中脱颖而出,除了掌握理论知识,还需要通过实际项目经验来提升解决问题...
#### 规则二十九:性能监控与调优 - 使用性能分析工具定期监控系统性能。 - 根据监控结果调整算法或优化资源使用。 #### 规则三十:持续学习与改进 - Java技术和框架不断发展,持续学习新的知识和技术。 - 参与社区...
- **性能调优**:JVM参数设置,堆内存大小调整,垃圾收集器的选择。 以上只是部分Java面试题集中可能涉及的关键知识点,实际文档可能还包括了反射、注解、模块化系统、NIO、AIO等更多高级主题。对于求职者来说,...
19. JVM:涵盖Java虚拟机的内存模型、垃圾回收机制、类加载机制、性能调优等高级概念。 除了上述模块,文章还强调了对于面试题的深入解析和代码案例的提供,这对于面试者理解知识点、整理思路和表达能力的培养是至...