gpt4 book ai didi

java - 通过创建自己的坐标类而不是使用 Point2D 来提高性能

转载 作者:行者123 更新时间:2023-12-01 13:21:15 25 4
gpt4 key购买 nike

我只是在考虑如果你自己制作类(class),是否会给你带来性能,例如

public class Coordinate{
private int x;
private int y;

public Coordinate(int x, int y){
this.x = x;
this.y = y;
}

/* Getters & Setter */

/* etc. */
}

这会比使用 Point2D 具有更好的性能吗?或者性能会有些相同吗?

我知道这是一个幼稚的问题,但我在互联网上搜索时什么也没找到。

最佳答案

不需要创建自己的Cooperative类,因为已经存在一个带有字段int x;的类java.awt.Point > 和int y;。该类还实现了java.awt.geom.Point2D,因此很容易与需要Point2D的现有代码一起使用。

这是否会提高性能:由于您没有告诉我们您打算用它做什么,所以无法判断。如果您打算使用 Java2D 功能,例如转换、构造 ShapePath2D,那么它不太可能提高性能,甚至可能会由于之间的频繁转换而降低性能。 intdouble

如果您只想在自己的代码中使用它并且只想执行整数算术,并且在具有多次迭代的紧密循环中,那么您可能会看到一些性能改进,因为您现在正在执行整数运算它比我听说过的任何 CPU 上的浮点运算都要快。动态 HotSpot 编译无法改变这种差异,因此可以肯定您至少会看到一些改进。

但是,如果您将坐标/点上的操作与其他计算或 I/O 混合,那么这些其他操作的性能特征不会改变,因此整数算术带来的性能提升将只占总体性能的较小百分比性能。

关于java - 通过创建自己的坐标类而不是使用 Point2D 来提高性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22015807/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com