gpt4 book ai didi

java - 在 Java 程序中执行 Java 代码

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:25:38 27 4
gpt4 key购买 nike

我想创建一个应用程序,例如测量某个代码块的执行时间。在这种情况下,它应该具有如下结构:

public static long measureExecution(String code){
long start = System.nanoTime();
executeCode(code); // <----
long time = System.nanoTime() - start;

return time;
}

我对箭头指定的方法很好奇,我需要某种占位符。这个方法应该如何实现?甚至可以在运行的 Java 应用程序中执行自定义 Java 代码吗?

我在想它可以通过某种覆盖另一个方法主体来完成,但我不太清楚如何做。

感谢您的意见!

最佳答案

你可以传递一个Runnable:

public static long measureExecution(Runnable code) {
long start = System.nanoTime();
code.run();
long time = System.nanoTime() - start;
return time;
}

在你调用方法的地方,用一个匿名内部类把你要测的代码包裹起来:

long time = measureExecution(new Runnable() {

@Override
public void run() {
System.out.println("Do something");
}
});

(如果您使用的是 Java 8,则可以使用 lambda 表达式而不是匿名内部类,这将使代码更短且更易于阅读)。

关于java - 在 Java 程序中执行 Java 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21849021/

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