dict的特点1:查找速度快2:浪费空间3:key不可以重复,且不可变4:数据无序排放dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样。而list的查找速度随着元素增加而逐渐下降。不过dict的查找速度快不是没有代价的,dict的缺点是占用内存大,还会浪费很...
分类:
编程语言 时间:
2014-10-23 10:38:59
阅读次数:
151
1.请简述NSSet、NSArray 、NSDictionary的区别 NSSet、NSArray、NSDictionary 都是属于不可变集合类,在集合类里只能添加对象元素不能添加基本数据类型。 不可变:在创建完集合类后就不能够对他们进行修改。 NSSet: 1.是一个无序的集合 2.在内存中存储...
分类:
移动开发 时间:
2014-10-22 14:18:46
阅读次数:
246
String 类:String 类代表字符串。Java 程序中的所有字符串字面值都作为此类的实例实现。字符串是常量,它们的值在创建之后不能更改。字符串缓冲区支持可变的字符串。因为 String 对象是不可变的,所以可以共享。String 类包括的方法可用于检查序列的单个字符、比较字符串、搜索字符串、...
分类:
编程语言 时间:
2014-10-21 23:09:41
阅读次数:
294
保证并发安全性的方式有三:不共享、不可变、同步前两种方式相对第三种要简单一些。这一篇不说语言特性和API提供的相关同步机制,主要记录一下关于共享的一些思考。共享(shared),可以简单地认为多个线程可以同时访问某个对象。如果仅仅在单线程内进行访问则不存在同步的问题。保证数据的单线程访问称为线程封闭...
分类:
编程语言 时间:
2014-10-21 21:23:10
阅读次数:
278
这篇记录一下保证并发安全性的策略之——不变性。(注意:是Immutable,不是Invariant!)将一连串行为组织为一个原子操作以保证不变性条件,或者使用同步机制保证可见性,以防止读到失效数据或者对象变为不一致状态,这些问题都是因为共享了可变的数据。如果我们能保证数据不可变,则这些复杂的问题就自...
分类:
编程语言 时间:
2014-10-21 21:05:45
阅读次数:
292
Copy&MutableCopy使用copy和mutableCopy方法可以创建一个对象的副本。copy需要实现NSCopying协议创建的是不可变副本(如NSString、NSArray、NSDictionary)mutableCopy需要先实现NSMutableCopying协议创建的是可变副本...
分类:
移动开发 时间:
2014-10-21 19:35:31
阅读次数:
176
String 字符串常量StringBuffer 字符串变量(线程安全)StringBuilder 字符串变量(非线程安全)简要的说,String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于...
分类:
其他好文 时间:
2014-10-21 19:21:53
阅读次数:
220
要想使用标准C++中string类,必须要包含#include // 注意是,不是或cstring,带.h的是C语言中的头文件using std::string;using std::wstring;或using namespace std;
String类是不可变(final)的,对String类的任何改变,都是返回一个新的String类对象.这样的话把String类的引用传递给一个方法,该方...
分类:
编程语言 时间:
2014-10-20 13:33:38
阅读次数:
223
【问题1】什么是不可变对象(immutable object),不可变对象有什么好处,在什么情况下应该用,或者更具体一些,Java的String类为什么要设成immutable类型?
答:从String类的源码中,我们可以知道不可变对象是被final关键字修饰的类产生的对象,其成员变量也是被final修饰的,因此该类不能被修改也不能被继承。
不可变对象的好处主要体现在以下两方面:
1. 不可变对象是线程安全的,可用于多线程。在多线程通信中,某一个变量很可能被多个线程进行修改,因此是不安全的。而不可变对象不能...
分类:
编程语言 时间:
2014-10-18 22:25:04
阅读次数:
243
import scala.collection.mutable.ListBufferimport scala.collection.immutable.{Map =>sMap};//不可变import scala.collection.mutable.{Map =>xMap};//可变object ...
分类:
其他好文 时间:
2014-10-16 20:28:13
阅读次数:
236