首页 > 代码库 > 从JVM的角度看JAVA代码--代码优化

从JVM的角度看JAVA代码--代码优化

从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) {
            // 运行操作
        }
<script type="text/javascript"> $(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘
    ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($(‘
  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

从JVM的角度看JAVA代码--代码优化