从JVM的角度看JAVA代码–代码优化
在JVM载入优化为class文件,运行class文件时,会有JIT(Just-In-Time)的介入,它会做进一步优化,这样就须要考虑是否可能被JIT优化。
片段一:反复计算
// 反复计算,这里b()被计算两次 Object a = b() == null ? "" : b(); // 优化代码 Object c = b(); Object a = c == null ? "" : c;
片段二:反复比較
// 反复查找,这里a被查找两次 Mapmap = new HashMap (); map.put("1", "a"); map.put("2", "b"); String str = null; if(map.containsKey("1")){ str = map.get("1"); // 运行操作 } // 优化代码 str = map.get("1"); if(str != null) { // 运行操作 }