`
guoqingcun
  • 浏览: 55900 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java系统优化性能注意事项

 
阅读更多

优化性能注意事项

<!--[if !supportLists]-->1、 <!--[endif]-->非优化不可再优化—-------牵一发动全身。

<!--[if !supportLists]-->2、 <!--[endif]-->改动后仔细测试。

<!--[if !supportLists]-->3、 <!--[endif]-->在一台虚拟机上的优化方案,在其它厂商虚拟机上不一定有相同效果。

高性能编码注意事项

<!--[if !supportLists]-->1、 <!--[endif]-->设计(功能设计)----选择高效方案

针对同一功能模块一般有很多套方案可供选择,选择合适的一套方案实现(一般靠实现者的经验决定备选方案)

<!--[if !supportLists]-->2、 <!--[endif]-->将对象的创建成本降到最低:

对象分为轻型对象,重型对象:

轻型对象:只包含基本类型的对象

重型对象:包含其它对象做为属性,或有深层的继承关系

<!--[if !supportLists]-->3、 <!--[endif]-->合理设计类的继承深度

见意不得多于三层,深层的继承关系会对classloader在加载类时造成性能低下的问题。

<!--[if !supportLists]-->4、 <!--[endif]-->类的构造函数要短小精干

对象的创建和在内存中维护的成本很高,对象在内存中维护的信息尽量小些

<!--[if !supportLists]-->5、 <!--[endif]-->将对象的创建拖延到最后一刻

<!--[if !supportLists]-->6、 <!--[endif]-->可能的话要自己实现一个对象缓冲管理池,将对象的创建与回收控制在一个合理的范围内。

<!--[if !supportLists]-->7、 <!--[endif]-->降低同步带来的影响

同步对性能的影响一般比非同步高出1.5倍左右,应该减少同步的使用和减少同步的代码量

<!--[if !supportLists]-->8、 <!--[endif]-->尽量可能使用stack和基本类型完成必要的任务

使用stack和基本类型可大大提高性能,因为他可以减少对内存的访问次数,再者他的存取速度要高于对对象维护表中数据信息的存取速度

<!--[if !supportLists]-->9、 <!--[endif]-->使用static final private以促成inlining函数

使用以上三者有可能使函数成为内联函数,是否成为内联函数要看.class文件的大小,jvm中有一个检查文件大小的功能,如果文件小,在编译时以上三种类型函数被做为内联函数,否则不然.

<!--[if !supportLists]-->10、实例变量初始化一次就好

初始化同样也会占有cup时间周期,尽量相同的初始化只做一次,如基本类型定义时已经初jvm初始化,不必做重复工作。

<!--[if !supportLists]-->11、群集类对象处理

群集类型中存放在是对象 ,因此优先选择数组实现相同功能

遍历:size>enumeration>iterator=listiterator

复制:system.arraycopy()比其它方式快上2倍有余。不是决对,根据用户硬件软件环境决定。

优先选择数组:在不考虑数据同步的时候,优先考虑非同步群集类hashmap,arraylist,linklist

<!--[if !supportLists]-->12、尽量重用对象

<!--[if !supportLists]-->13、缓式评估技术(延尽加载):延缓可能不需要进行的工作。只做现在用到的工作,以后需要的以后再做(不是决)

分享到:
评论

相关推荐

    java程序性能优化

    第1章介绍性能的基本概念、定律、系统调优的过程和注意事项。第2章从设计层面介绍与性能相关的设计模式、组件。第3章从代码层面介绍如何编写高性能的Java程序。第4章介绍了并行开发和如何通过多线程提高系统性能。第...

    Java程序性能优化

    第1章介绍性能的基本概念、定律、系统调优的过程和注意事项。第2章从设计层面介绍与性能相关的设计模式、组件。第3章从代码层面介绍如何编写高性能的Java程序。第4章介绍了并行开发和如何通过多线程提高系统性能。第...

    10种java性能优化方案.docx

    2. **注意事项**: - **并行处理对算法复杂度的影响有限**:正如文档所述,虽然并行处理可以显著减少执行时间,但它不会改变算法的基本复杂度。 - **权衡考量**:在某些场景下,如I/O密集型任务,单线程可能比多...

    Java性能优化实战视频全集

    - **注意事项**: 在进行性能优化时,需确保优化方案不会引入新的问题或牺牲系统的其他方面(如可维护性)。 **1.2 常用性能优化切入点** - **代码层面**: 优化算法、减少不必要的对象创建等。 - **系统层面**: ...

    Java开发注意事项

    在深入探讨Java开发注意事项之前,我们首先应当澄清,给定的部分内容似乎包含了非文本或乱码信息...以上注意事项涵盖了从编码规范到系统架构的多个方面,对于任何Java开发者而言,都是值得深入了解和实践的关键知识点。

    JAVA开发规范,开发注意事项

    在Java开发过程中,遵循一套规范和注意事项至关重要,它不仅能提高代码的可读性和维护性,还能确保团队间的协作效率。以下是一些核心的Java开发规范和需要注意的事项: 1. **命名规范**: - 类名:使用驼峰式命名...

    JAVA性能优化.pptx

    - **注意事项**: 应考虑集合类的特性以及应用场景的具体需求来作出选择。 #### 四、总结 通过对字符串处理、循环结构以及集合类的选择和使用进行合理的优化,可以显著提高Java应用程序的性能。开发者需要深入理解...

    基于Java的网购系统设计与开发的注意事项.pdf

    本文所介绍的网购系统开发过程中的技术知识和注意事项,为相关研发人员提供了一定的参考和指导。随着技术的不断进步和市场需求的变化,网购系统的设计与开发也将不断面临新的挑战和机遇,研发人员需要持续学习和创新...

    大优惠 Java程序性能优化 让你的Java程序更快、更稳定最新版

    第1章介绍性能的基本概念、定律、系统调优的过程和注意事项。第2章从设计层面介绍与性能相关的设计模式、组件。第3章从代码层面介绍如何编写高性能的Java程序。第4章介绍了并行开发和如何通过多线程提高系统性能。第...

    java服务程序性能测试总结

    8. **Linux环境注意事项**:注意内存限制、网络带宽、系统负载,确保测试环境的真实性和一致性。 **第3章 关于服务程序性能相关的问题** 1. **内存分配与释放**:使用Java的JVisualVM或MAT工具监控内存分配,检查...

    java性能优化

    - **注意事项**: - 大型方法内联可能会降低性能,因为增加了代码大小和执行时间。 - 在简单且不需要被覆盖的方法上使用`final`,如getter/setter方法,可以提高性能。 #### 五、优先使用局部变量 - **优势**:...

    关于JAVA内存泄漏问题注意事项

    以下是一些关于Java内存泄漏的注意事项和相关知识点: 1. **理解可达性和无用性**:内存泄漏在Java中发生时,通常是由于某些对象尽管不再使用,但仍然可以通过对象引用图到达,这使得垃圾收集器无法识别它们为无用...

    java性能优化借鉴

    - **注意事项**: - 静态变量生命周期与类相同,如果类不被卸载,静态变量将一直占用内存。 - 静态变量容易引发全局状态问题,不利于代码的维护和扩展。 #### 三、减少对象创建 频繁创建对象不仅消耗大量内存,...

    JAVA注意事项

    在Java编程过程中,掌握一些关键的注意事项至关重要,这不仅能提高代码质量,还能避免常见的编程陷阱。以下是一些关于"JAVA注意事项"的详细说明: 1. **命名规范**:Java有严格的命名规则,类名应使用驼峰式命名,...

    java学习资料及注意事项

    这份"java学习资料及注意事项"集合了多种资源,旨在帮助初学者快速掌握Java编程的基础知识和最佳实践。 首先,"Java开发者需坚守的十大基本准则.txt"可能是对Java开发人员至关重要的指导原则。这些准则可能包括但不...

    Java 性能调优 Java 性能调优 Java 性能调优

    #### 三、系统调优的一般步骤与注意事项 1. **基准测试**:在开始优化之前,先确定当前系统的性能基线。这可以通过使用性能测试工具来完成。 2. **识别瓶颈**:利用性能分析工具(如JProfiler、VisualVM等)找出...

Global site tag (gtag.js) - Google Analytics