问题现象为:
   执行某个方法,出现开机后第一次运行是重启电脑后java程序运行的5倍。
示例如:
调用方法test()
重启电脑后启动第一次执行需要5s,第二次执行只需要0.6s
退出程序再启动第一次执行需要1s,第二次执行只需要0.6s
比较费解什么原因需要重启电脑?尝试情况:
了解过jvm会缓存类结构,尝试过在程序启动将将所有类实例一次,但这个方法效果不明显。

解决方案 »

  1.   

    自已再顶下 xxxxxxxx
      

  2.   

    第一次运行jvm确实有编译过程,我比较不理解的点在于为什么重启jvm 和重启电脑有区别
    重启电脑对swt的资源确实是有一定影响,不过我也排查过这个问题
      

  3.   


    其实慢才是实际速度,所以没有好的方法,换个SSD可能会改善。
      

  4.   


    其实慢才是实际速度,所以没有好的方法,换个SSD可能会改善。重启电脑后执行慢是硬件或虚拟机本身的问题,体验不好是你程序的问题,因为启动后第一次比较慢,那么你就需要一些方法来改进用户体验(不考虑硬件升级的情况),比如优化你的程序启动体验和程序加载机制,设置一个启动界面或动画?,或者调整执行慢的函数能不能并发?,这也是一个思路。