成为绩效顾问的主要技能是什么?

KLE*_*KLE 6 java performance

如果我想成为Java应用程序和系统的性能顾问,我需要哪些主要技能?

  • Java本身的长期经验
  • 使用分析器(或堆栈镜头)
  • 数据库知识(避免/检测常见的性能错误:索引等)
  • 缓存
  • Java 并发

你是否同意这些的重要性?还有什么要补充的?


答案更新:

额外的技能:

  • 垃圾收集和调整
  • 高效的 Java代码
  • 设计(高级视觉)
  • UI技术(JavaScript,DOM,CSS,Swing,SWT)
  • 网络理解(也用于Ajax)
  • Algorithmics,Big O.
  • 硬件了解扩展

心态(由几个答案提供,虽然我没有要求):

  • 分析(真正衡量)
  • 耐压
  • 人/政治技巧

San*_*nto 2

我认为,根据特定的客户和手头的问题,您需要具备出色的算法分析和优化技能。你的问题是在数学算法层面,还是在Java算法层面?

您还需要非常熟悉您将使用的 JVM 的实现。仅仅了解语言和 API 还不够:您必须详细了解在某些情况下要使用哪种语言构造,并且这可能会根据您使用的特定 JVM 的不同而有所不同。探查器并不总能揭示 JVM 特定的性能问题。正如其他人所指出的,相同的 JVM 在不同的硬件上可能有不同的行为。