Premature optimization is the root of all evil — Donald Knuth
如果一个java应用是完全独立的没有使用任何的外部资源,那么应用的性能只和java应用本身有关. 一旦使用了外部资源(例如:数据库),那么数据库应用和Java应用本身都对性能有重要影响。 特别是在分布式应用环境中,有Java EE 应用服务器、负载均衡服务器、数据库以及后端企业信息系统等,这种情况下Java应用服务器对整体性能的影响可能是最小的。 这本书不讲有关系统整体性能的内容,在这种环境下,一整套监控必须运用到系统的各个部分上,包括对CPU使用率、I/O延迟以及吞吐量的度量和分析,只有这样才能找到具体是哪个部分影响了整个系统的性能,换句话说找到系统性能的瓶颈所在。
优化代码中最费时的操作,但不是只关注和优化最底层的方法 新代码出现性能问题很可能是机器的配置问题,反过来说很可能是JVM或操作系统的配置问题导致的,优先考虑最可能的情况而不是跳过直接去考虑不常见的情况 对于错误率,如果用户能够接受10%的错误遗留能保证高性能,则不需要优化到1%反而使性能变差,要做出这种权衡。