Published at DZone with permission of its author, adam bien.
Jigsaw will come with JDK 1.7 and is now part of the openjdk project and so opensource. Other JDK implementations could simply reuse it.It will become interesting, because:
- It will be shipped with every Oracle / Sun JDK 1.7 (at least it was the plan)
- Jigsaw will partition JDK 1.7 and will be loaded before most of the
rt.jar code. So is already there - no reason to introduce another
- Its pragmatic: you can split packages across modules. Package
splitting isn't a best practice, but makes the incremental
modularization of legacy projects a lot easier
- Modules are loaded statically - no reloading. This is good enough
for the most projects. Its funny - but in most NetBeans RCP / Eclipse
RCP projects we had to deactivate the ability to load modules
dynamically in production :-). Server operators don't like dynamic
- It seems like there will be only one classloader, which will load
all modules. This will eliminate majority of NoClassDefFoundErrors.
- javac will be jigsaw aware - this is a major advantage. Module dependencies should be checked as early as possible - it fits well with the nature of Java.
- Jigsaw should increase the classloading performance and significantly reduce the size of the jars and so the deployment
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)