`
txazo
  • 浏览: 79085 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Java开发性能优化

    博客分类:
  • J2SE
阅读更多
1. 不用new关键字创建类的实例
用new关键字创建类的实例时,构造函数会被自动调用。
实现Cloneable接口,就可以调用clone()方法来创建对象,clone()方法不会调用构造函数,可以结合工厂模式一起使用。
public class FruitFactory {

	private static Fruit fruit = new Fruit();

	public static Fruit getFruit() {
		return fruit.clone();
	}

}

2. 慎用异常
避免创建异常,可以抛出异常。

3. 尽量在合适的场合使用单例

4. 尽量避免随意使用静态变量
GC通常是不会回收静态变量所占的内存。

5. 尽量避免频繁的创建对象
应该最大限度的重用对象。

6. 尽量使用final修饰符
带有final修饰符的类是不可派生的,可以显著提高性能。

7. 尽量使用局部变量
局部变量存放在Stack中,速度较快。
静态变量和实例变量存放在Heap中,速度较慢。

8. 尽量处理好包装类型和基本类型两者的使用场所
基本类型数据产生和处理都在Stack中。
包装类型是对象,在Heap中产生实例。
在集合类对象中,有对象方面需要的处理适用包装类型,其他的处理提倡使用基本类型。

9. 慎用synchronized,尽量减小synchronize的方法
实现同步需要很大的系统开销,甚至可能造成死锁,尽量避免无谓的同步控制。
synchronize方法被调用时,当前对象被锁定,当前对象的其它方法无法被其它线程调用。
尽量使用代码块同步代替方法同步。

10.尽量使用StringBuilder和StringBuffer进行字符串连接

11.单线程应尽量使用HashMap、ArrayList
HashTable、Vector等使用了同步机制,降低了性能。

12.尽量合理的创建HashMap
当创建比较大的HashMap时,充分利用构造函数
public HashMap(int initialCapacity, float loadFactor) {

}

默认initialCapacity只有16,避免HashMap多次进行hash重构,扩容是一件很耗费性能的事。

13.尽量减少对变量的重复计算
for (int i = 0; i < list.size(); i++) {
}

改为
int length = list.size();
for (int i = 0; i < length; i++) {
}

14.尽量避免不必要的创建
Object object = null;
if (flag == true) {
    object = new Object();
}

15.尽量在finally块中释放资源
程序中使用到的资源应当被释放,以避免资源泄漏。
I/O流,Socket连接,JDBC连接。

16.尽量确定StringBuffer的容量
StringBuffer的构造器会创建一个默认大小16的字符数组。
使用中,如果超出这个大小,就会重新分配内存,创建一个更大的数组,并将原先的数组复制过来,再丢弃旧的数组。
在大多数情况下,你可以在创建StringBuffer的时候指定大小。

17.尽量早释放无用对象的引用
无耗时操作时,不用手动释放
public void operation() {
    Object object = new Object();
}

有耗时操作时,应尽早释放
public void operation() {
    Object object = new Object();
    // 执行操作
    object = null; // 尽早释放
    // 执行耗时操作
}

18.尽量避免使用split()
split()由于支持正则表达式,所以效率比较低。
如果是频繁的调用将会耗费大量资源,可以考虑使用Apache的StringUtils.split(),频繁的调用split()的可以缓存结果。

19.尽量缓存经常使用的对象







分享到:
评论

相关推荐

    eclipse开发性能优化、java代码性能优化

    ### Eclipse 开发性能优化与 Java 代码性能优化 在日常的软件开发过程中,尤其是在使用 Eclipse 进行 Android 开发时,经常会遇到 IDE 运行缓慢的情况。为了提高开发效率,本文将详细介绍 Eclipse 开发环境及 Java ...

    《Java程序性能优化》(葛一鸣)PDF版本下载.txt

    根据提供的文件信息,我们可以推断出这是一本关于Java程序性能优化的书籍,作者是葛一鸣,并提供了该书PDF版本的下载链接。虽然没有具体的书籍内容,但基于标题、描述以及通常这类书籍会涉及的主题,我们可以总结出...

    java程序性能优化

    java程序性能优化Java是目前应用最为广泛的软件开发平台,学习针对Java程序的优化方法有重要的现实意义。《Java程序性能优化:让你的Java程序更快、更稳定》以Java性能调优为主线,系统地阐述了与Java性能优化相关的...

    阿里巴巴Java性能调优实战(2021-2022华山版)+Java架构核心宝典+性能优化手册100技巧.rar

    性能优化手册是一套java性能学习研究小技巧,包含内容:Java性能优化、JVM性能优化、服务器性能优化、数据库性能优化、前端性能优化等。 内容包括但不限于: String 性能优化的 3 个小技巧 HashMap 7 种遍历方式...

    Java程序性能优化

    《Java程序性能优化:让你的Java程序更快、更稳定》共6章,先后从软件设计、软件编码、JVM调优以及程序故障排斥等方面介绍针对Java程序的优化方法。第1章介绍性能的基本概念、定律、系统调优的过程和注意事项。第2章...

    Java程序性能优化 让你的Java程序更快、更稳定

    Java程序性能优化是每个开发人员都需要关注的重要领域,它涵盖了多个方面,旨在提高代码执行效率,减少资源消耗,以及提升应用程序的稳定性和响应速度。在本文中,我们将深入探讨Java性能优化的关键点,帮助你的Java...

    Java程序性能优化 让你的Java程序更快、更稳定附本书示例代码(清晰版)

    Java程序性能优化是每个开发人员都需要关注的重要领域,特别是在企业级应用中,高效稳定的Java程序能够显著提升用户体验,降低服务器资源消耗。这本书“Java程序性能优化 让你的Java程序更快、更稳定”提供了深入的...

    Java程序性能优化 让你的Java程序更快、更稳定pdf文档视频资源

    Java程序性能优化是每个开发人员都需要关注的重要领域,特别是在企业级应用中,高效稳定的Java程序能够带来显著的业务优势。本资源包含一个PDF文档和相关的视频教程,旨在帮助你提升Java程序的速度和稳定性。 首先...

    JAVA程序性能优化

    在Java开发中,程序性能优化是一个重要的环节,它直接影响到应用程序的运行效率、用户体验以及系统的整体稳定性。本文将基于提供的标题、描述及部分内容,深入探讨几个关键性的性能优化策略。 #### 一、理解Java...

    大话JAVA性能优化

    由于提供的信息不包含实际的书籍内容,因此无法生成有关书籍内容的知识点。但根据标题《大话JAVA性能...因此,开发者在应用这些知识点时,应结合最新的Java开发文档和社区讨论来制定适合当前技术环境的性能优化方案。

    10种java性能优化方案.docx

    性能优化是Java开发中的一个持续过程,涉及到多个层面的技术和策略。通过对文档中提到的关键点进行深入探讨,我们可以更好地理解如何有效地优化Java程序。无论是从代码层面还是从架构层面出发,这些策略都是为了提高...

    Java程序性能优化.葛一鸣.2012.10.第1版

    在Java开发中,性能优化是一个关键领域,它涉及到代码的高效编写、内存管理、线程调度、数据库交互等多个方面。以下是基于该书可能涵盖的一些核心知识点的详细解释: 1. **JVM优化**:Java虚拟机(JVM)是Java程序...

    《Java程序性能优化:让你的Java程序更快、更稳定》完整扫描PDF版网盘链接

    一个优秀的程序员,不仅要会编写程序,更要会编写高质量的程序,感受Java开发中的大智慧,让你的Java程序更优美 专注于Java应用程序的优化方法、技巧和思想,深入剖析软件设计层面、代码层面、JVM虚拟机层面的优化...

    Java开发后端性能优化

    Java后端性能优化是提升应用程序效率的关键步骤,它涉及到多个层面,包括响应速度、资源利用率、系统稳定性以及业务扩展性。优化的目标不仅是提高速度,还要降低资源占用,增强系统稳定性,支持更高的并发处理能力,...

    Java程序性能优化 让你的Java程序更快、更稳定.zip

    Java程序性能优化是每个开发人员都需要关注的重要领域,特别是在企业级应用中,高效的代码执行能够带来更好的用户体验,减少服务器资源的消耗,降低运营成本。本资料包“Java程序性能优化 让你的Java程序更快、更...

Global site tag (gtag.js) - Google Analytics