gpt4 book ai didi

java - 工作灯 : Performance of calling java static method vs object creation

转载 作者:搜寻专家 更新时间:2023-11-01 03:25:25 25 4
gpt4 key购买 nike

我需要建议是将自定义 java 方法设置为静态方法还是通过适配器中的 java 对象进行访问?

我的场景是:成千上万的用户正在进行交易,每个用户都一次又一次地访问相同的方法,只是更改特定于该用户或交易的一些值。

现在,如果我将它们作为静态方法,那么它是否会给用户带来问题,因为我们知道适配器调用是异步的....因此,如果多个用户同时调用相同的方法,那么它是否会导致问题返回彼此的值(value)观不同?

或者,如果我通过首先声明该类对象然后访问方法、提供参数来访问所有自定义 Java 方法……这样,当多个用户同时访问同一方法时,他们将获得正确/相关的信息数据?

从性能的角度来看哪种方法好,静态方法方法是否会给用户带来错误的数据......一个用户的数据给另一个用户,其他人给另一个人。

谢谢阿都阿哈德

------------我的代码就像---

java code:

public static String getBalanceSummaries(String userAct){
String replyMsg="";
try {

replyMsg = getBalanceStatementfromMQ(userAct);

}catch(Exception e) {}

return replyMsg;

}

-----WL Adapter code:------

function showAllBalace(userActNo){
return{
result: com.my.package.getBalanceSummaries(userActNo)
};
}

最佳答案

我认为您将静态方法与静态字段 混淆了。静态方法只是与对象的任何特定实例无关的代码 - 基本上任何不使用 thissuper 引用的方法都可以成为静态的候选者,前提是它们没有覆盖另一种方法并且不打算被覆盖。静态方法没有任何额外的问题 w.r.t.与“普通”方法相比的多线程。

静态字段,另一方面,根据定义在所有线程之间共享,并且对它们的访问应该像任何共享资源一样受到保护。 任何使用静态字段的方法,无论方法本身是否静态,都应检查并发问题。

就性能而言,有轶事证据表明,与普通虚拟方法相比,静态方法可能会提供性能改进,但老实说,除非分析器告诉我这样做,否则我不会担心它。过早的优化是万恶之源...

关于java - 工作灯 : Performance of calling java static method vs object creation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15183295/

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