当发现一个功能执行需要很长时间,怎么样用eclipse可以快捷的调试出是哪段程序耗时多呢?
我一般都是System.out.print打印执行的时间,感觉这样效率太低了。如果遇到性能问题,一般怎么用什么方法优化呢?

解决方案 »

  1.   

    一般来说,消耗时间的都是与数据库打交道,或者循环体。   你应该针对相应的代码测试。  除了这个办法,也没有其它更好的办法。性能问题就要看具体问题了。1。与数据库打交道的部分太慢,那就涉及SQL优化,数据库优化
    2。如果只是程序太慢,那还好整一点没统一法则,具体问题具体分析
      

  2.   

    在方法的前后,你就用
    System.out.print打印执行的时间
      

  3.   

    先用加打印 找出哪段业务代码耗时比较长
    这种方法不光是在JAVA中有用放置于C和C++都有效
    找到耗时长的代码,再查找原因。原因可能多种多样,可以每次都复现的性能问题不外乎IO操作放置于循环内;反复读取配置文件。
    如果程序需要运行一段时间才出现性能问题,可能需要考虑GC是否有遗漏内存没有回收,有专门的软件可以探测程序占用堆栈空间的回收情况的。
    祝兰州早日解决问题。
      

  4.   

    查看那个方法耗时多,有专门的测试工具,可以找一找性能优化很多
    代码的合理性 比如Boolean.TRUE是不是要比new Boolean("true")要高效
    sql 语句的优化 比如select * from tablename where id in();是不是尽量不要用
    包括框架的选择,是不是struts2大家都要用,我也要用,他效率是怎样的呢等等
    还有并发,负载,数据读写分离等很多问题
      

  5.   

    System.out.println()确实很低效,开发时可以用,但是生产时不要很,这个操作很耗时