alt.jiapi.agent
Class DefaultAdvice

java.lang.Object
  extended by alt.jiapi.util.HotSpotAdvice
      extended by alt.jiapi.agent.DefaultAdvice

public class DefaultAdvice
extends HotSpotAdvice


Constructor Summary
DefaultAdvice()
           
 
Method Summary
 void advice()
          Each extending class must provide advice() method.
 
Methods inherited from class alt.jiapi.util.HotSpotAdvice
doHotSpot, getHotSpotName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultAdvice

public DefaultAdvice()
Method Detail

advice

public void advice()
Description copied from class: HotSpotAdvice
Each extending class must provide advice() method. Body of this method is copied into instrumented class.

The exact location, where method body gets copied into, depends how developer writes the method body.

A call to doHotSpot() in method body, is a tagging method call indicating that current hotspot should be executed.

For example, of we have a method foo()...

 public void foo() {
    bar.doSomeThing();
 }
 
...and HotSpotAdvisor.advice():
 public void advice() {
    long l1 = System.currentTimeMillis();
    doHotSpot();
    long l2 = System.currentTimeMillis();
    System.out.println("It took " + (l2-l1) + " ms");
 }
 
...then it would result in instrumented foo() method like
 public void foo() {
    long l1 = System.currentTimeMillis();
    bar.doSomething();
    long l2 = System.currentTimeMillis();
    System.out.println("It took " + (l2-l1) + " ms");
 }

 If a developer does not call doHotSpot() method in
 implementation of advice() method, corresponding hotspot
 gets replaced from instrumented class.

Specified by:
advice in class HotSpotAdvice
See Also:
HotSpotAdvice.doHotSpot()


Copyright © 2001. Documenation generated August 26 2011.