当前位置:w88优德官网网文章中心网站开发Java → .net与Java中关于字符串连接处理的对比

.net与Java中关于字符串连接处理的对比

减小字体 增大字体 作者:w88优德官网网  来源:www.cuoxin.com  发布时间:2014-2-15 21:23:19
最近和一位朋友在利用java做一个多语工具,他是java出身,而我是.net出身,最近刚开始搞java,发现他在处理字符串连接时使用的是StringBuffer,而我使用的是StringBuilder(.net中推荐的字符串连接的类,Java也有这个类,所以就用了),偶,“StringBuffer”是什么东东,它与StringBuilder有什么区别。一、常量字符串连接1、.net例如string str = "This is " + " a " + "test.";编译后,我们使用reflector反编译一下,可以看到编译器已经给我们计算出了结果,避免了每次运行都重新计算,提供了效率。string str="This is  a test.";
例如2、JavaString str=“This is ”+" a "+"test.".编译后再反射,将得到类似下面的结果。String abc=new StringBuilder("This is ").append(" a ").append("test.").即每次运行时都要重新计算一下。总结:从这点看.net关于常量字符串的处理要比java快,因为它在编译时已进行了计算,运行时就是个常量。二、StringBuilder和StringBuffer1、.net中只有StringBuilder,没有StringBuffer,且该类是非线程安全的。以下是msdn中关于StringBuilder在线程安全方面的描述线程安全此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。2、JAVAStringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全)两者均继承自AbstractStringBuilder,其内部方法均是对其父类相应方法的调用,可以看作它们均是AbstractStringBuilder的包装类,只不过一个是线程安全的包装(StringBuffer),另一个是线程非安全的包装(StringBuilder)。 StringBuffer的定义:public final class StringBuffer
extends AbstractStringBuilder implements java.io.Serializable, CharSequence{ public StringBuffer() { super(16); } public StringBuffer(int capacity) { super(capacity); }StringBuilder的定义
public final class StringBuilder
extends AbstractStringBuilder implements java.io.Serializable, CharSequence{ public StringBuilder() { super(16); } public StringBuilder(int capacity) { super(capacity); }下面看一下两者对append(String str)的处理
StringBuffer:public synchronized StringBuffer append(String str) {
super.append(str); return this; }StringBuilder:public StringBuilder append(String str) {
super.append(str); return this; }对比以上两部分代码,可以发现两者代码基本一样,都是对父类相应方法的调用,不同的只是StringBuffer多了一个关键字synchronized,保证方法调用的原子性,即线程安全,这是要消耗系统资源的。总结:多线程环境建议使用StringBuffer,它是线程安全的;单线程或者是多线程但是不存在多个线程同时操纵同一个StringBuilder实例的环境使用StringBuilder。

本文引用网址:
在下列搜索引擎中搜索“.net与Java中关于字符串连接处理的对比”的相关信息:
谷歌搜索 百度搜索 360搜索 雅虎搜索 搜狗搜索 搜搜搜索 必应搜索 有道搜索
你可能还喜欢以下文章
  • 1如何做爱真人示范图片 男女ML常...
  • 2情侣酒店开房qvod 情侣做爱视频...
  • 3怎么做爱舒服?真人示范做爱姿...
  • 4如何做爱更舒服?教你做爱72式...
  • 5雨后小故事 qq表情姐弟雨后小故...
  • 1dede:arclist 实现分页!-织梦...
  • 2免费软文发布平台汇总
  • 3dedecms实现频道封面和列表页调...
  • 4织梦DEDECMS {dede:field name...
  • 5首页flash幻灯片不显示解决方法...
  • 1嫩白少妇与猛男户外疯狂车震遭...
  • 2怎样爱爱最爽?性爱姿势真人图...
  • 3中国女大学生的淫靡生活
  • 4舒淇艳照门事件 舒淇不雅照ed2...
  • 5合肥艳照门事件 合肥艳照门全套...
  • 1如何做服务器安全维护?有哪些...
  • 2Windows Server 2003系统性能优...
  • 3IIS中的 MIME类型
  • 4设置不求人:搞懂任务栏显示项目...
  • 5远程管理Win2003服务器技巧
  • 赞助商广告

    图片文章导读