zoukankan      html  css  js  c++  java
  • java编译优化

    #java编译器对`String常量表达式`的优化:
     - 1.String+String 可以被编译器识别为常量表达         

                 String a="ab" ;       

                 String b="a"+"b";//编译后:b="ab"

               System.out.println(a==b);//true           

               分析: 
                编译器将"a"+"b"当做常量表达式,在编译时期进行优化,直接取"ab". 在运行时期 
                并没有创建新的对象,而是从jvm字符串常量池中获取之前已经存在的"ab"对象.

    2.String+基本类型 可以被编译器识别为常量表达式
       
               String a="a1";
               String b="a"+1; //"a1"
               String c="a"+true;//"atrue"
               String d="a"+3.14;//"a3.14"           
          
     #java编译器对`常量`优化:
      * 它是编译时的一项优化技术,将代码的常量计算在编译期完成,节约了运行时的计算量.
      
             1.常量替换
                //编译前:
                final int x=10;
                int  y=x;

                //编译后
                int x=10;
                int y=10;//编译时,常量替换了
          
           
            2.数学恒等式的模式匹配替换
     
                //编译前:
                 int x=10+10;

                //编译后
                int x=20;//编译时,模式匹配替换了
               
          
             3.常量折叠
     
                //编译前:
                 boolean flag=true||(a || b && c);

                //编译后
                boolean flag=true;//编译时,常量折叠了
               
          



      

  • 相关阅读:
    0diff算法参考资料
    js 对象属性值
    一些带有设计模式的优秀代码
    vue 配置多页面
    cms 管理系统
    网络技术:EtherChannel 链路汇聚
    网络技术:VLAN 中继协议(VTP)
    网络管理:管理信息库
    网络管理:抽象语法表示 ASN.1
    网络管理:基本编码规则(BER)
  • 原文地址:https://www.cnblogs.com/yuefeng123/p/7341929.html
Copyright © 2011-2022 走看看