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
    
  • 相关阅读:
    【Learning】积性函数前缀和——洲阁筛(min_25写法)
    GDOI2018记录
    最近公共祖先(一道题目)
    Counting
    【BZOJ4872】【Shoi2017】分手是祝愿
    【BZOJ2654】tree
    数学竞赛
    A
    【bzoj 3131】[Sdoi2013]淘金
    【Never Stop】联赛集训记录
  • 原文地址:https://www.cnblogs.com/zhouj-happy/p/12185231.html
Copyright © 2011-2022 走看看