最近和朋友聊天,说到他们公司把编码和性能调优分为两个小组,开发人员专注于开发业务代码,编写业务逻辑,性能调优的小组则根据性能测试的结果,进行JVM参数等的调优。
我们讨论的结果是:把写业务代码和JVM调优完全分开是不可取的,任何编写代码的人员都应该了解如何进行调优才能提升性能。
Java应用的性能不止取决于JVM参数的调整,更加取决于Java API的使用、编写的算法的优异性、线程/进程在应用程序中的表现对于性能的影响等,在很多时候只调整JVM并不能带来太大的提升,而应用程序的代码优化则能带来很大的提升,而应用程序代码只有开发人员才能更加清楚其逻辑,术业有专攻,但是程序开发和性能优化可不是完全割裂的事情。