关于程序慢,性能不足的一点认识:
1、代码是不是有逻辑有问题,写了个死循环在哪里?这个会导致进程、线程直接挂在哪里。
2、代码逻辑没问题,但是可能代码中某些执行太慢,比如查询数据库,数据量很大,sql语句又恨复杂,这个也会导致程序的进程、线程卡在那里。
具体方法:
查看进程信息(AIX--procstack; linux--gstack),可以查看进程正在做什么,多次记录之后,经常出现的代码,那么可能是有问题的代码。那片区域代码有详细看。然后就是扒代码--------------
3、如果上述两种方案都没搞定,那么还有最笨的方案就是打时间了,多加些日志,打印程序执行消耗的时间,找出耗时多的代码,仔细分析代码。