zoukankan      html  css  js  c++  java
  • 2020年9月18日 StringBuffer 和 StringBuilder 和 String 的 效率问题;

    package com.atguigu.test10;
    
    /*
     * Runtime:JVM运行时环境
     * Runtime是一个单例的实现
     */
    public class TestTime {
        public static void main(String[] args) {
    //        testStringBuilder();
            testStringBuffer();
    //        testString();
        }
        public static void testString(){
            long start = System.currentTimeMillis();
            String s = new String("0");
    
                s += i;
            }
            long end = System.currentTimeMillis();
            System.out.println("String拼接+用时:"+(end-start));//444
            
            long memory = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
            System.out.println("String拼接+memory占用内存: " + memory);//53185144字节
        }
        public static void testStringBuilder(){
            long start = System.currentTimeMillis();
            StringBuilder s = new StringBuilder("0");
            for(int i=1;i<=10000;i++){
                s.append(i);
            }
            long end = System.currentTimeMillis();
            System.out.println("StringBuilder拼接+用时:"+(end-start));//4
            long memory = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
            System.out.println("StringBuilder拼接+memory占用内存: " + memory);//1950488
        }
        public static void testStringBuffer(){
            long start = System.currentTimeMillis();
            StringBuffer s = new StringBuffer("0");
            for(int i=1;i<=10000;i++){
                s.append(i);
            }
            long end = System.currentTimeMillis();
            System.out.println("StringBuffer拼接+用时:"+(end-start));//7
            long memory = Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory();
            System.out.println("StringBuffer拼接+memory占用内存: " + memory);//1950488
        }
    }
  • 相关阅读:
    去哪网 2014.9.25 笔试题
    关于 Private strand flush not complete
    以太网数据帧相关
    Java根据年份算出所属的生肖。
    DWR常用<init-param>参数
    更新ORACLE数据时遇到锁死情况的处理
    Debug of bash , perl and python
    2013长沙网络赛H题Hypersphere (蛋疼的题目 神似邀请赛A题)
    I.MX6 wm8962 0-001a: DC servo timed out
    I.MX6 U-boot PWM hacking
  • 原文地址:https://www.cnblogs.com/douyunpeng/p/13691054.html
Copyright © 2011-2022 走看看