这条代码可以把cpu利用率达到100% :for(;true;);
通过cpu的主频,和程序的代码行数,和一行代码对应的机器指令数可以估算出,1ms可执行的代码行数。(机器一秒能执行多少指令可能不仅和cpu主频有关。)
对于现在的计算机,500ms并不短,这只是个结论,在实际中要根据用户需求而定并要留下余地。
在hp-ux+oracle+hibernate下,一次1M数据量左右的操作,如果同时有三到五个的调用,操作时间有时可以达到19秒左右,好的时候在0.03秒左右。同样的条件下,如果一次操作的数据量更大,同时调用的次数更多,则可能使DB操作长时间不响影,导致软件瘫痪。
DB取一条数据和取1000条数据的差距不大,因此一次据所用的数据取出,而不是分次取,是一个优化的方法。
blob clob很耗资源,大量使用会把DB堵死。
数字主键比字符主键要快
我遇到的软件调优问题,大都是DB引起的,主要是从DB中拿数据时,代出很多无用的数据,反复的跟DB要相同的数据。
控制new 操用,大量的创建对象,又丢掉,使用大量内存,引起java的 垃圾回收,很费资源,有时会导致内存溢出。
可以借助程序的log信息,进行程序的调优。