`
等待五千年
  • 浏览: 4564 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

减GC开销的4个小技巧

 
阅读更多

1、多用StringBuilder,尽量减少利用“+”运算符将两个字符串相加,避免隐式的String对象和StringBuilder对象的创建。因为加的操作实际上是调用StringBuilder对象的append方法来实现,最终在通过toString取得结果。

 

2、计划好List的容量,创建List对象时尽量分配一个合适的初始值,避免List容量扩展时,创建新的对象,原来的对象将被废弃。

 

3、使用高效的含有原始类型的集合。减少因装箱而带来的对象的创建。

 

4、List集合使用时,将List对象传入方法中,在方法中生成对象后直接放入List对象中。避免在方法中创建一个临时的List对象来存储,然后通过方法返回值来返回。避免不必要的List对象创建。

分享到:
评论

相关推荐

    Java的GC机制探微.pdf

    4. 复制收集:将堆分为两个区域,对象分配在一个区域,当该区域填满,所有存活对象复制到另一个区域,原区域则被视为垃圾。这种方法避免了碎片,但需要两倍内存空间,并且频繁复制可能影响性能。 5. 分代收集:根据...

    Java的垃圾收集器(GC)参考.pdf

    6. **System.gc()的使用**:尽管可以调用`System.gc()`建议JVM进行垃圾收集,但不应过度依赖这个方法,因为垃圾收集器何时执行、是否执行是不确定的,过度调用可能会增加系统开销,影响性能。 7. **内存泄漏与内存...

    D17265GC10 - Oracle Database 10g:SQL Tuning Workshop

    综上所述,Oracle Database 10g:SQL调优工作坊是一个全面的教程,涵盖了从基础到高级的SQL调优技巧,旨在帮助用户充分利用Oracle数据库的性能。通过深入学习并实践其中的理论和案例,可以有效提升数据库系统的整体...

    Java垃圾回收精粹-Part4Java开发Java经验技

    Full GC开销较大,应尽量避免频繁触发。 三、垃圾回收器 1. Serial GC:单线程的垃圾回收器,适用于小内存环境或对响应时间要求不高的场景。 2. Parallel GC:多线程版本的Serial GC,可以提高垃圾回收效率。 3. ...

    降低Java垃圾回收开销的5条建议.docx

    为了减少这种不必要的开销,可以在创建集合时就提供一个预期的容量大小。例如,在创建`ArrayList`时,如果已知最终元素的数量,可以这样初始化: ```java List<String> list = new ArrayList(100); // 假设预计有100...

    Java语言中内存管理的几个技巧.rar

    本教程将深入探讨Java语言中内存管理的几个重要技巧,旨在帮助开发者更好地理解和掌握这一核心概念。 1. **对象创建与垃圾回收** - **对象创建**:在Java中,使用`new`关键字创建对象时,会分配内存并在堆上构造...

    android代码优化技巧

    【Android 代码优化技巧】 Android 代码优化是一个关键的领域,尤其对于提升应用程序的性能和用户体验至关重要。在Android开发中,我们需要注意以下几点: 1. **避免过多对象创建**:对象创建需要分配内存,即便...

    java代码的优化的技巧

    以上提到的Java代码优化技巧,涵盖了从变量声明、数据结构选择到资源管理等多个方面。开发者应根据具体的应用场景灵活运用这些策略,以达到提升程序性能、降低资源消耗的目的。通过持续学习和实践,逐步掌握这些技巧...

    Spark性能调优

    以下是一些实用的技巧: - **设置正确的Java和Maven环境:** - 在`.bashrc`中为`root`用户显式设置JAVA_HOME、JRE_HOME和PATH等环境变量。 - 设置Maven环境变量,如M2_HOME和MAVEN_OPTS等,确保有足够的内存分配...

    日均百万订单量JVM优化策略实战

    日均百万订单量这样的业务场景对JVM性能提出了极高的要求,只有深入理解JVM的工作原理,掌握各种优化技巧,才能确保Java应用在高并发下的稳定性和高性能表现。通过合理的优化策略,可以让Java应用更好地应对业务压力...

    java内存管理技巧

    - 使用`final`关键字可以声明不可变对象,不可变对象可以被安全地共享,不会引发并发问题,且有助于垃圾回收,因为它们一旦创建就不会改变,可以被GC优化。 8. **避免大量小对象的创建** - 大量小对象的创建会...

    Java堆外内存的使用Java开发Java经验技巧共5页

    - 在处理大对象或大量小对象时,能有效利用内存,避免堆内存碎片。 3. **Java堆外内存的使用**: - NIO Channel与Buffer:使用FileChannel的`map`方法映射文件到直接内存,或者使用ByteBuffer的`allocateDirect`...

    java基础优化编程

    这个方法提供了原生级别的优化,能够显著减少CPU开销。 #### 十、循环体内的方法调用与异常处理 - **方法调用**:尽量避免在循环体内调用方法,因为方法调用的开销较大。 - **异常处理**:循环体外使用try-catch块...

    基于JVM 调优的技巧总结分析

    编程实践中,有一些技巧可以帮助减少GC的开销,提高JVM性能: 1. 避免直接调用System.gc(),因为这会触发Full GC,可能影响应用性能。 2. 减少大型临时对象的创建,这些对象可能直接进入老年代,增加Full GC的压力。...

    性能优化手册100技巧.06版.pdf

    #### 4. 数据库性能优化 数据库性能优化通常是通过以下几个方面来实现: - **查询优化**:优化SQL语句,使用索引减少查询时间。 - **索引管理**:定期对数据库索引进行维护和优化。 - **数据库连接管理**:合理...

    jvm瓶颈定位 java jvm 学习

    Java JVM瓶颈定位是一个涉及多方面的问题,需要综合运用各种工具和技巧进行诊断和优化。理解JVM的工作原理,熟练使用监控工具,以及掌握Java代码的优化原则,都是提升系统性能的关键。通过持续学习和实践,开发者...

    Java性能优化技巧集锦

    避免内存泄漏,合理使用对象引用,适时使用`System.gc()`(尽管不推荐),以及了解如何使用JVM参数调整堆大小。 2. **集合优化**:选择合适的集合类型,如ArrayList vs LinkedList、HashMap vs ConcurrentHashMap。...

    jvm -spark-优化

    4. **基于OOM推导出JVMGC的内存结构**: - Spark中,JVM的垃圾回收机制依赖于特定的内存结构,包括年轻代(Young Generation)和老年代(Old Generation)。年轻代通常包含Eden空间和两个Survivor空间(From和To)...

    java performance

    #### 垃圾收集(GC)概念与编程技巧 在Java中,垃圾收集(Garbage Collection, GC)是自动管理内存的关键技术之一,它极大地简化了开发人员的工作,并提高了程序的安全性和可靠性。然而,如何编写“垃圾收集友好”...

Global site tag (gtag.js) - Google Analytics