adam bien's blog
Jigsaw / JDK 1.7 will be the solution for 80% of the modularization challenges 📎
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 framework
- 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 behavior either.
- 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