我试图找出Java Attach API在主要操作系统上使用的进程间通信机制,但我似乎找不到对底层机制的太多参考。
我发现的唯一提及是在这里它指的是 Sun 前段时间开发的 DOORS 进程间通信机制。但我怀疑这是否用于 Windows 或 Mac。大多数文章都描述了 Java Attach API 以及如何加载共享库/DLL,但没有说明 jvisualvm 和本地 JVM 进程之间的通信实际上是如何工作的。
这里提到tools.jar
和libattach.so
(在 Unix 系统上)或attach.dll
(在 Windows 上)负责支持 Attach API,但我找不到关于它们如何在内部工作的详细信息。
那么 Java Attach API 的进程间通信是如何在各个主流操作系统上工作的呢?也就是说,Windows、Mac OSX 和 Linux。