寻找Java 7本机代理演示,专门用于Mac或Linux

时间:2013-04-15 23:13:08

标签: java native agents

我多年前就习惯使用Java本地代理,我正在回过头来。我在想......他们发生了什么事?

jdk1.6 / demo / jvmti目录中有一些例子,但是对于Java 7,似乎没有一个demo目录。他们怎么了?

无论如何,我找到了1.6的演示版(在Windows上),我正在尝试使用jdk 1.6在linux和mac上编译它们。 mac没有示例makefile示例,因此这是我最需要帮助的示例。有没有办法使用jdk 1.6编译本机代理? jdk 1.7怎么样?

在linux上,我以某种方式让代理用jdk 1.6编译,但依赖于java_crw_demo代码的代理似乎不起作用。我想我可能错误地编译了它们。

有问题的演示是:

  • agent_util
  • gctest
  • heapTracker
  • heapViewer
  • HPROF
  • java_crw_demo
  • minst
  • 命令mtrace
  • versionCheck
  • 服务员

无论如何,关于代理商的谷歌搜索似乎暗示代理商仍在使用jdk 1.7,但似乎没有曾经有过的示例支持。 Oracle是否试图限制(或日落)代理?

感谢。

1 个答案:

答案 0 :(得分:0)

JVMTI演示可能会也可能不会与您的JDK安装捆绑在一起,具体取决于您从何处获取。他们没有(afaict)来自OpenJDK安装。但无论如何,在Oracle Download Page的所有情况下,演示仍然可用。下载tarball for Mac,将其展开到一个目录,然后浏览它。

在相对文件夹jdk1.7.0_10/demo/jvmti中,您会找到以下演示:

  

drwxr-xr-x @ 5 tuoyo staff 170 11月29日19:30 compiledMethodLoad
  drwxr-xr-x @ 5 tuoyo staff 170 11月29日19:30 gctest
  drwxr-xr-x @ 6 tuoyo staff 204 11月29日19:30 heapTracker
  drwxr-xr-x @ 5 tuoyo staff 170 11月29日19:30 heapViewer
  drwxr-xr-x @ 5 tuoyo staff 170 11月29日19:30 hprof
  drwxr-xr-x @ 6 tuoyo staff 11月29日19:30最短时间
  drwxr-xr-x @ 6 tuoyo staff 204 11月29日19:30 mtrace
  drwxr-xr-x @ 5 tuoyo staff 170 11月29日19:30 versionCheck
  drwxr-xr-x @ 5 tuoyo staff 170 11月29日19:30服务员

每个单独的演示都有一个包含代码的源ZIP文件和一个示例makefile。您很可能需要调整makefile以使构建在目标系统上运行。

另外,您可能需要查看Java Instrumentation API,因为它包装了JVMTI并提供了更方便的界面。