Getting the size of an object

Java does not know a sizeof operator as C++ does. But you may try something like getting the amount of free memory through the method freeMemory() in the Runtime class:

public class MyObject
   private int a[] = new int[1000];
   public static void main(String []args) {
      long fmstart = Runtime.getRuntime().freeMemory();
      Object o = new MyObject();
      long fmend = Runtime.getRuntime().freeMemory();
      System.out.println("Size of a MyObject object = " + (fmstart - fmend));

You can’t rely on this code because you do not have control over the Garbage Collector thread that makes the amount of free memory fluctuate.
Another trick is to serialize the state of the object you want the size of and deduct information from that.

But think again, do you really need the capability of knowing the exact number of bytes of an Object? Probably not.