Primary goal is to decrease footprint for small applications and applets.
We can assume that at least on first run graphical application is used in majority of cases.
Therefore several typical scenario can be considered:
1) pure AWT applet
2) small Webstart application
3) FX demo app
4) small swing application run from jar
Based on analysis of what is needed for different applications and recent improvements in the j2se codebase number of improvements are possible. Some examples:
1) Most of application need only few security or xml classes
2) Utility classes should not be pulled into auxilary bundles such as security
(otherwise if app needs only utility class then it has to download extra files)
3) We should not put awt classes into swing bundles because they can be needed
for pure AWT applications
4) Language specific resource files can be moved to separate bundles
and downloaded if lang support is needed
5) Some libraries, such as dcpr.dll can be moved to separate bundles.
These and some other ideas help to reduuce download footprint by 300-1100k depending on application.