JAVA之StringBuffer测试样码

这类操作大同小异,但是,高手却能从String,StringBuilder,StringBuffer的应用场景和性能上,分析出其在JAVA编译和JVM上的实现过程差别。

我在CSDN上就看到一个高手分析过。

http://blog.csdn.net/clam_clam/article/details/6831345

http://www.cnblogs.com/dolphin0520/p/3778589.html

public class StringBufferDemo {
  public static void main(String[] args) {
    System.out.println("----------------------");
    createString(new StringBuffer("hello java"));
    System.out.println("----------------------");
    deleteString(new StringBuffer("hello java"));
    System.out.println("----------------------");
    replaceString(new StringBuffer("hello java"));

  }
  public static void createString(StringBuffer stringBuffer) {
    stringBuffer.append("hello").append("java").append(520).append(true);
    System.out.println(stringBuffer);
    stringBuffer.insert(0, "heima,");
    System.out.println(stringBuffer);
  }
  public static void deleteString(StringBuffer stringBuffer) {
    stringBuffer.delete(0, 6);
    System.out.println(stringBuffer);
    stringBuffer.deleteCharAt(1);
    System.out.println(stringBuffer);
  }
  public static void replaceString(StringBuffer stringBuffer) {
    stringBuffer.replace(6, stringBuffer.length(), "world");
    System.out.println(stringBuffer);
    stringBuffer.setCharAt(5, ‘,‘);
    System.out.println(stringBuffer);
    stringBuffer.reverse();
    System.out.println(stringBuffer);
  }
}

时间: 2024-08-28 21:23:35

JAVA之StringBuffer测试样码的相关文章

Java源码学习 -- java.lang.StringBuilder,java.lang.StringBuffer,java.lang.AbstractStringBuilder

一直以来,都是看到网上说“ StringBuilder是线程不安全的,但运行效率高:StringBuffer 是线程安全的,但运行效率低”,然后默默记住:一个是线程安全.一个线程不安全,但对内在原因并不了解.这两天终于下定决心看了下源代码,才深刻理解为啥一个线程安全.一个非线程安全. 一名话总结:java.lang.StringBuilder 与 java.lang.StringBuffer 同是继承于 java.lang.AbstractStringBuilder,具体在功能实现大多在 Abs

JAVA上百实例源码以及开源项目

简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级.中级.高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情.执着,对IT的憧憬.向往!此时此景,笔者只专注Android.Iphone等移动平台开发,看着这些源码心中有万分感慨,写此文章纪念那时那景! Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能.编辑音乐软件的朋友,这款实例会对你有所帮助.Calendar万年历 1个目标文件EJ

JAVA的StringBuffer类

JAVA的StringBuffer类 Posted on 2009-12-03 16:42 火之光 阅读(123734) 评论(5) 编辑 收藏 StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类. 所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入.删除等操作,使用StringBuffer要更加适合一些. 在S

《java.util.concurrent 包源码阅读》13 线程池系列之ThreadPoolExecutor 第三部分

这一部分来说说线程池如何进行状态控制,即线程池的开启和关闭. 先来说说线程池的开启,这部分来看ThreadPoolExecutor构造方法: public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue, ThreadFactory threadFactory, RejectedExecut

java实现生成二维码

                                                     java实现生成二维码 二维码vs条形码 最大的区别就是:二维码具有容错功能,当二维码图片被遮挡一部分后,仍可以扫描出来.容错的原理是二维码在编码过程中进行了冗余,就像是123被编码成123123,这样只要扫描到一部分二维码图片,二维码内容还是可以被全部读到. 二维码容错率即是指二维码图标被遮挡多少后,仍可以被扫描出来的能力.容错率越高,则二维码图片能被遮挡的部分越多. 二维码容错率用字母表

java String,StringBuffer,StringBuilder的区别

StringBuilder.StringBuffer的方法都会调用AbstractStringBuilder中的公共方法,如super.append(...).只是StringBuffer会在方法上加synchronized关键字,进行同步. 最后,如果程序不是多线程的,那么使用StringBuilder效率高于StringBuffer ? 这句话并不理解. 1 String String:字符串常量,字符串长度不可变.Java中String是immutable(不可变)的. String类的包

Java集合类库 ArrayList 源码解析

集合类库是Java的一个重大突破,方便了我们对大数据的操作.其中 Arrays 和 Collections 工具类可以帮助我们快速操作集合类库.下面对Java集合类库的源码分析是基于jdk1.7的.今天我们来看看ArrayList的底层实现原理. ArrayList的继承结构图 继承自 AbstractList 抽象类,在上层是 AbstractCollection 抽象类,直接去 AbstractCollection 类去看看. AbstractCollection 类主要实现了 Collec

Java IO 之 OutputStream源码

Writer      :BYSocket(泥沙砖瓦浆木匠) 微         博:BYSocket 豆         瓣:BYSocket FaceBook:BYSocket Twitter    :BYSocket 一.前言 上一篇<Java IO 之 InputStream源码>,说了InputStream.JDK1.0中就有了这传统的IO字节流,也就是 InputStream 和 OutputStream.梳理下两者的核心: InputStream中有几个 read() 方法和 O

8.JAVA之GUI编程键盘码查询器

程序使用说明: 1.本程序由于是java代码编写,所以运行需安装jdk并配置好环境变量. 2. 复制java代码到记事本内,另存为Keyboard_events.java: 3.复制批处理代码到记事本内,另存为运行.bat. 4.双击运行.bat批处理即可执行,当前窗体必须为软件界面才能查询. 批处理代码: @echo off javac Keyboard_events.java java Keyboard_events @pause del *.class Java代码: import jav