总算把周志明老师的 Safe-Point 坑给填上了

2020-12-19 00:10:42 +08:00
 lewis89
总算把周志明老师的 Safe-Point 坑给填上了,以前读完 JVM 虚拟机之后,
对 safe-point 控制业务线程流程的实现一直非常好奇,中间也读了 mprotect 调用相关的案例,
因为当时内联汇编玩不转,也玩的不好,也没什么时间抽空空看文档,gdb 用的也不熟练,
今天总算找各种资料,用 gdb + inline 汇编,各种魔改操作 rbp rsp,
实现了拿到信号量之后,又恢复现场的方法。

https://github.com/jonwinters/jvm-suspend-working-thread-mechanism

小弟不才,勉强贡献上一点小资料,对 JVM 挂起业务线程( STW )的机制 做了一个小小的 demo
2339 次点击
所在节点    Java
3 条回复
lewis89
2020-12-19 00:55:06 +08:00
赶脚写 Java 的一般也不关心 底层实现机制与原理,其实用 mprotect 可以实现很多功能 例如协程 垃圾回收停顿 等等
Wincer
2020-12-19 10:44:18 +08:00
@lewis89 #1 虽然工作中不是很关心,但是面试的时候可由不得你不关心(🐶
lewis89
2020-12-19 11:15:15 +08:00
@Wincer #2 哈哈,都差不多,我也是面试的时候用,自己写的时候 还是怎么快,怎么来

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/736941

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX