Java千百问_08JDK详解(016)_AttachAPI是什么
2016-07-09 07:50
375 查看
点击进入_更多_Java千百问
我们使用它可以很方便地在运行过程中动态地设置加载代理类(JVMTI Agent),使我们能方便的监控一个JVM,运行一个外加的代理程序。
了解JVMTI Agent看这里:JVMTI是什么
获取当前所有JVM实例的描述。
为指定JVM加载Agent程序。
获取当前所有JVM实例的描述
例子:
执行结果如下:
pid:8536:com.test.jvmti.TestAgent
pid:6697:
为指定JVM加载Agent程序
在《如何编写JVMTI agent程序》这篇文章中有一个完整的实例,清楚的讲解了通过AttachAPI为指定JVM加载Agent程序,具体如下:
了解JVMTI Agent程序看这里:如何编写JVMTI agent程序
1、AttachAPI是什么
Attach API是Sun公司提供的一套扩展API,它并不是Java的标准API。顾名思义,Attach,为JVM附加某些程序。简单来说,就是把一个程序连接到一个正在运行的JVM上,连接之后,这段程序就可以在JVM中运行。这段程序被称为JVMTI Agent程序。我们使用它可以很方便地在运行过程中动态地设置加载代理类(JVMTI Agent),使我们能方便的监控一个JVM,运行一个外加的代理程序。
了解JVMTI Agent看这里:JVMTI是什么
2、AttachAPI提供那些接口
Attach API功能上非常简单,主要提供了如下几个功能:获取当前所有JVM实例的描述。
为指定JVM加载Agent程序。
获取当前所有JVM实例的描述
例子:
public class TestAgent { public static void main(String[] args) throws AttachNotSupportedException, IOException, AgentLoadException, AgentInitializationException { List<VirtualMachineDescriptor> list = VirtualMachine.list(); for (VirtualMachineDescriptor vmd : list) { System.out.println("pid:" + vmd.id() + ":" + vmd.displayName()); } } }
执行结果如下:
pid:8536:com.test.jvmti.TestAgent
pid:6697:
为指定JVM加载Agent程序
在《如何编写JVMTI agent程序》这篇文章中有一个完整的实例,清楚的讲解了通过AttachAPI为指定JVM加载Agent程序,具体如下:
了解JVMTI Agent程序看这里:如何编写JVMTI agent程序
相关文章推荐
- javaWeb开发中读取资源文件方法总结
- String.split
- java设置一段代码执行超时时间
- Java多线程01_可重入函数、可重入锁
- java设计模式:(策略模式)
- spring springdata jpa 报错
- Intellij IDEA中Hibernate中创建的数据类中,无法发现table和列
- java自学循环与选择性语句及表达式语句运算
- 用JAVA日志来写诗
- Java 线程同步(wait、notify、notifyAll)
- Java 泛型 通配符类型
- Java的位运算符详解实例——与(&)、非(~)、或(|)、异或(^)
- rip协议java模拟实现
- java lang NoClassDefFoundError org springframework util MimeType
- Java中巧用字符串连接
- Java使用Tess4J 进行图片文字识别
- JAVA第二课——事件监听以及画板的制作
- java ZXing生成二维码及条码实例分享
- Eclipse中maven项目的三种启动方式
- 常见排序之Java实现