|
1
4
在那之后,需要一些创造性的方法来理解衡量。当有人雇佣绩效顾问时,他们经常陷入困境,这很可能意味着他们有真正的用户在做真实的事情,这意味着Java不会是堆栈中唯一的东西(正如你所指出的数据库,但可能存在JavaScript和网络问题,谁知道还有什么)。 除此之外,就洗衣单而言,缺少的一件大事是 garbage collection
|
|
|
2
2
您还需要非常熟悉将要使用的JVM的实现。了解语言和API还不够好:您必须非常详细地知道在某些情况下要使用哪些语言构造,这可能会因您使用的特定JVM而异。分析器并不总是能揭示JVM特定的性能问题。正如其他人所指出的,同一JVM在不同的硬件上可能表现不同。 |
|
|
3
2
我认为了解硬件也很重要(至少在设计高性能数据库时很重要)。什么时候需要投入更多的硬件来解决这个问题,什么时候需要修复代码,什么时候两者都需要。
我还会投资一套关于数据库性能调优的书籍(每个主要的数据库后端至少一本,因为调优是非常特定于数据库的)和数据库设计。我认为你可以将许多性能问题追溯到糟糕的数据库设计,以及缺乏如何编写性能良好的SQL代码的知识。数据库性能调优比知道要创建什么索引要广泛得多。 |
|
4
1
能够加速Java代码。你很可能会被叫去查看慢速代码,你需要找到并修复慢速部分。不能加快速度,你会有愤怒的客户,加快速度,每个人都会很高兴。如果你喜欢这样的事情,这可能会给你带来一些表演压力。 你可能会被请来就设计提供建议。因此,你需要了解很多最佳实践,并具备良好的设计技能。 |
|
|
5
1
此外,还有一个子领域涉及GUI性能增强(许多高速应用程序,如金融,都是用Swing之类的东西编写的)。这带来了一大堆额外的技能。 |
|
|
6
1
我还要补充:
|
|
|
7
1
对算法和大O符号有很强的理解。如果你在O(logn)存在的情况下花10个小时优化O(n)算法,你就是在浪费时间。我会把BigO添加到你的列表中。
|
|
|
8
1
|
|
9
1
一些一般技能要求可以在 The Art of Application Performance Testing
|
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |