내가 입력 문자열이 유효한 XPath는이 있는지 확인하는 간단한 방법이Java JIT 컴파일러는 부작용없이 메서드의 호출을 제거합니까?
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
블록 내부에 코드를 제거하지 않을 것이라는 확신 할 수 있습니다, 그것은 부작용이없는의 때문에? 아니면 (예외가있을 수 있음)?
컴파일러 _not_에서 최적화를 수행하도록하려면 [this] (http://stackoverflow.com/questions/5242405/how-to-make-sure-no-jvm-and-compiler- 최적화가 발생 함) – byxor