Java Champion / JavaOne Rockstar Adam Bien ( is a self-employed consultant, lecturer, software architect, developer, and author in the enterprise Java sector. He is also the author of several books and articles on Java and Java EE technology, as well as distributed Java programming. adam has posted 59 posts at DZone. View Full User Profile

Jigsaw / JDK 1.7 Will be the Solution for 80% of the Modularization Challenges

  • submit to reddit

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:

  1. It will be shipped with every Oracle / Sun JDK 1.7 (at least it was the plan)
  2. 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
  3. 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
  4. 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.
  5. It seems like there will be only one classloader, which will load all modules. This will eliminate majority of NoClassDefFoundErrors.
  6. 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.
  7. Jigsaw should increase the classloading performance and significantly reduce the size of the jars and so the deployment
Published at DZone with permission of its author, adam bien.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)



Thomas Eichberger replied on Tue, 2010/03/02 - 2:29am

It might be true that Jigsaw really solves a lot of modularization problems for a lot of people (but I hope it's not really 80%, but less), nevertheless I hope there will be good co-working between Jigsaw and OSGI, because OSGI solves a lot of additional problems in a very good way. Maybe OSGI is for more advanced developers. And I really wish we had only one version number system, not Jigsaw, Maven, OSGI, ...

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.