Java 调用方法时,将对象作为参数发送是否比原始变量慢?

Java 调用方法时,将对象作为参数发送是否比原始变量慢?,java,performance,Java,Performance,我找不到任何关于这方面的最佳实践指南或问题 public void method(int primitiveVar) { } vs 在调用该方法时,使用其中一种方法是否有任何性能改进 感谢对象是按值传递的,这意味着参数会被复制,然后传递给正在执行的方法。所以,若你们传递一个引用,这就是你们传递对象时所做的,那个么这个引用就会被复制。它应该与传递原语的速度相同,但我可以从理论上看出,在某些自定义硬件上,如果对对象的引用使用了比某个原语类型更多的单词,那么速度可能会更慢 这并不重要。但是,如果这

我找不到任何关于这方面的最佳实践指南或问题

public void method(int primitiveVar)
{

}
vs

在调用该方法时,使用其中一种方法是否有任何性能改进


感谢

对象是按值传递的,这意味着参数会被复制,然后传递给正在执行的方法。所以,若你们传递一个引用,这就是你们传递对象时所做的,那个么这个引用就会被复制。它应该与传递原语的速度相同,但我可以从理论上看出,在某些自定义硬件上,如果对对象的引用使用了比某个原语类型更多的单词,那么速度可能会更慢

这并不重要。但是,如果这仍然是一个问题,那么通过原语共享有时会有好处(取决于您编写的方式和正在做的事情),因为引用实际上是不绑定到原语的

正如其他答案所说,无论你做什么,它都很可能不会对性能产生影响。但是,如果您打算传递大量的原语,我只需要传递and object以获得更高效、更易于阅读的代码。

Java中的值调用意味着复制引用,而不是被引用的对象。因此,没有复制对象的字段。@Fabian right我删除了,这样我就可以更改那个愚蠢的答案:)请看Paul_R下面的评论,它与此正好相反,他说你只是传递了一个整数指针到该方法,“@Rockster check out我正在对我的问题进行投票,但我不知道为什么,人们显然也在回答不同的答案,为什么这不是一个结构合理的问题呢?我还应该补充一点,我知道早期的微观优化,我知道你在一个方法中加入的主体越多,你的处理过程就越复杂?这不是一个结构合理的问题,因为它不是建设性的;通常,这种差异并不显著(可以通过很少的优化集中在这种代码修复上来证明)。因此,回应大多是意见。最后,Java不将原语视为对象这一事实长期以来一直是该语言的一个弱点;因此,使用对象与最佳实践并不矛盾。@NathanielFord感谢您的回复;你刚才回答了原来的问题,;对不起,你说的最后一句话我都不知道,如果我知道,我就不会问这个了。但是这些问题只针对大师吗?不确定你所说的“大师”是什么意思?主要的是,S.O.试图避开这种模糊的优化理论,专注于具体问题。这不是一个具体的问题,因为没有提供一个用例,其中可能存在任何类型的可观察差异。
public void method(CustomObject objectVar)
{
    // am I slower or do I generate any problem at all?
}