zoukankan      html  css  js  c++  java
  • Java中的String,StringBuilder,StringBuffer三者的区别?

    package com.aaa.zxf.ajax.test;
    
    /**
     * 弄清楚  string   stringBuilder   StringBuffer 三者之间的关系?
     *
     *
     * 一、 三者都是用来对字符串进行操作,
     *         String通常用来定义一个变量,
     *         而StringBuilder StringBuffer则通常用来对字符串进行拼接等操作
     *
     * 二、线程安全
     *      在线程安全上,StringBuilder是线程不安全的,而StringBuffer是线程安全的
     *
     * 三、 总结一下
     *   String:适用于少量的字符串操作的情况
     *
     *   StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况
     *
     *   StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况
     *
     */
    public class TestString {
        /**
         *  查看源码  被final 修饰的。
         *  private final char value[];
         *
         *  所以 string 修饰的是定长,不可变的。
         *
         */
        String h0="123";
    
        String h1=new String("12");
    
        String h2=h0 + h1;
    
        /**
         * 得到 "12312"
         *
         * 底层不可变  就会创建三个对象  占用内存
         * 一直都未失去引用 无法回收垃圾
         * 浪费资源
         */
    
        /**
         * StringBuilder 和 StringBuffer 都是继承了AbstractStringBuilder
         *
         * char 没有被final 修饰 内容是可变的。
         *
         */
        StringBuilder hah=new StringBuilder();
    
    
        /**
         * 查看源码得知。。
         * StringBuffer在拼接字符串时,使用了同步锁,安全性提高,而StringBuilder未使用同步锁,故效率提高。
         */
        StringBuffer h = new StringBuffer() ;
    
    
    }
  • 相关阅读:
    声明:此资源由本博客收集整理于网络,只用于交流学习,请勿用作它途。如有侵权,请联系, 删除处理。
    注入点归纳
    网站入侵思路
    关于网上的“人肉”里面的技巧,简单解释
    SQL注入复习
    自己构造注入点方便入侵
    SQL通常注射的一些介绍
    AWVS13破解版安装_Windows
    黑页
    显ipQQ
  • 原文地址:https://www.cnblogs.com/ZXF6/p/11508718.html
Copyright © 2011-2022 走看看