JVM 性能调优

2017-09-05  本文已影响0人  maven_hz

原则:无监控不调优

内存和GC原理

/**
*逃逸分析测试类
*1.User对象在方法内被实例化时,对象未逃脱。被分配在栈内存中,不需要GC回收
*2.当User有外部引用时,对象逃脱。运行时间大大加长
*/
public class PartionOnStack {
   class User{
       public int id;
       public String name;
   }
   User user; //有外部引用时,对象逃脱
   public  void foo() {
       User user = new User(); //对象未逃脱。全部被分配在栈内存中
       user.id=1;
       user.name="66666";
   }
   public static void main(String[] args) {
       System.out.println("start-----------");
       long beginTime=System.currentTimeMillis();
       PartionOnStack pos=new PartionOnStack();
       for(int i=0;i<100000000;i++)
       {
           pos.foo();
       }
       long endTime=System.currentTimeMillis();
       System.out.println("总共运行----"+(endTime-beginTime)+"ms");
    }
}

调优方式

PS:合理规范的代码及数据库的优化,也是性能优化的重要部分

上一篇下一篇

猜你喜欢

热点阅读