总算把周志明老师的 Safe-Point 坑给填上了,以前读完 JVM 虚拟机之后,
对 safe-point 控制业务线程流程的实现一直非常好奇,中间也读了 mprotect 调用相关的案例,
因为当时内联汇编玩不转,也玩的不好,也没什么时间抽空空看文档,gdb 用的也不熟练,
今天总算找各种资料,用 gdb + inline 汇编,各种魔改操作 rbp rsp,
实现了拿到信号量之后,又恢复现场的方法。
https://github.com/jonwinters/jvm-suspend-working-thread-mechanism小弟不才,勉强贡献上一点小资料,对 JVM 挂起业务线程( STW )的机制 做了一个小小的 demo
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/736941
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.