首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止死代码被JVM优化?

如何防止死代码被JVM优化?
EN

Stack Overflow用户
提问于 2012-05-27 03:04:12
回答 1查看 125关注 0票数 0
代码语言:javascript
复制
public class A
{
    public String getText()
    {
        Marker.start();
        ...
        ...
        Marker.end();
    }
}

public class Marker
{
    public static void start()
    {
        long now = System.currentTimeMillis;
    }

    public static void end()
    {
        long now = System.currentTimeMillis;
    }
}

我想使用JPDA (Java Platform Debugger Architecture)来检测来自外部应用程序的Marker.start()和Marker.end()的出现。然而,我认为JVM可能会优化/消除代码。如何防止死代码被JVM优化?

EN

回答 1

Stack Overflow用户

发布于 2012-06-01 20:21:08

例如,您可以在类Marker中的某个位置创建一个伪int变量,并在start()end()方法中递增/递减它的值。我不认为任何优化器可以从类中删除实例字段,即使该值不在任何地方使用。毕竟,总会有人向JVM注入新的代理代码,并要求提供值。这意味着对start()stop()的调用也不应该进行优化。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10768984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档