Past 12 months have been really instrumental for Java community with all these very important releases.
Together, JDK 8 + NetBeans 8 + Java EE 7 +WildFly 8 make an excellent combination for building enterprise Java application.
JDK 8, Java EE 7, and WildFly 8 are also supported in Eclipse and IntelliJ as well. So you are not limited to just NetBeans 😉
I tried Java EE 7 hands-on lab with this combination and every thing worked seamlessly. Now I just need a pull request (issue #12) where the source code is using java.util.stream and Lambdas. Who is going to do it ? 😉
There are tons of new features in JDK 8, the main ones are:
- Lambda Expressions allows you to express instances of single-method classes more compactly. In other words, it allows you to treat functionality as method, or code as data. Read more details in Venkat‘s excellent book on Functional Programming with Java or standard Java tutorial.
- Default methods enable you to add new functionality to an interface. This ensures binary compatibility with code written for older versions of those interfaces. This is different from abstract methods as they do not have a method implementation. Read more details here.
- Repeating annotations allows an annotation to be repeated over a declaration or type use. This is useful if the same annotation needs to be applied multiple times to a class or a method. Read more details here.
- Method parameter names are now available using Reflection API (Parameter.getName()).
- Functional-style programming using the newly added Stream API in
- New tools: jjs to invoke Nashorn engine and jdeps for class dependency analyzer
- New Date-Time API (JSR 310)
- Replacement of permgen with Metaspace (JEP 122) – -XX:PermSize and -XX:MaxPermSize are replaced by -XX:MetaSpaceSize and -XX:MaxMetaspaceSize in java
- Compact profiles
And there are a lot more!
WildFly 8 is Java EE 7 compliant, and in addition also provide tons of features:
- High performance web server (Undertow)
- Role Based Access Control (RBAC)
- Port reduction
- “Core” distribution
Read the complete list here.
Remember that Java EE 7 mandates JDK 7 only, and so even though you can leverage all the runtime improvements made in the Java SE 8 platform but in order to have your application run on a Java EE 7 compliant application server, you may be restricted to JDK 7 only. For example, GlassFish 4 is not even tested on JDK 8. WildFly 8 has been running its test suite on JDK 8 regularly. We may even leverage some of the JDK 8 features in the near future.
No matter what, JDK 8 + WildFly 8 + NetBeans 8 + Java EE 7 together make a very compelling toolset for your enterprise Java. If your applications don’t work, then file a bug on WildFly JIRA.