适应社会而磨平棱角吗

如果成长就是向世界妥协,你愿意为了适应社会而磨平棱角吗?

我也曾经以为我在妥协,后来发现我只是自说自话地感动自己罢了,就像你长大了明白你是两性生殖产生的,而不是像小时候妈妈告诉你,你是路边上捡来的。

这叫妥协吗……?

简单的来讲,套用逼乎模版,我可以说:(太长不看版)

1.先问是不是,再问为什么。成长是认识世界的过程,一草一木皆是世界,臭水沟是世界,乌托邦也是世界,小孩子可能只见识到世界的5%,而20岁的你可能见识到了10%,等四十不惑的时候可能到了25%,当我们悲伤逆流成河地说自己跟世界“妥协”了,你有没有想过,

这个宾语,所谓“世界”,你真的知道是什么吗?到底跟谁妥协的呢?美国国家妥协局?中国人民妥协部?你是在遍历了世界所有元素之后,然后说,这就是世界,我真的看透了,所以我不得不为了生存而修改自己的初心?

查看更多

间歇性踌躇满志,持续性混吃等死

前年,我从130斤减到104斤,这不算苗条的身材来之不易,我十分珍惜。

朋友问我秘诀,不过是迈开腿管住嘴,合理运动健康饮食。

可很多人一听要忌口就放弃追问。

我的同事COCO郑重其事地上门取经,我热情分享运动安排以及饮食菜单。

一周后,我好意问她餐食如何?她说晚上涮完重庆火锅,现在捧着薯片追剧。至于计划中的运动,早就抛到九霄云外。

查看更多

长大后,你发现什么样的人不能深交?

这7类人,摊上任何一个,都会把你的平静的生活,搅碎。全部读完,可以让你避免80%的人际雷区。

1、缺少同理心的自我中心主义人

永远把自己的需求和感受,放在第一位,这种人想必大家都深有感触,深受其害。

比如,

团建组织一起吃饭,问大家吃啥,TA肯定先发言,“不吃辣,不吃蒜,不吃香菜,不吃这个,不吃那个”,然鹅你还没有问到TA。

你跟这种人聊天,TA比比赖赖的总能扯到自己这边。

查看更多

情商50则

1,话别说太满,人别熟太快。
3,不要把别人想得太坏,也不要把别人想得太好,都是凡人。
2,别人自嘲可以,但你千万别附和
4,可以嘲笑你的朋友,但不能嘲笑他喜欢的东西。

34,自嘲是最高境界,而不是嘲笑别人。

6,刚开始和对方不熟悉的时候,聊到晚上十点多对方发来消息就别回复了,第二天早晨再回复,这样又可以聊一天。
7,把“随便”改成“听你的”。
23,把“听明白了吗”换成“我说明白了吗”。
5,把每一句“我不会”都改成“我可以学”
把“谢谢”改成“谢谢你” 并微笑看着对方的眼睛


8,别人骂你你要听,别人夸你你别信。
9,请道歉而不是取笑别人开不起玩笑,你以为谁没有底线只不过还没到底而已。
10,聊天时别人发微笑,你不知道怎么回的话,就回,你笑得真好看。
11,能用表情包解决的就不要说脏话!
12,恰到好处的装逼,适可而止的套路。

13,如果一个人不理你,有可能是对方的问题;如果大家都不理你,那你就要考虑自身问题了。

查看更多

老好人

老好人指的是随和厚道,性格温柔,不愿得罪人,不会拒绝别人,缺乏原则性的人。然而现在社会中普遍反对老好人主义。

心理提示

一直以来,老好人都是以待人热情大方,不会拒绝别人而让你在交际中容易受到大家欢迎,特别是最初阶段。但是,人类都有欺软怕硬心理,在这种心理下,如果你总是习惯性地接受他人的任何请求,常常扮演着一种“老好人”的角色,让人在你身上得寸进尺,那渐渐地你自己也会身心疲惫,早晚有一天会出问题的。
能帮助别人固然很好,但如果总是如此,对方就会得寸进尺,认为你帮忙是理所当然的,感激之情也会淡薄。为了避免这种情况,最好灵活一些,可以偶尔故意拒绝对方的要求。
做人要有自己的尺度,你不是神,也不是大圣人,不可事事做“老好人”,总是对别人谦让,有求必应,这样会让人得寸进尺。
自古以来,什么人都有,恶人,人们恐惧他;善人,人们爱戴他;而那些老好人呢?生活中总是可以看到那些随和厚道的、从不得罪人、看起来似乎没有一点儿脾气儿的,人家什么忙都愿意帮的人。按理来说,这种人应该是最讨人喜欢的,若你遇见了自己不愿意去做的或者懒得去做的事,只要叫一句“某某某,帮我个忙好不好”,一个简单明了的“好”,你就可以潇洒解脱,去做自己喜欢的事情。这多亏了那个热心人啊,怎么着也得给他授予一枚好人勋章吧!可是调查却表明,正是这种不拒绝,也不反抗的人,在“世界上最讨厌的人”排名榜中名列前茅。哎呦,出了力还不得好,为什么会这样呢?

【一、阿伦森效应】

这得归根于有名的阿伦森效应。所谓阿伦森效应,是指伴随奖励减少,态度也逐渐消极;伴随奖励增加,而态度逐渐积极的心理现象。曾经有人做过一个实验,将被试分4组对某一人给予不同的评价,借以观察某人对哪一组最具好感。第一组始终对之褒扬有加,第二组始终对之贬损否定,第三组先褒后贬,第四组先贬后褒,最后在实验对象对数十人进行后,发现大部分人对第四组最具好感,而对第三组最具反感。
阿伦森效应提醒人们,在日常工作与生活中,应该尽力避免由于自己的表现不当所造成的他人对自己印象不良方向的逆转。
老好人在人际交往中吃力不讨好便是这个缘故,当生活的风向改变,他也不得不开口说拒绝。而这唯有的一次拒绝,却比一个贬义词更像是一记巴掌,拍在对方的脸皮上。举例来说吧,有这么一个老好人,第一次,A找他帮忙,他没拒绝;第二次,A又寻求帮助,老好人又帮了他……之后,第三次,第四次,第五次,老好人都毫无意外的帮助A了。但在第无数次的帮忙后,老好人终于因为某些不得已的原因拒绝了A的请求,此时A被激起的愤怒感与失望感将胜于从前的种种,而老好人之前帮A做的所有事情,似乎都在他拒绝A的那一刻起,变得毫无意义。
经过无数次的帮助而建立起来的好感就因为仅有一次的拒绝就被破坏了,这究竟是谁的错?老好人想必也是捶胸顿足,有口难言。可能有人会说“这都是老好人的自作自受,谁让他一直都充当这个老“好人”呢”,但事情远远没有这么简单。

【二、登门槛效应】

很久以前就有人提出了“得寸进尺效应”,也叫做“登门槛效应”,这是指一个人如果接受了别人的一个小要求,那么别人在此基础上再提出一个更高点的要求,这个人也会倾向于接受。
上面所讲的A同志运用的就是得寸进尺效应,因为人的每个意志行动都有其行动的最初目标,在许多场合下,由于人的动机是复杂的,因此常常会面对不同的目标进行比较、衡量和选择,在相同情况下,那些简单易行的目标较容易让人接受并采取行动。另外,人们总愿意把自己调整成前后一贯、首尾一致的形象,即使别人的要求有些过分,但为了维护印象的一贯性,人们也会维持下去。老好人在一开始的时候帮助了A,为了他的美好形象,即使再不情愿,他也会始终的帮助A,所以才会有接踵而来的求助。

【三、摆脱“老好人”的形象】

如何摆脱“老好人”的形象?这个就需要改变你的行为模式。根据吸引力法则,他们会找你帮忙,是因为你是那个“愿意帮忙的人”。
当然,可能有些读者想问,朋友间,总会有不方便、需要帮忙的时候,难道说人家找你帮忙就必须一口拒绝,以免后患吗?我只能说,如果你这么做了,最后倒霉的还是你,你的人际关系和生活最后只会被你的这个“一口拒绝”弄的乱七八糟。对于别人的请求,需要选择性的帮忙,你要戴上辨别是非的眼镜去进行筛选。

查看更多

ThreadLocal

3.1. ThreadLocal简介

通常情况下,我们创建的变量是可以被任何一个线程访问并修改的。如果想实现每一个线程都有自己的专属本地变量该如何解决呢? JDK中提供的ThreadLocal类正是为了解决这样的问题。 ThreadLocal类主要解决的就是让每个线程绑定自己的值,可以将ThreadLocal类形象的比喻成存放数据的盒子,盒子中可以存储每个线程的私有数据。

如果你创建了一个ThreadLocal变量,那么访问这个变量的每个线程都会有这个变量的本地副本,这也是ThreadLocal变量名的由来。他们可以使用 get()set() 方法来获取默认值或将其值更改为当前线程所存的副本的值,从而避免了线程安全问题。

再举个简单的例子:

比如有两个人去宝屋收集宝物,这两个共用一个袋子的话肯定会产生争执,但是给他们两个人每个人分配一个袋子的话就不会出现这样的问题。如果把这两个人比作线程的话,那么ThreadLocal就是用来避免这两个线程竞争的。

3.2. ThreadLocal示例

相信看了上面的解释,大家已经搞懂 ThreadLocal 类是个什么东西了。

查看更多

AtomicInteger线程安全

最近面试被问到一个问题,AtomicInteger如何保证线程安全?我查阅了资料 发现还可以引申到 乐观锁/悲观锁的概念,觉得值得一记。

众所周知,JDK提供了AtomicInteger保证对数字的操作是线程安全的,线程安全我首先想到了synchronized和Lock,但是这种方式又有一个名字,叫做互斥锁,一次只能有一个持有锁的线程进入,再加上还有不同线程争夺锁这个机制,效率比较低,所以又称“悲观锁”。

但是相应的有了乐观锁的概念,他的思路就是,它不加锁去完成某项操作,如果因为冲突失败就重试,直到成功为止。这种说的比较抽象,我们直接拿AtomicInteger源码举例,因为AtomicInteger保证线程安全就是因为使用了乐观锁。

Unsafe 是做一些Java语言不允许但是又十分有用的事情,具体的实现都是native方法,AtomicInteger里调用的 Unsafe 方法 基于的是CPU 的 CAS指令来实现的。所以基于 CAS 的操作可认为是无阻塞的,一个线程的失败或挂起不会引起其它线程也失败或挂起。并且由于 CAS 操作是 CPU 原语,所以性能比较好。

1
2
3
4
5
6
7
/**
* Atomically increments by one the current value.
* @return the previous value
*/
public final int getAndIncrement() {
return unsafe.getAndAddInt(this, valueOffset, 1);
}

查看更多

线上问题排查思路

CPU100%问题如何快速定位

找到占用cpu最高的进程

1
2
# P 排序
top -c

取上一歩的进程pid,查询 占用cpu最高的线程

1
2
# P 排序    11647上一歩的线程pid
top -Hp 11647

线程pid转16进制

1
2
# %x 表示 16进制 ;  \n  强制刷新缓冲区到屏幕   11656上一歩的线程pid
printf '%x\n' 11656

查看更多