【愛上Java8】VirtualMachine所支持的操作

在JDK中com.sun.tools.attach.VirtualMachine提供了一些從外部進程attach到jvm上,並執行一些操作的功能。VirtualMachine的子類HotSpotVirtualMachine表示hotspot的虛擬機,下面的WindowsVirtualMachine是在windows平臺下的實現。它提供了以下功能:
1. public void loadAgentLibrary(String agentLibrary, String options)
載入一個dll的agent
2. public void loadAgent(String agent, String options)
載入java的agent,官方名字叫做 JPLIS agent ( Java Programming Language Instrumentation Services),並且調用agentmain方法
3. public InputStream remoteDataDump(Object … args)
用於dumptreahd,jstack會用到
4. public InputStream dumpHeap(Object … args)
用於堆的dump,jmap會用到
5. public InputStream heapHisto(Object … args)
堆的柱狀圖的dump ,jmap會用到它
6. public InputStream setFlag(String name, String value)
設置一些標記的值,一些簡單的可以,複雜的不能生效的,jinfo會用到它
7. public InputStream printFlag(String name)
打印標記的值,jinfo需要的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章