liangdu 最近的时间轴更新
#网站流量统计# ga 统计 45ip , wordpress 插件统计 250ip , cloudflare 统计 600ip。我该信谁?
2018-11-12 13:08:01 +08:00
liangdu

liangdu

V2EX 第 243448 号会员,加入于 2017-07-21 10:17:55 +08:00
今日活跃度排名 15982
广州天河-9377 游戏-内推 Java
酷工作  •  liangdu  •  2019-03-13 20:13:13 PM
确认一下 Github 是不是被挂了
每个月都会出现的那种主题  •  liangdu  •  2017-10-15 18:59:13 PM  •  最后回复来自 liangdu
11
liangdu 最近回复了
贵公司很尊重人才
有可能是脉脉本身乱,所以视角才显得乱,所以我才来 v 站。
@amiwrong123 有 cas 地方都有 volatile 的,不能单单讨论两句赋值依赖性,要结合整个函数来来看是否线程安全。

这里不存在重排问题,只是涉及 cas 可见性而已。但和我们上面讨论的不是一起回事哦!
颠倒两句赋值语句是否会影响最终的结果关键在于 return 的写法是否有考虑 4 种情况(如果是单线程,只有 2 种,要么全为空,要么,全为非空),

明显上面代码只 return 逻辑只考虑 3 种情况(没考虑 tail 非空,head 空的情况会空指针异常)


emmmmm 你要说这代码不好?但是不这么写你的逻辑就要加个多一次判断了,重新给 head 赋值了。

至于你说的 happenbefore 原则,推理得不错,没想多,自信点,只是你对“语序逻辑是否依赖”没理解对而已,其实是有依赖的,所以 CAS 最恶心的地方就是为了降低锁的粒度而不得面对更复杂的场景(结果是好的,但增加理解的难度,优劣就不讨论了)。
360 天前
回复了 xiangyuhahah 创建的主题 程序员 野生程序员干外包的一年体会.
你老大好就好在:如果换做其他人做你老大,你估计会转行,能遇到这样的人,真的幸运。
2020-04-13 10:43:41 +08:00
回复了 deppwxq 创建的主题 Java 你真的会写单例模式吗
用 final static 代替 volatile 更好
2020-04-12 11:13:04 +08:00
回复了 x97bgt 创建的主题 问与答 Java 是动态类型的语言吗?
@x97bgt
- 是两种概念。

- 其实和“是否为静态类型”没有关系,只是告诉你 JVM 实现有这么一个特点。

- “在编译后并不能完全确保变量的调用过程是安全的,在运行时还要再做检查”。 对的。
2020-04-12 00:31:43 +08:00
回复了 x97bgt 创建的主题 问与答 Java 是动态类型的语言吗?
静态语言,编译器时就可以确定类型。

我们从 jvm 的字节码可以通过 fieldInfo 表中的 classInfo 索引确定 java 类成员的具体类型,所以很肯定的说 java 是一门静态语言。

“动态”的类型安全语言,是对虚拟机的实现的要求。类型安全是指,语义安全(这个我不懂)和安全访问非堆内存(不越界之类的)。动态的类型安全语言区别于静态的类型安全,在于要求 jvm 的运行时不停的做这个“类型安全监测”。

明白这一点,我们就知道 jvm 实现要求真高(如果减少安全检测 jvm 应该可以提速),这是“动态的类型安全语言”的性质之一。

其实是“动态的类型安全语言”,对内存访问是有做安全检测的,所以,可以看得出 java 是一门严谨的语言。
2020-02-23 02:03:13 +08:00
回复了 RedisMasterNode 创建的主题 Redis 字节跳动一面复盘 & Redis 多线程 IO 模型
哈哈,面试官在用心的引导你到正确的放心,看得出相当耐心。

另外建议了解一下 redis 的作者,以及它设计 redis 的偏执点(大概就是偏执于让 redis 简单,接口使用起来简单,整理设计简单。甚至不愿意优化性能。)
关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2567 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 15ms · UTC 11:24 · PVG 19:24 · LAX 04:24 · JFK 07:24
♥ Do have faith in what you're doing.