在Java中使用Class.getMethods()是一项繁重的操作吗?

时间:2012-11-13 19:30:48

标签: java reflection

我对java“Class”API的性能有疑问。我有一个要求,我的数据库值可能类似于/car/cars[0]/make。对于每个数据库值,我必须查看我正在处理的特定类是否具有/car的setter方法,如setCar(或/cars[0]/makesetCars方法)。目前,我只是通过该类的所有声明方法(使用getMethods)进行迭代,然后执行一些字符串检查以查看使用与数据库值匹配的方法名称。当我这样做时,我不会调用任何方法。虽然这是使用Method API,但它实际上没有进行任何方法调用。在java反射方面,这仍然是一个繁重的操作吗?换句话说,这个java反射是否正在使用?

1 个答案:

答案 0 :(得分:0)

是的,您通过调用getMethods使用反射。如果您担心性能,可以使用像JIP

这样的Java分析器来分析您的代码