zoukankan      html  css  js  c++  java
  • Runoob-Java-高级教程-实例-字符串:11. Java 实例

    ylbtech-Runoob-Java-高级教程-实例-字符串:11. Java 实例 - 字符串性能比较测试
    1.返回顶部
    1、

    Java 实例 - 字符串性能比较测试

    Java 实例 Java 实例

    以下实例演示了通过两种方式创建字符串,并测试其性能:

    StringComparePerformance.java 文件

    public class StringComparePerformance{
       public static void main(String[] args){      
          long startTime = System.currentTimeMillis();
          for(int i=0;i<50000;i++){
             String s1 = "hello";
             String s2 = "hello"; 
          }
          long endTime = System.currentTimeMillis();
          System.out.println("通过 String 关键词创建字符串" 
          + " : "+ (endTime - startTime) 
          + " 毫秒" );       
          long startTime1 = System.currentTimeMillis();
          for(int i=0;i<50000;i++){
             String s3 = new String("hello");
             String s4 = new String("hello");
          }
          long endTime1 = System.currentTimeMillis();
          System.out.println("通过 String 对象创建字符串" 
          + " : " + (endTime1 - startTime1)
          + " 毫秒");
       }
    }

    以上代码实例输出结果为:

    通过 String 关键词创建字符串 : 6 毫秒 
    通过 String 对象创建字符串 : 14 毫秒
    2、
    2. 扩展返回顶部
    1、
    扩展1

    当循环的次数较少时,使用毫秒效果不明显,建议使用纳秒:

    System.nanoTime();
    2、
    扩展2

    由于初始值不一样,3次比较出来的时间不具有对比性,应在同等条件下比较计算花费时间

    public class StringOptimization {
        public static void main(String[] args) {
            String variables[] = new String[50000];
            long startTime0 = System.currentTimeMillis();
            for (int i = 0; i < 50000; i++) {
                variables[i] = "hello";
            }
    
            long endTime0 = System.currentTimeMillis();
            System.out.println("使用字面量直接赋值字符串,花费时间:" + (endTime0 - startTime0) + "毫秒");
            String variables1[] = new String[50000];
            long startTime1 = System.currentTimeMillis();
            for (int i = 0; i < 50000; i++) {
                variables1[i] = new String("hello");
            }
    
            long endTime1 = System.currentTimeMillis();
            System.out.println("使用字符串对象花费时间:" + (endTime1 - startTime1) + "毫秒");
            String variables2[] = new String[50000];
            long startTime2 = System.currentTimeMillis();
            for (int i = 0; i < 50000; i++) {
                variables2[i] = new String("hello");
                variables2[i] = variables2[i].intern();
            }
    
            long endTime2 = System.currentTimeMillis();
            System.out.println("使用字符串对象intern()方法花费时间:" + (endTime2 - startTime2) + "毫秒");
        }
    }

    输出结果为:

    使用字面量直接赋值字符串,花费时间:1毫秒
    使用字符串对象花费时间:3毫秒
    使用字符串对象intern()方法花费时间:8毫秒
    3、
    3.返回顶部
     
    4.返回顶部
     
    5.返回顶部
    1、
    2、
     
    6.返回顶部
     
    warn 作者:ylbtech
    出处:http://ylbtech.cnblogs.com/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    解决Redis之MISCONF Redis is configured to save RDB snapshots
    lnmp一键安装redis以及php组件
    多版本PHP使用composer
    composer设置成阿里云镜像
    Yaf 简介
    Ubuntu配置php7.2开机启动
    Ubuntu查看开机日志
    ssh生成公钥
    Ubuntu系统如何分区
    初始化一个yaf项目
  • 原文地址:https://www.cnblogs.com/storebook/p/10647214.html
Copyright © 2011-2022 走看看