Track: Modern Java Reloaded

Location: Majestic Complex, 6th fl

Day of week: Thursday

We’ve seen a number of groundbreaking changes in Java over the last year. With the Java ecosystem moving faster than ever, it’s important to stay current and up to date with each new release. This track is designed to help you learn more about the ever evolving Java landscape and see how you can incorporate these exciting new features and capabilities into your software.

Track Host: Kristen O'Leary

Technology Associate @GoldmanSachs

Kristen O’Leary is an associate at Goldman Sachs in the Platform group, which is responsible for many of the firm’s technology tools and frameworks. Kristen has contributed several container, API, and performance enhancements to Eclipse Collections. She has also taught classes internally and externally about the framework.

CASE STUDY TALK (50 MIN)

10:35am - 11:25am

Efficient Fault Tolerant Java with Aeron Clustering

Distributed systems present a number of challenges. Node failure, unreliable networks, resource starvation, and even the unpredictability of time itself can, and do, make our systems complex and fragile. We deserve and can do better. In this session, we will talk about Aeron Clustering, a new means for deploying replicated state machines in Java. Replicated state machines are just a nice way to deploy elegant business logic. What new options are opened up to Java when you combine the speed and efficiency of Aeron with the consensus model of RAFT you might ask? Come to this talk to understand what a replicated and recorded stream of events can do for your business logic.

Todd Montgomery, High Performance Consultant and previously NASA researcher
CASE STUDY TALK (50 MIN)

11:50am - 12:40pm

Invest in Your Java Katalogue

Companies had barely migrated to Java 8 when it was announced that Java would follow a 6-month release cycle.  Java 9 was released last October and is already EOSL.  Java 10 has now been released, but will become old news in September with the release of Java 11.  For many developers, this release cycle requires you to rapidly learn brand new features so as to be current with the ever changing ecosystem.

Our answer for keeping up with Java/JVM language versions has been to develop and evolve a Java Katalogue, which is a set of Coding Katas that can help you learn specific Java language and library features. A code kata is an exercise in programming which helps hone your skills through practice and repetition. These Katas can be used to experiment with different Java versions, JVM languages and libraries. Katas are crucial for learning new skills – but how do you create a kata that teaches you all of the basics?

In this session, we will explain the approach we have taken in developing Java code katas, and discuss best practices around them. We will walk through a number of examples, include katas teaching Java 8, 9 and 10 features, Eclipse Collections, and the Java Time library. 

By attending this session, you will learn how to invest in your own Java Katalogue to help you cope with the ever evolving Java landscape.

Don Raab, Managing Director @BNYMellon, Creator of Eclipse Collections
Aditi Mantri, Principal Developer @BNYMellon
CASE STUDY TALK (50 MIN)

1:40pm - 2:30pm

Effective Java, Third Edition - Keepin' it Effective

Since its release in 2001, Effective Java has been the de facto standard best-practices guide for the Java platform. The book was last updated in 2008, when Java 6 was released. In the intervening decade, the platform has had three major releases, introducing many new language and library features that significantly affect best practices. The recently released third edition of Effective Java contains one new chapter, fourteen new items, and numerous changes to existing items. This talk covers some highlights from the third edition, concentrating on streams and lambdas.

Joshua Bloch, Author of Effective Java, Lead Design of Java Collection API & Carnegie Mellon Professor
CASE STUDY TALK (50 MIN)

2:55pm - 3:45pm

Why Bother With Kotlin - Not Just Another Language Tour

Most presentations introducing a new programming language are really just simple language tours.  A lot of interesting language features are shown but it's not always clear *why* one would choose to adopt that new language. This presentation will start by looking at the layout and syntax of Kotlin projects.  We'll gain a grasp of broad strokes of Kotlin syntax. But from there we'll move to a more in-depth discussion how these new language features combine to present a compelling new alternative to the Java source language.  We'll look at a few "big ticket" features of the language and its ecosystem that do more to distinguish Kotlin than mere syntax sugar alone can provide.

This is talk is largely driven by code from the IDE.  Apart from some initial introductory slides, everything else happens in IDE or the command shell.  The talk is designed to cover a handful of interesting bigger ticket items rather than every single little nuance of the language.  Because, while syntax can be important, ultimately it's not a large factor when it comes to language adoption. Larger scale, dare I say, higher order features that can truly drive productivity ultimately win the day.  This talk is designed to highlight some of those features.

Justin Lee, Principal Software Engineer @RedHat
CASE STUDY TALK (50 MIN)

4:10pm - 5:00pm

Java 11 - Keeping the Java Release Train on the Right Track

Java is now on a fast six-month release cycle. Many enterprises had just finished moving to Java 8 with its new features when Java 9 came out last September 2017. And as of today, the current release of the JDK is 10. These releases will provide enhancements to the JVM and the Java language and offer opportunities for rapid innovation for all Java developers. Every three years, there is a long-term support (LTS) release.

But many major enterprises with LTS are waiting for Java 11 which is the next long term support release before migrating their apps. Some enterprises are moving from Java 8 directly to Java 11.

There are significant new and useful features in the Java 11 releases such as a new local variable syntax for lambda parameters, the HTTP Client standard and a brand-new, low-latency garbage collector (Epsilon - JEP 318).  This session will review code examples of these new features in Java 11, and also features of Java 10. We will also discuss the impact of the new Java release train on production code.

Jeanne Boyarsky, Java developer and ScrumMaster
CASE STUDY TALK (50 MIN)

5:25pm - 6:15pm

"Yo... Ask Me Anything" - Panel of NY Senior Java Developers

Join 5 senior technologists from major enterprises in the New York area discuss their thoughts on the latest trends in Java.  We'll discuss thoughts on the new release model, modules, modern garbage collectors, kotlin for the enterprise, Eclipse stewardship of JEE and even the rising complexity of the Java source language. Bring your questions for our New York panel of experts.

Jeanne Boyarsky, Java developer and ScrumMaster
Don Raab, Managing Director @BNYMellon, Creator of Eclipse Collections
Chandra Guntur, Director @BNYMellon
Justin Lee, Principal Software Engineer @RedHat
Sai Sharan Donthi, Assistant Vice President @CreditSuisse

Tracks