Forum Controls
Spotlight Features

The Rich Engineering Heritage Behind Dependency Injection

Andrew McVeigh takes us on a tour of the rich heritage behind dependency injection, what it represents, and tells us why its here to stay.

NetBeans 6: Matisse Updates

NetBeans 6 delivers great updates to the Matisse GUI builder. Spend a few minutes with Roman Strobl and get an expert briefing on what's new and what has changed.

Introduction to Groovy Part 3

In this, the third and final installation of Andres' Introduction to Groovy series, you learn about how Groovy handles variable numbers of arguments, named parameters, currying, and more about Groovy operators. Including, some new operators.

Easier Custom Components with Swing Fuse

Swing Fuse (actually just Fuse), is a framework designed to make it easier to create your own custom desktop components. In this article, Daniel Spiewak shows you how to get started and provides sample source code you can download.

Benchmark Analysis: Guice vs Spring

Willam Louth shows how he uses JXInsight Probes to investigate probable performance issues with code bases that he is not familiar with. He also highlights possible pitfalls in creating a benchmark, as well as in the analysis of results.
Replies: 3 - Pages: 1  
  Click to reply to this thread Reply

The JVM Tool Interface (JVM TI): How VM Agents Work

URL: java.sun.com

At 9:47 PM on Dec 20, 2006, John Simpson wrote:

A new article on java.sun.com, Sun's main Java site, by Sun developer Kelly O'Hair, titled "The JVM Tool Interface (JVM TI): How VM Agents Work," (http://java.sun.com/developer/technicalArticles/J2SE/jvm_ti/) focuses on VM agents, which are good for assessing what's going on in a JVM. The JVM tool interface (JVM TI) is a standard native API that allows native libraries to capture events and control a Java Virtual Machine (JVM) for the Java platform. These native, or "agent" libraries often form a basis for the Java technology-level tool APIs, such as the Java Debugger Interface (JDI) that comes with the Java Development Kit (JDK). Profiler tool vendors will often need to create an agent library that uses JVM TI. The article explores the basics of writing a JVM TI agent library by walking through the heapTracker demo agent available in the JDK downloads.

I have a question or two for anyone experienced with VM agents: What are the main pitfalls involved in adding an agent library? Are memory leaks as big a problem as O'Hair and others suggest? O'Hair says, "In general, experimentation and time are required to produce a good solution and/or a good, robust agent." Does anyone have advice or rules or principles to share about how to proceed in entering these waters?
2 . At 2:00 AM on Dec 24, 2006, Vyas wrote:
  Click to reply to this thread Reply

Re: The JVM Tool Interface (JVM TI): How VM Agents Work

Interesting article

Thanks
Bioinformatics, Operating Systems and Computer Networks articles
4 . At 8:59 PM on Dec 31, 2006, Genady Beryozkin wrote:
  Click to reply to this thread Reply

Re: The JVM Tool Interface (JVM TI): How VM Agents Work

I'm now trying to write an JVMTI agent, and the main problem IMHO is the lack of proper documentation. You should probably really understand JNI as well as other VM internals (such as GC concepts) before writing it. What I also miss is the lack of complete native implementation of a bytecodes instrumentation library like ASM or BCEL.
Genady Beryozkin
Get the RMI Plugin for Eclipse
6 . At 8:54 AM on Mar 12, 2007, Israr Ahmed wrote:
  Click to reply to this thread Reply

Re: The JVM Tool Interface (JVM TI): How VM Agents Work

More info can be found out on how VM agents work.

sun.systemnews.com/articles/106/4/ja/17426
There certainly have been performance issues with Java. We've been working really hard on them. The primary way we've attacked the problem is with advanced virtual machines. The performance has been getting very nice. --James Gosling, 1999.

thread.rss_message