我有一个简单的方法来检查输入的字符串是否有效xpath

private boolean isXpath(String value) {
    boolean isXpath = true;
    try {
        XPath xpath = XPathFactory.newInstance().newXPath();
        xpath.compile(value);
    } catch (XPathExpressionException e) {
        isXpath = false;
    }
    return isXpath;
}


我可以确定JIT编译器不会删除try块内的代码,因为它没有副作用吗?还是有(可能的例外)?

最佳答案

死代码Eliminatino不仅与副作用有关,而且与使用计算结果有关。由于您的方法返回isXpath,如果不执行try块,则无法得出该结果,因此JIT编译器无法消除它。

10-06 06:22