码迷,mamicode.com
首页 >  
搜索关键字:不可变对象    ( 379个结果
我爱Python之对象的可变性
可变性:指一个对象的值是否可改变。所有Python对象都有三个属性:类型、标识符、值,三个属性几乎总是只读的,在对象的生命周期内它们是不可变的。唯一例外的是对象的值,如果值可变则是可变对象,值不可变就是不可变对象。不可变对象传值,可变对象传引用简单的类型或者“标量”类型,包括整数和其他数字类型,st...
分类:编程语言   时间:2014-11-09 13:53:32    阅读次数:252
java中String类为什么不可变?
在面试中经常遇到这样的问题:1、什么是不可变对象。不可变对象有什么好处。在什么情景下使用它,或者更具体一点,java的String类为什么要设置成不可变类型?1、不可变对象,顾名思义就是创建后的对象不可以改变,典型的例子有java中的String类型。2、相比于可变对象,不可变对象有很多优势: (....
分类:编程语言   时间:2014-11-04 16:32:17    阅读次数:400
java 原型模式之浅拷贝
浅拷贝:java Ojbect类提供的clone只是拷贝本对象,其对象内部的数组和引用对象等都不拷贝,还是指向原生对象的内部元素地址。类引用的成员变量必须满足两个条件才不会被拷贝:1.是类的成员变量而不是方法内变量;2必须是一个可变的引用对象,而不是一个原始类型或者不可变对象(包括int、long、...
分类:编程语言   时间:2014-10-26 18:23:03    阅读次数:224
Java学习笔记(1)String常见面试知识总结
【问题1】什么是不可变对象(immutable object),不可变对象有什么好处,在什么情况下应该用,或者更具体一些,Java的String类为什么要设成immutable类型? 答:从String类的源码中,我们可以知道不可变对象是被final关键字修饰的类产生的对象,其成员变量也是被final修饰的,因此该类不能被修改也不能被继承。 不可变对象的好处主要体现在以下两方面: 1. 不可变对象是线程安全的,可用于多线程。在多线程通信中,某一个变量很可能被多个线程进行修改,因此是不安全的。而不可变对象不能...
分类:编程语言   时间:2014-10-18 22:25:04    阅读次数:243
Java 并发编程(二)对象的不变性和安全的发布对象
满足同步需求的另一种方法是使用不可变对象(Immutable Object)。到目前为止,我们介绍了许多与原子性和可见性相关的问题,例如得到失效数据,丢失更新操作或光查到某个对象处于不一致的状态等等,都与多线程视图同时访问同一个可变的状态相关。如果对象的状态不会改变,那么这些问题与复杂性也就自然消失了。 如果某个对象在被创建后其状态就不能被修改,那么这个对象就被成为不可变对象。线程安全型是不可变对象的固有属性之一,他们的不变性条件是由构造函数创建的,只要他们的状态不改变,那么这些不变性条件就...
分类:编程语言   时间:2014-10-12 23:49:08    阅读次数:326
[每日一题]对比Java中的String、StringBuffer、StringBuilder
今天来个简单的题目,轻松一下:) 相信很多人对这个问题都不陌生,只要是个Java程序员,肯定就用过这几个类: 1、String是个不可变对象,这就意味着每次字符串拼接都是创建了新的实例 2、StringBuilder和StringB...
分类:编程语言   时间:2014-09-25 14:32:49    阅读次数:251
python学习     字典
Python学习字典1)字典的了解1.字典是python中唯一的映射类型(哈希表)2.字典对象时可变的,但是字典的键必须使用不可变对象,并且在一个字典中可以使用不同的类型的键值。3.keys()或者是values()返回列表中或者值列表4.items()返回包含键值对应的元祖1)定义字典的方法和..
分类:编程语言   时间:2014-09-10 19:42:11    阅读次数:262
Concurrency Item - 关于不变性的一些思考
这篇记录一下保证并发安全性的策略之——不变性。下面是一段音乐,歌名是——不可变对象^^将一连串行为组织为一个原子操作以保证不变性条件,或者使用同步机制保证可见性,以防止读到失效数据或者对象变为不一致状态,这些问题都是因为共享了可变的数据。如果我们能保证数据不..
分类:其他好文   时间:2014-09-08 11:00:57    阅读次数:583
python学习笔记06-字典
字典:pytho中唯一映射类型,无序列表(哈希表)对象是可变的,但字典的键必须使用不可变对象,并且一个字典中可以使用不同类型的键值定义方法:-{}如:dic={name:‘zzc‘,age:19,gender:‘man‘}-使用工厂方法dict()列fdict=dice([‘x‘,1],[‘y‘,2])-内建方法:fromkeys()字典..
分类:编程语言   时间:2014-09-05 18:28:42    阅读次数:253
1.4.2 理解使用不可变性的代码
1.4.2 理解使用不可变性的代码   在前面介绍函数式风格的好处时,我们讨论过不可变性(immutability)。我们使用的示例是一个带边框的椭圆,但是代码的具体行为并不清楚。当我们用不可变对象重写了代码以后,它就变得更容易理解。在后面的章节中,我们会回到这个主题并更详细地讨论。此示例的目的是显示在实践中不可变的对象的表现。 再次强调,如果你在此时没能全部掌握,也不要担心。想象一下,我们...
分类:其他好文   时间:2014-07-26 15:01:26    阅读次数:151
379条   上一页 1 ... 35 36 37 38 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!