看了很多关于java的string的相关知识,这里做一个较为全面的总结,内容转自不同地方的博客,鉴于出处较多,就不一一列举了。java中String、StringBuffer、StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题。现在总结一下,看看他们的不同与相同。String 字符串常量
StringBuffer 字符串变量(线程安全)
String...
分类:
编程语言 时间:
2016-06-30 12:54:06
阅读次数:
254
问:运行Test 函数会有什么样的结果? 由于数组p是栈上数据,返回数组名就是返回栈内存即动态数据区的地址,函数结束会被释放,所以返回的地址也就指向了不确定的位置了,str就成了乱码! 如果改成: 就可以正确的输出了,原因是返回字符串常量的指针,返回的就是静态数据区(常量区)的地址,可以正确打印! ...
分类:
编程语言 时间:
2016-06-28 12:23:23
阅读次数:
168
http://blog.chinaunix.net/uid-27018250-id-3867588.html bss 未初始化的全局数据 data 已经初始化的全局数据 text 代码段,机器指令 rodata 字符串常量 参考:《程序员自我修养》代码编译后的机器指令经常被放在代码段里,代码段名为" ...
分类:
系统相关 时间:
2016-06-21 17:34:13
阅读次数:
352
1、变量 程序运行期间能够被改变的量 定义并初始化 2、常量 程序在运行期间不能被改变的量,它可以是任何基本类型。 比如整数常量、浮点常量、字符常量或者字符串常量,还有枚举常量 常量的定义方法 定义变量时在前面加上一个关键字“const” 3、数据类型 ...
代码段:用来存放程序执行代码的一块内存区域。这部分内存大小在程序运行前已经知道,通常属于只读,其中包括只读的字符串常量,不可改变 BBS段:用来存放存放程序中未初始化的全局变量及静态变量,属于静态内存分配。 数据段:用来存放已初始化的全局变量及静态变量,属于静态内存分配。 堆:用来存放在程序运行中被 ...
分类:
编程语言 时间:
2016-06-17 14:10:34
阅读次数:
168
蝇量模式:让某个类的一个实例能用来提供许多“虚拟实例”。 在有大量对象时,有可能造成内存溢出,把其中共同的部分抽象出来,如果有相同的业务请求,直接返回在内存中已有的对象,避免重复创建。(JAVA中的String,如果没有则创建一个字符串保存在字符串常量池里,否则直接返回) 类图: 某次测试结果: C ...
分类:
其他好文 时间:
2016-06-13 23:22:46
阅读次数:
190
Python中的文本是一些内置类型的常量表示方法。 字符串和字节 字符串是一系列的字符序列,Python中用单引号(''),双引号(""),或者三个单引号(''' ''')三个双引号(""" """)来表示字符串常量。 利用三引号,你可以表示一个多行的字符串。 转义符 假设你想要在一个字符串中包含一 ...
分类:
编程语言 时间:
2016-06-12 15:21:05
阅读次数:
241
String,StringBuffer与StringBuilder的区别?? String,StringBuffer与StringBuilder的区别?? String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全) 简要的说, Str ...
分类:
其他好文 时间:
2016-06-11 15:51:31
阅读次数:
106
摘自:http://www.cnblogs.com/kaituorensheng/p/3776484.html 区别: String类是字符串常量,是不可更改的常量。而StringBuffer是字符串变量,它的对象是可以扩充和修改的。StringBuffer在进行 字符串处理时,不生成新的对象,在内 ...
分类:
其他好文 时间:
2016-06-08 12:26:35
阅读次数:
158
字符串: System表示当前运行平台 字符串有三种类型-String、Stringbuffer、Stringbuilder 特点1:字符串常量也是对象,在加载期就被产生,放到数据段的字符串常量池当中 特点2:String对象一旦产生,内容不可改;每次改变者都是产生了一个新的对象 包装类:int,i ...
分类:
其他好文 时间:
2016-06-06 00:42:17
阅读次数:
154