Java 8 is an important upcoming release that changes a lot of things, from the introduction of lambdas and the Stream API to Nashorn JS engine, improved Fork-Join framework and an update of concurrency primitives.

We all have seen examples of those features in presentations and tutorials, however it is interesting to feel how these changes will affect a random project migrating to Java 8.

In this article, we take a small project--in this case a zip archive processing library called zt-zip--and migrate it to Java 8. Is real-world code full of opportunities to use lambda expressions? How easy is it to rewrite your loops using the Stream API?

Armed with Intellij IDEA’s support for Java 8 and a bunch of unit tests, which turn out to be extremely helpful, we modernize our small Java 1.4-compatible project (that’s right! :-D) and note what goes well and what doesn’t.

Read the full article, including code snippets, on RebelLabs here: http://zeroturnaround.com/rebellabs/what-migrating-to-java-8-will-do-to-your-codebase-a-practical-example