从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代码--代码优化的主要内容,如果未能解决你的问题,请参考以下文章

从jvm的角度来看单例模式

java 简单的代码片段,展示如何将javaagent附加到运行JVM进程

从JVM角度看Java多态

Java多线程编程-(11)-从volatile和synchronized的底层实现原理看Java虚拟机对锁优化所做的努力

从JVM角度看Java多态

从JVM的角度解析String