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
    
  • 相关阅读:
    js中的数据类型和判断数据类型
    MVC,MVVM,MVP等设计模式的分析
    mvc框架详解
    插件推荐系列
    响应式区间
    js短路原理:&&, ||
    不错的表单样式
    测试ip
    Python模拟登陆万能法
    iphone 端 ipunt输入框光标偏移
  • 原文地址:https://www.cnblogs.com/zhouj-happy/p/12185231.html
Copyright © 2011-2022 走看看