Blog

自尊的实质及其动机力量

Content #

自尊(self-esteem)是对自我价值的整体认识,影响我们如何评价自己的特点和能力( 真实且具体的反馈是最好的)。我们的自我概念由很多因素所决定,包括我们扮演的角色,我们所作的比较,我们的社会同一性,我们如何知觉别人对我们的评价,以及成功和失败的经历。

自尊动机影响我们的认知过程:面对失败,高自尊的人会认为他人也和自己一样失败,并夸大自己相对于他人的优越性,以维持自己的自我价值。( 自恋、自尊和攻击性)

尽管一般来讲高自尊优于低自尊,但是研究者发现,很多社会破坏者的自尊都高于平均水平。一个高自尊的人如果遭到社会的排斥而感到威胁或沮丧时,他就具有潜在的攻击性。

From #

社会心理学(戴维·迈尔斯)

自我概念:我是谁

Content #

我们对自我的认识可以帮助我们组织思想和行为。当我们加工有关自己的信息时,我们可以很好地回忆它(自我参照效应)。自我概念包括两个元素: (1)指导我们对与自我有关的信息进行特殊加工的 自我图式(self-schemas)。 (2)我们梦想或害怕成为的可能自我。

文化也会塑造自我( 社会经验对人格和自我概念的影响)。某些人,特别是在崇尚个人主义的西方文化中,假定存在一个独立的自我。还有一些人,主要存在于亚洲和第三世界文化中,假定存在一个相互依赖的自我。

我们的自我认识存在有趣的缺陷( 双重态度系统(dual attitude system))。我们常常不知道自己为什么以这种方式行动( 规划谬误(planning fallacy))。当观察者也无法发现我们行为的有力影响作用时,我们也会忽视它。这些控制我们行为的内部的微妙过程可能与我们对它有意识的、清楚的解释不同。我们也往往会错误地预测自己的情绪( 影响偏差(impact bias))。我们会低估心理免疫系统的力量( 免疫忽视现象(immune neglect)),并且因此倾向于高估我们对重大事件的情绪反应的持久性。

From #

社会心理学(戴维·迈尔斯)

book:社会心理学(戴维·迈尔斯)

导论 #

什么是社会心理学

社会思维 #

社会中的自我 #

焦点和错觉 自我概念:我是谁 自尊的实质及其动机力量 知觉到的自我控制的意义 自我服务偏差 自我表露的管理

社会信念和判断 #

对待生活的正确态度:批判而不愤世嫉俗,好奇而不受蒙蔽,开放而不被操纵。 社会世界的感知 社会世界的判断 社会世界的解释 社会期望的影响

态度和行为 #

态度ABC理论的三个维度 态度对行为的预测 行为对态度的影响 行为影响态度的原因

社会影响 #

基因、文化与性别 #

自然天性和后天教养对人类的影响 性别的相似性和差异性 演化与性别:与生俱来的行为 文化与性别:文化塑造的行为 生物、文化与人格各自的影响

从众和服从 #

从众的概念 经典的从众和服从研究 预测从众的因素 影响个体从众的因素 从众的个体差异 抵制从众的社会压力

说服 #

说服的路径 说服的要素 抵制邪教说服的方法

选择与后悔

Content #

奚恺元和雷德·海斯蒂(Christopher Hsee&Hastie,2006)阐释了选择是如何强化后悔的。如果让员工们免费去巴黎或者去夏威夷旅行,他们会非常高兴;但是,如果让他们在两者之间进行选择,他们可能就不那么高兴了。选择巴黎的人会后悔他们无法得到阳光的温暖和海水的滋润,选择夏威夷的人会后悔他们将欣赏不到那些壮观的博物馆。最近的另一项研究也发现了同样的问题:来自11所大学的毕业生花了很多时间去寻找和评价各种各样的工作机会,但却以高薪和低满足感而告终(Iyengar&other,2006)。

在其他实验中,人们对无法反悔的选择(比如“最后大甩卖”中的选择决定)的满意度比对可以反悔的选择(当允许退款和更换时)的满意度要高。可笑的是,人们似乎喜欢和愿意为推翻这种选择的自由而付出代价。尽管这种自由“可能会让你产生不满意”(Gilbert&Ebert,2002)。

该原则可以解释一种奇怪的社会现象(Myers,2000a):美国国家调查数据显示,过去人们对无法反悔的婚姻(“一次性成交”)表示了更高的满意度。现在,尽管有了更多的婚姻自由,人们却对他们拥有的婚姻表现出较低的满意度。

From #

社会心理学(戴维·迈尔斯)

PLT在ELF中的实现

Content #

ELF将GOT拆分成了两个表叫做“.got”和“.got.plt”。其中“.got”用来保存全局变量引用的地址,“.got.plt”用来保存函数引用的地址,也就是说,所有对于外部函数的引用全部被分离出来放到了“.got.plt”中。另外“.got.plt”还有一个特殊的地方是它的前三项是有特殊意义的,分别含义如下:

第一项保存的是“.dynamic”段的地址,这个段描述了本模块动态链接相关的信息,我们在后面还会介绍“.dynamic”段。第二项保存的是本模块的ID。第三项保存的是_dl_runtime_resolve()的地址。

其中第二项和第三项由动态链接器在装载共享模块的时候负责将它们初始化。“.got.plt”的其余项分别对应每个外部函数的引用。PLT的结构也与我们示例中的PLT稍有不同,为了减少代码的重复,ELF把上面例子中的最后两条指令放到 PLT中的第一项。并且规定每一项的长度是16个字节,刚好用来存放3条指令,实际的PLT基本结构如图所示。 GOT中的PLT数据结构实际的PLT基本结构代码如下:

PLT0:
push *(GOT + 4)
jump *(GOT + 8)
//...
bar@plt:
jmp *(bar@GOT)
push n
jump PLT0

PLT在ELF文件中以独立的段存放,段名通常叫做“.plt”,因为它本身是一些地址无关的代码,所以可以跟代码段等一起合并成同一个可读可执行的“Segment”被装载入内存。

From #

程序员的自我修养

-fomit-frame-pointer

Content #

GCC编译器有一个参数叫做-fomit-frame-pointer可以取消 帧指针(Frame Pointer),即不使用任何帧指针,而是通过esp直接计算帧上变量的位置。

这么做的好处是可以多出一个ebp寄存器供使用,但是坏处却很多,比如帧上寻址速度会变慢,而且没有帧指针之后,无法准确定位函数的调用轨迹(Stack Trace)。所以除非你很清楚你在做什么,否则请尽量不使用这个参数。

From #

程序员的自我修养

i386函数体的标准结尾

Content #

“标准”结尾与“标准”开头正好相反:

  1. 【可选】pop XXX 如有必要,恢复保存过的寄存器(可重复多个)。
  2. mov esp, ebp 恢复ESP同时回收局部变量空间。
  3. pop ebp 从栈中恢复保存的ebp的值。
  4. ret 从栈中取得返回地址,并跳转到该位置。

From #

程序员的自我修养

i386函数体的标准开头

i386函数体的标准开头

Content #

跳转到函数体之后即开始执行函数,而i386函数体的“标准”开头是这样的(但也可以不一样):

  1. push ebp 把ebp压入栈中(称为old ebp)。
  2. mov ebp, esp ebp = esp(这时ebp指向栈顶,而此时栈顶就是old ebp)。
  3. 【可选】sub esp, XXX 在栈上分配XXX字节的临时空间。
  4. 【可选】push XXX 如有必要,保存名为XXX寄存器(可重复多个)。

把ebp压入栈中,是为了在函数返回的时候便于恢复以前的ebp值。而之所以可能要保存一些寄存器,在于编译器可能要求某些寄存器在调用前后保持不变,那么函数就可以在调用开始时将这些寄存器的值压入栈中,在结束后再取出。

From #

程序员的自我修养

帧指针(Frame Pointer)

帧指针(Frame Pointer)

Content #

在i386中,一个函数的活动记录用ebp和esp这两个寄存器划定范围。esp寄存器始终指向栈的顶部,同时也就指向了当前函数的活动记录的顶部。而相对的, ebp寄存器指向了函数活动记录的一个固定位置,ebp寄存器又被称为帧指针(Frame Pointer)。一个很常见的活动记录示例如图所示。 在参数之后的数据(包括参数)即是当前函数的活动记录,ebp固定在图中所示的位置,不随这个函数的执行而变化,相反地,esp始终指向栈顶,因此随着函数的执行,esp会不断变化。固定不变的ebp可以用来定位函数活动记录中的各个数据。在ebp之前首先是这个函数的返回地址,它的地址是ebp-4,再往前是压入栈中的参数,它们的地址分别是ebp-8、ebp-12等,视参数数量和大小而定。ebp 所直接指向的数据是调用该函数前ebp的值,这样在函数返回的时候,ebp可以通过读取这个值恢复到调用前的值。

From #

程序员的自我修养