String?: 字符串常量? StringBuffer? : 线程安全的字符串变量 StringBuilder? : 非现场安全的字符串变量 String 类型,String是不可变对象,对String对象的每一次赋值,都是先生成一个新的String对象,然后...
分类:
其他好文 时间:
2015-08-12 13:27:09
阅读次数:
197
immutable简介 不可变对象永远不会发生改变,其字段的值只在构造函数运行时设置一次,其后就不会再改变。例如JDK中常见的两种基本数据类型String和Integer,它们都是不可变对象。为了理解immutable与mutable的区别...
分类:
编程语言 时间:
2015-08-04 17:26:02
阅读次数:
126
字符串基本操作1. String及其常见API1.1. String是不可变对象由于字符串在实际开发中被广泛使用,那么在频繁使用某个字符串时,会出现频繁创建一个字符串对象的现象,java为此对字符串的使用采用了一个优化措施,使得Stirng对象为不可变对象,一旦在内存中创建,内容不能发生变化,若要对字符串内容改变,那么就会创建新对象。这样做的目的是可以最大程度的重用相同内容的字符串以减小系统资源的开...
分类:
编程语言 时间:
2015-08-04 13:36:48
阅读次数:
137
这个我经常用的是String,说真的,用StringBuffer的次数还真是少,唯一让我觉得特别的方法就是appand这个方法是StringBuffer独有的,那么他们到底有什么区别呢,我们知道String是字符串,而字符串是对象,对象里有一个概念叫做可变对象和非可变对象,String属于非可变.....
分类:
其他好文 时间:
2015-07-30 00:42:56
阅读次数:
116
String:是对象不是原始类型.为不可变对象,一旦被创建,就不能修改它的值.对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.String 是final类,即不能被继承.StringBuffer:是一个可变对象,当对他进行修改的时候不会像String那样重新建立对...
分类:
其他好文 时间:
2015-07-19 09:55:53
阅读次数:
104
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全)1.String是不可变对象,所以对String类型进行改变的时候等于生成了一个新的String对象,然后将指针指向新的String对象,所以经常改变内容的字符串最好不要用St...
分类:
其他好文 时间:
2015-07-16 02:03:27
阅读次数:
96
可变状态越少就越容易确保线程安全性。尽量将域声明为final类型。不可变对象一定是线程安全的,他能降低并发编程的复杂性,更为简单而且安全可以安全共享发布对象且无需使用同步机制。封装有助于管理复杂性,尽量不要将变量发布出去,也就是共享,尽量封装于对象或者线程内。用锁保护每一个可变变量。当保护同一个不变...
分类:
编程语言 时间:
2015-07-08 20:20:28
阅读次数:
121
dict内部存放的顺序和key放入的顺序是没有关系的
和list相比较,dict有以下几个特点:
1.查找和插入的速度极快,不会顺着key的增加而增加
2.需要占用大量的内存,内存浪费多
而list相反:
1.查找和插入的时间随着元素的增加而增加;
2.占用空间小,浪费内存很少。
所以,dict是用空间来换取时间的一种方法。
dict可以用在需要高速查找的很多地方。
需要牢记的第一条就是dict的key必须是不可变对象。
这是因为dict根据key来计算value的存储位置,如果每次计算
相同的key得...
分类:
编程语言 时间:
2015-06-29 10:15:40
阅读次数:
148
一、String 关于String类型变量,我们必须知道String并不是基本数据类型,而是一个对象,String对象为不可变对象,一旦在内存中创建,内容不能发生变化,若要对字符串内容改变,那么就会创建新对象。
分类:
编程语言 时间:
2015-06-24 23:57:01
阅读次数:
204
注意可变对象java.util 中的 Collections 类旨在通过取代数组提高 Java 性能。如您在 第 1 部分 中了解到的,它们也是多变的,能够以各种方 式定制和扩展,帮助实现优质、简洁的代码。Collections 非常强大,但是很多变:使用它们要小心,滥用它们会带来风险。1. Lis...
分类:
编程语言 时间:
2015-06-24 18:46:29
阅读次数:
235