【问题标题】:Multiple invocations of a static method多次调用静态方法
【发布时间】:2018-04-26 19:07:27
【问题描述】:

我的问题是这样的:

在3个不同的类中,我必须执行一个过程相同但参数值不同的方法。

  • 是否可以使用包含静态函数的新类和 根据每次调用需要更改值?

  • JVM 如何通过拥有多个静态方法实例来进行, 产生了订单的“尾巴”?

这个问题更多地是从理论上讲 JVM 如何处理内存,我正在寻找的不仅是节省行数,而且是内存。我想说的是,如果这样做会产生更多的消耗,或者在每个类中生成更多的代码会更糟,尽管我会写更多的行。

如果有更好的方法,如果你告诉我,我将不胜感激。

已经非常感谢你了。

【问题讨论】:

  • 我怀疑这会很重要。编写最干净的代码,保持简单。
  • 我认为 JVM 永远不会“组合”完全独立的方法。如果一个调用另一个,它可能是内联的,但不会想到其他优化。如果你真的有三种相同的方法,你应该努力制作一种采用不同参数的方法。您尝试做的一个例子会有所帮助,您的问题非常笼统。
  • 感谢 jontro。你好标记空间,我创建了一个可以接收不同值的方法。我的问题是针对 JVM 如何处理这个问题的。我想知道,例如,如果两个不同的类调用另一个类的相同静态方法,这会产生一种等待一个接一个调用的过程,确定优先级。如果代码是分开的,它的行为是否相同或更糟。

标签: java function methods static jvm


【解决方案1】:

如果没有一些说明性代码,您的问题很难理解,但要解决两个明确的问题:

是否可以使用包含静态函数的新类并根据每次调用的需要更改值?

当然,为什么不呢?

JVM如何通过拥有多个静态方法的实例,生成订单的“尾部”?

没有“静态方法的实例”之类的东西。可能您的意思是“调用”。如果是这样,并且如果“订单的尾部”和“产生一种等待”意味着某种顺序化,那么答案是否定的:并发调用并行进行,除非使用同步或锁定。

【讨论】:

  • 非常感谢,我正在寻找的答案是“并发调用并行进行,除非使用同步或锁定。”。而对于这个“当然,为什么不呢?”我问是因为也许有一个顺序,并且有更好的方法来调用一个函数。
猜你喜欢
  • 2020-03-06
  • 1970-01-01
  • 2021-04-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-20
相关资源
最近更新 更多