zoukankan      html  css  js  c++  java
  • GC如何优化?

    GC优化的两个目的:

    1.将进入老年代的对象数量降到最低
    2.减少Full GC的执行时间
      使用 StringBuilder或 StringBuffer来代替 String
      尽量少输出日志

    https://blog.csdn.net/hellozhxy/article/details/80404022

    将进入老年代的对象数量降到最低

      关于分代GC,就是对象在Eden区被创建,随后被转移到Survivor区,在此之后剩余的对象会被转入老年代。也有一些对象由于占用内存过大,在Eden区被创建后会直接被传入老年代。老年代GC相对来说会比新生代GC更耗时,因此,减少进入老年代的对象数量可以显著降低Full GC的频率。你可能会以为减少进入老年代的对象数量意味着把它们留在新生代,事实正好相反,新生代内存的大小是可以调节的。

    降低Full GC的时间

    Full GC的执行时间比Minor GC要长很多,因此,如果在Full GC上花费过多的时间(超过1s),将可能出现超时错误。
    如果通过减小老年代内存来减少Full GC时间,可能会引起 OutOfMemoryError或者导致Full GC的频率升高。
    另外,如果通过增加老年代内存来降低Full GC的频率,Full GC的时间可能因此增加。
    因此,你需要把老年代的大小设置成一个“合适”的值。

  • 相关阅读:
    html 一号店静态页面
    多线程
    TCP通信
    MySQL连接查询
    Mysql数据库 DDL 数据定义语言
    MySQL数据库 DML 数据操作语言
    java字符流
    java File类
    java变量
    JDK、JRE、JVM的关系
  • 原文地址:https://www.cnblogs.com/jingpeng77/p/13532374.html
Copyright © 2011-2022 走看看