Java 9 is about to be released soon, and as far as I know it would make Java a totally different experience through the inclusion of Java Shell, better garbage collection, micro benchmarking, and so forth. The oracle themselves recommend the java users to adapt the newer version of java since version 8 to avoid the possible exclusion off the production race. Because, over the period of time oracle will reduce the support for the older version of JDK before the version 8.0 eventually. Therefore, JDK 8.0 seems to be a safer inceptive for large production.
I am a huge fan of functional programming, and the inclusion of lambda in JDK 8.0 along with a functional outlook of Scala charmed me. But the matter of the fact is the large scale projects with JDK 7.0 face a challenge of upgrading it overnight. Now here comes the real problem, if you are a Java developer you certainly will install jdk 8.0 after a new version of OS installation in your system. But if you are a cloud developer for instance, many cloud providers yet don’t support jdk 8.0 so you have to install jdk 7.0 too. Moreover, crisis becomes loud when you need to switch between the installation classpath over, and over again. well, well, well.