|
|
||
Michael Nascimento Santos's BlogFebruary 2004 ArchivesPlaying with the Tiger: Measuring the size of your objectsPosted by mister__m on February 05, 2004 at 07:14 PM | Permalink | Comments (4)As I said, I'm back with more on the new JDK 1.5. There is a new package called
import java.lang.instrument.*;
import java.util.*;
public class InstrumentationTest {
private static Instrumentation inst;
public static void premain(String options, Instrumentation inst) {
InstrumentationTest.inst = inst;
System.out.println("options= " + options);
// Get all classes currently loaded by VM
Class[] loaded = inst.getAllLoadedClasses();
// Sort them by name
Arrays.sort(loaded, new Comparator
Save it as javac -source 1.5 InstrumentationTest.java To allow our class to be useful, we have to start the VM using this verbose command: java -ea -javaagent:InstrumentationTest -cp . InstrumentationTest Someone might be asking how it could be useful. As a friend of mine, Bruno Borges, suggested to me, it could give you a good idea if Prevayler is the right tool for your needs. Hope you've enjoyed it. More to come! Playing with the Tiger: Measuring nanosPosted by mister__m on February 05, 2004 at 06:41 PM | Permalink | Comments (10)Ok, sorry for not blogging for so long, but I have to work, date etc. :-D I hope this is the start of a series of small, but informative blog entries about new features available in Tiger, especially the ones a hundred people haven't mentioned before me :-D To begin with, I'll show you how to use the new nanoTime() method in Here's the code:
import static java.lang.System.*;
public class Nano {
public static void main(String[] args) {
long time = 0;
long newTime;
long smaller = 9999999999999L;
for (int i = 0; i < 100000; i++) {
time = nanoTime();
newTime = nanoTime();
smaller = Math.min(smaller, newTime - time);
}
out.println("Smallest nano interval measured: " + smaller);
out.println("Current time millis: " + currentTimeMillis());
out.println("Nano time: " + nanoTime());
}
}
Save it in javac -source 1.5 Nano.java Then run it normally with: java -cp . Nano My results (P4, 1GB RAM, Windows 2000 Pro) are: Smallest nano interval measured: 1116 Current time millis: 1076038988125 Nano time: 8736336585045 This method is intended to be used as a way to measure performance, for instance. Here, I just tried to get its precision in my current box configuration. Please let me know if you get smallest nano intervals in your platform/configuration. See you soon ;-) | ||
|
|