Heavy weight components like Abstract Window Toolkit (AWT), depend on the local
windowing toolkit. For example, java.awt.Button is a heavy weight component, when
it is running on the Java platform for Unix platform, it maps to a real Motif button.
In this relationship, the Motif button is called the peer to the java.awt.Button.
If you create two Buttons, two peers and hence two Motif Buttons are also created.
The Java platform communicates with the Motif Buttons using the Java Native Interface.
For each and every component added to the application, there is an additional overhead
tied to the local windowing system, which is why these components are called heavyweight.