zoukankan      html  css  js  c++  java
  • StringBuffer 和 StringBuilder的区别

    1. 一个线程安全,一个不安全
    2. 不断调用toString方法,buffer不回重复new一个对象,但是builder会。
        @Test
        public void testBuffer() throws Exception {
            StringBuffer buffer = new StringBuffer("aaa");
            String s1 = buffer.toString();
            String s2 = buffer.toString();
            String s3 = buffer.toString();
    
            Field value = String.class.getDeclaredField("value");
            value.setAccessible(true);
            char[] o1 = (char[]) value.get(s1);
            char[] o2 = (char[]) value.get(s2);
            char[] o3 = (char[]) value.get(s3);
            System.out.println((Object) o1);
            System.out.println((Object) o2);
            System.out.println((Object) o3);
        }
    //    [C@6996db8
    //    [C@6996db8
    //    [C@6996db8
    
    
        @Test
        public void testBuilder() throws Exception {
            StringBuilder buffer = new StringBuilder("aaa");
            String s1 = buffer.toString();
            String s2 = buffer.toString();
            String s3 = buffer.toString();
    
            Field value = String.class.getDeclaredField("value");
            value.setAccessible(true);
            char[] o1 = (char[]) value.get(s1);
            char[] o2 = (char[]) value.get(s2);
            char[] o3 = (char[]) value.get(s3);
            System.out.println((Object) o1);
            System.out.println((Object) o2);
            System.out.println((Object) o3);
        }
    //    [C@6996db8
    //    [C@1963006a
    //    [C@7fbe847c
    
  • 相关阅读:
    2016/11/2
    2016/11/1
    bzoj 3809: Gty的二逼妹子序列
    bzoj 1207: [HNOI2004]打鼹鼠
    bzoj 1191: [HNOI2006]超级英雄Hero
    BZOJ 1854: [Scoi2010]游戏
    BZOJ 1296: [SCOI2009]粉刷匠
    BZOJ 1787: [Ahoi2008]Meet 紧急集合
    tarjan算法
    高级的暴力(一)——分块
  • 原文地址:https://www.cnblogs.com/zhouj-happy/p/12185231.html
Copyright © 2011-2022 走看看