zoukankan      html  css  js  c++  java
  • 字符串拼接原理 javac 和 javap

    一、新建一个 Test1 类

    public class Test1 {
        
        public static void main(String[] args) {
            String a = "a";
            String s = a+"b"+"c"+"d";
            System.out.println(s);
        }
        
    }

    二、使用 javac 将 Test1.java 编译为 Test1.class

    C:User桌面>javac D:workspaceTest1srccom	estTest1.java

    三、使用 javap -c 将 Test1.class 反编译

    四、结论

    String 在做字符串拼接的时候,实际上创建了一个 StringBuilder 对象,然后调用了该对象的 append 方法

    五、现在你可能随意使用 String 对象,反正编译器会为你自动优化性能,可是在这之前,我们更深入的看看编译器为我们优化到了什么程度

    下面使用两种方式生成一个 String:方法一使用多个 String 对象;方法二在代码中使用了 StringBuilder。

    public class Test1 {
        
        public String withString(){
            String result = "";
            for (int i = 0; i < 3; i++) {
                result += i;
            }
            return result;
        }
            
        public String withStringBuilder(){
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < 3; i++) {
                sb.append(i);
            }
            return sb.toString();
        }    
            
    }

  • 相关阅读:
    学习HTML-第一章HTML基础
    javascript中apply 和 call 的区别
    数据库
    贝叶斯公式的直观理解(先验概率/后验概率)
    4-决策树
    消息队列
    RESTful api 设计规范
    MySql索引
    MySQL并发控制
    MySQL三层逻辑架构
  • 原文地址:https://www.cnblogs.com/fangwu/p/9303724.html
Copyright © 2011-2022 走看看