UPDATE – In order to provide clients a choice on which Java version they would like training on, we are releasing new course codes for Java 8. Our current course codes will stay at Java 7 for those that need that version.
At Web Age Solutions it is important for us to make sure we are offering training that is relevant and appropriate for you. Even though Java SE 8 was released some time ago, clients have taken a while to start using it since most Java environments they ran applications in had not yet added Java 8 support. With the latest versions of all major Java EE application servers offering some type of Java 8 support that dynamic has changed.
We are updating our primary Java training courses to add Java 8 coverage. The primary courses being updated are:
The following courses will remain available using Java SE 7 for clients that need this version.
Since we know that there are also lots of Java programmers that do not need to take a “standard” course but simply need to learn what the changes are with this new version, we are also releasing a new course that covers the most recent changes. This course covers the major changes of Java 8 that will have a significant impact on a wide range of Java applications in addition to a few important Java 7 features that are well known.
So what is new in Java 8? Will it impact your applications? Java 8 is one of the most significant updates to Java in some time. After Oracle bought out Sun, Java 6 was around for quite a while. Oracle decided to release the "easy stuff" in Java 7 while working on some of the more significant changes for Java 8.
While the following is not an exhaustive list of Java 8 changes (you can go here for that) the following are some of the major features that are likely to impact a large cross-section of Java applications.
- Lambda Expressions – This is by far the most impactful change in Java 8. A “Lambda Expression” allows for the definition of an anonymous function that can be used as an object, for example being passed as a method parameter. Besides simplifying code by replacing many usages of anonymous classes, a wide range of features are available as the rest of the Java platform was examined to use Lambda expressions where they made sense.
- Collections Stream API – One place where Lambda expressions is leveraged is the Collections “Stream API”. This lets you perform aggregate operations on a collection of objects. For example, you might want to search through a set of CustomerProfile objects for all of the ones in a certain zip code and age range.
- New Date/Time API – Although Java has always had the concept of ‘Date’ to represent a moment in time, many date and time related operations have been difficult. Even answering the simple question “What was the date of the first Monday in November last year?” would be very complex. The addition of the Date/Time API in Java 8 is meant to provide standard tools for these kinds of use cases. This has long been a need in Java and now you won’t need third party libraries to address this need.
- Concurrency changes – Although Java concurrency is not new, Java 5 and Java 7 introduced significant features in this area. Java 8 continues to expand this area of Java programming, of particular importance since the impact of efficiently using multiple CPU processors, for example, can realize a significant improvement in performance.
- Default methods – Currently, if you want to change the API of an interface, any implementing class is forced to implement the new functionality. With Java 8 “default methods” you can add a new method to an interface along with a “default” implementation. This implementation would be used for older classes that implement the interface but do not provide a unique implementation of the new method. This could help you add new functionality to systems while minimizing the impact on existing, and already proven, libraries.
As I mentioned this is nowhere near absolutely all of the new changes in Java 8 but certainly most of the most significant.
Besides the above courses that are being updated and released, we will also soon have a webinar that covers some of these changes as well. Keep an eye on our webinar page for when that is scheduled.