说我有一个非常轻量级的对象:
public class Point {
public int x;
public int y;
public Point(int ax, int ay){
x = ax;
y = ay;
}
}
Run Code Online (Sandbox Code Playgroud)
我需要非常频繁地计算距离 - 例如,在移动设备上的滚动事件期间,可能每秒发射几次.
如果每次使用新的Point(a,b)使代码更清晰,更透明,那么性能是否足够重要,我应该考虑缓存一些引用并更新成员变量(而不是实例化)?
就个人而言,我不担心每次需要一个点时实例化这些对象.虽然是的,但缓存一些会更快一些,我同意它会使代码不那么干净.看看这篇Java性能优化书有关对象创建成本的内容:https://www.safaribooksonline.com/library/view/java-performance-tuning/0596000154/ch04.html
基本上,如果旧的Pentium II每秒可以创建一百万个轻量级对象,那么考虑到今天的处理器/内存等等,我认为你没有什么可担心的.
| 归档时间: |
|
| 查看次数: |
1526 次 |
| 最近记录: |