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

Java程序性能优化Tips

 
阅读更多

1,避免在循环条件中使用复杂表达式

在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快。
如在条件循环中,使用 for (int i = 0; i < v.size(); i++) ,可以考虑使用 for (int i = 0 , j = v.size() ; i < j ; i++)。能够减少函数调用,且v.size()还是一个同步的方法。
对于不会再多线程同时使用的容器,可以使用 ArrayList等代替Vector

2,为容器如List或者Map指定初始大小。

在能够估算容器大小的情况下,建议在初始化容器时指定大小,以避免频繁扩容导致的性能损失
其他容器,如StringBuffer, StringBuilder也可以参考

3,在finally中关闭资源。

在finally中关闭资源,如stream,connection等,能够避免资源泄露。
另外一个易疏忽的场景是,在使用对象池时,如果borrow了一个对象,最好在finally中归还,以免因使用中的异常导致无法归还。
jdk7之后出现try-with-resources,建议使用

4,使用’system.arraycopy ()’代替通过来循环复制数组

system.array会调用本地方法进行复制,比在java里复制快得多。熟悉jdk自带的一些方法,了解apache common项目中的类库,有益于提升工作效率和程序性能。

5,在可以使用final的地方使用final,如不可变成员变量,访问实例内变量的getter/setter方法,不会被改写的方法,甚至不需要继承的类。

编译器会将final的方法内联

6,如果只是查找单个字符的话,用charat()代替startswith()

前者直接下标读取数据,性能高于后者。

7,善用移位进行乘除运算

如果恰好是2的幂的变化,使用左移或者右移性能更好

8,避免在循环中进行耗资源的操作,如try-catch或者同步

9,尽可能的使用栈变量

如果可能,请使用局部变量作为你经常访问的变量

 

转载:http://www.zhouyoudao.com/javatips/

分享到:
评论

相关推荐

    java时间空间性能优化附带个人测试代码

    本篇将基于《java time and space performance tips》一书中的知识,结合提供的个人测试代码,深入探讨Java性能优化的策略。 1. **避免不必要的对象创建** - 在Java中,频繁的对象创建和垃圾回收会增加运行时的...

    1000 Java Tips

    15. **Java性能优化**:通过分析和调整JVM参数、优化算法、减少内存消耗等方式,可以显著提升Java应用程序的性能。 《1000 Java Tips》这本书无疑为Java开发者提供了一个全面的学习和参考资源,涵盖了从初学者到...

    Java Tips

    同时,`TMS Roster 2014.xlsm`这个文件可能是用于项目管理或任务调度的Excel模板,它可能与Java应用的集成或数据处理有关,例如,开发者可能需要编写Java程序来自动化处理或分析这样的Excel表格数据。理解如何在Java...

    1000_Java_Tips_low.pdf

    10. **JVM优化**:深入理解JVM的工作原理并进行调优是提高Java应用性能的关键,文档可能会涵盖类加载、内存配置、JVM参数调整等方面。 11. **单元测试和持续集成**:JUnit和Maven等工具是Java开发中的标准配置,...

    330 个 有用的Java Tips

    11. **JVM内存模型**:理解堆、栈、方法区、本地方法栈等JVM内存区域有助于优化程序性能和排查问题。 12. **设计模式**:Java开发中常用的设计模式如单例、工厂、观察者等,是解决常见软件设计问题的最佳实践。 13...

    Java学习Tips330个

    - **定义**:Applet 是一种可以嵌入到网页中的小型Java程序。 - **应用场景**:早期用于创建网页上的交互式元素,如游戏、动画等。 - **开发环境**:需要了解如何使用JDK和AWT/Swing组件库。 #### 2.2 Code ...

    500 Java Tips

    20. **性能优化**:分析和优化Java程序的性能,包括CPU和内存的监控,以及代码的优化技巧。 以上只是部分可能涵盖在《500 Java Tips》中的主题,每一条提示都可能深入到一个具体的技术点,帮助开发者解决实际开发中...

    330-Java-Tips.rar_LOT

    12. **性能优化**:文档可能会提供一些性能调优的建议,包括算法优化、减少内存消耗、避免过度设计等。 通过阅读《330 Java Tips.pdf》,开发者不仅能学到各种实用技巧,还能了解到Java社区的常见问题和最佳实践,...

    java面试tips 支付宝面试要求.zip

    - **代码性能优化**:掌握代码层面的优化技巧,如避免过度的对象创建、减少不必要的计算等。 - **系统性能监控**:使用JProfiler、VisualVM等工具进行性能分析和调优。 10. **版本控制与持续集成** - **Git**:...

    SUN-JAVA-SCJP认证考试

    模块3-4_tips.pdf提供了关于Java内存管理和垃圾收集的指导,这对于理解和优化程序性能至关重要。考生将学习Java内存模型的组成部分——堆、栈、方法区,以及如何分析和解决内存泄漏问题。此外,文件可能还会涉及基本...

    难得的英文java技巧汇总

    - **性能优化**:提高Java应用程序性能的技巧。 - **设计模式**:常用的软件设计模式及其应用场景。 - **面试准备**:常见的Java面试问题及其解答。 综上所述,《难得的英文java技巧汇总》不仅提供了一系列宝贵的...

    Java I/O 过滤流-带格式的读写操作

    - `DataTest.java`:可能包含了测试过滤流带格式读写的主程序。 - `DataReader.java`:可能定义了一个使用DataInputStream进行格式化数据读取的类。 - `DataWriter.java`:可能定义了一个使用DataOutputStream...

    Tricks and Tips With NIO Using the Grizzly Framework

    ### Tricks and Tips with NIO Using the Grizzly Framework #### 目标与背景 在本次演讲中,我们将分享我们在开发Project Grizzly NIO框架过程中学到的一些技巧和窍门。Project Grizzly是一个利用Java NIO(非...

    安卓Android源码——Protips.rar

    4. **Intent机制**:Intent是Android中用于组件间通信的重要工具,了解其工作原理能帮助我们构建更好的应用程序流程。 5. **Service管理**:Service在后台运行,用于执行长时间操作。理解Service的生命周期和启动...

    330_tips_Jul22_2003

    13. **性能优化**:如何编写高效代码,避免内存泄漏,合理使用数据结构和算法,以及如何使用JVM调优工具(如JVisualVM)。 14. **Java EE**:如果涉及到Web开发,可能包括Servlet、JSP、EJB等企业级技术。 15. **...

    java 330条技巧

    操作系统与Java的关系部分探讨了Java如何在不同的操作系统上运行,包括系统调用、进程管理、内存管理等底层细节,这对于理解Java虚拟机(JVM)的行为和优化性能很有帮助。 ### Servlets & Servers Servlets是Java ...

    应用源码之Protips.zip

    5. **性能优化**:源码可能包含内存管理、耗时任务调度、多线程优化等内容,帮助我们写出更流畅、更高效的代码。 6. **组件间通信**:Activity、Service、BroadcastReceiver等组件间的通信是Android开发的重要部分...

    AJAX基础教程-8 Tool Tips

    1. **性能优化**:为了减少不必要的请求,可以缓存已经获取的Tool Tip内容。 2. **用户体验**:确保Tool Tips加载快速,避免用户等待过长时间。如果数据加载较慢,可以考虑使用预加载或者默认文本。 3. **错误处理**...

Global site tag (gtag.js) - Google Analytics