1 Wrappers so you can use all the Java Runtime Environments with their slightly incompatible APIs with more ease.
3 Used to use an over-engineered "plugin" mechanism although there was only one
4 "plugin", called "sunmajor", that handles all possible JREs.