从JVM的角度看JAVA代码--代码优化
Posted gccbuaa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从JVM的角度看JAVA代码--代码优化相关的知识,希望对你有一定的参考价值。
从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被查找两次
Map<String, String> map = new HashMap<String, String>();
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) {
// 运行操作
}
以上是关于从JVM的角度看JAVA代码--代码优化的主要内容,如果未能解决你的问题,请参考以下文章
java 简单的代码片段,展示如何将javaagent附加到运行JVM进程
Java多线程编程-(11)-从volatile和synchronized的底层实现原理看Java虚拟机对锁优化所做的努力