Dan*_*Dan 42 java optimization performance
有许多性能提示被Java编译器淘汰,尤其是Profile-guided优化.例如,这些平台提供的优化可以极大地(根据来源)降低虚拟函数调用的成本.VM还能够进行方法内联,循环展开等.
你现在使用的其他性能优化技术有哪些,但实际上已经被更现代的JVM中的优化机制淘汰了?
Eug*_*hov 23
方法和方法参数的最终修饰符对性能没有任何帮助.
此外,Java HotSpot wiki可以很好地概述HotSpot使用的优化以及如何在Java代码中有效地使用它们.
Pau*_*lin 20
人们用String a = "this" + var1 + " is " + var2;StringBuilder或StringBuffer的多次调用替换.它实际上已经在幕后使用StringBuilder.
kha*_*hik 16
在开始性能优化之前,有必要定义时间/内存权衡.这就是我如何为我的内存/时间关键应用程序(重复上面的一些答案,完成):
2001年,我为J2ME手机制作了应用程序.这是砖的大小.并且非常接近砖的计算能力.
让Java应用程序在其上运行可接受,需要尽可能以程序方式编写它们.此外,非常大的性能改进是捕获ArrayIndexOutOfBoundsException向量中的所有项目的退出for循环.考虑一下!
即使在Android上,在阵列中的所有项目都有"快速"循环,并且"慢速"编写相同的东西,如dalvik VM内部的Google IO视频中所述.
但是,在回答你的问题时,我会说最近必须对这种事情进行微观优化是非常不寻常的,而且我还期望在JIT VM上(甚至是新的Android 2.2 VM,它会增加JIT)这些优化都没有实际意义.2001年,这款手机以33MHz的速度运行KVM解释器.现在它运行dalvik--一个比KVM快得多的VM - 在500MHz到1500MHz之间,具有更快的ARM架构(更好的处理器,甚至允许时钟速度增益),L1等和JIT到来.
我们还不熟悉Java中的直接像素操作 - 无论是在手机上还是在带有i7的桌面上 - 因此Java仍然没有那么快的正常日常代码. 这是一篇有趣的博客,声称一位专家表示,对于一些繁重的CPU任务,Java占C++速度的80%; 我持怀疑态度,我编写了图像处理代码,我看到Java和native之间存在一个数量级的像素循环.也许我错过了一些技巧......?:d
| 归档时间: |
|
| 查看次数: |
18459 次 |
| 最近记录: |