Java Serialization
Serialization converts Java objects into a byte stream, which can then be easily sent to collaborator or stored to a file.
By making classes Serializable, we can simplify reconstruction and network layer implementations.
JDK1.1 AWT events are Serializable.
Since Serialization read/writes entire objects from the socket or file after converting them into a byte stream, system throughput suffers if the data size is large. So we only use it for AWT events.