The main difference between Beans and native platform controls is that they define a design-time interface, which allows application designer tools, or builder tools to query components and ask them what kinds of properties they define, as well as what kinds of events they can generate or respond to. Beans are best suited to softwarecomponents intended to be visually manipulated within builder tools. Also, GUI bulders are typically one-way tools. They allow you to build your interface visually and generate code from a project file. In most cases, however, if you edit the generated code manually, the changes are not propagated backward to the visual representation of the application in the project file.
Introspection is the mechanism that exposes to the outside world the functionality of a component.
Serialization is the process of storing or retrieving information through a standard protocol. for persistence. The use of the term ServerSocket would seem to be another example of a confusing name scheme in the Java libraries. You might also think that ServerSocket and Socket should both be inherited from some common base class. Indeed, the two classes do have several methods in common but not enough to give them a common base class. To solve this, copy all corrsponding .java and .class fils to diff.