Track: Java e JVM: Inovações no Ecossistema e Linguagem

Sala: 2 Nova York

Dia da semana: Segunda-feira

A maturidade, padrões, multiplataforma, retrocompatibilidade e a maior comunidade de desenvolvimento do mundo são algumas das características que tornam o Java a principal plataforma de desenvolvimento. Uma das características mais  interessantes da plataforma a sua aplicação nas mais distintas áreas de negócio, entre elas, o  mercado financeiro, acadêmico, saúde, entretenimento entre muitos outros.
A trilha Java Moderno irá explorar a aplicação da plataforma nas novas buzzwords no mundo do desenvolvimento de software como por exemplo reactive, microservices, além das novidades do Java 9, 10 e 11.

Track Host: Otavio Santana

Senior Software Engineer na SouJava JCP-EC

Otávio é engenheiro de software, com grande experiência em desenvolvimento open source, com diversas contribuições ao JBoss Weld, Hibernate, Apache Commons e outros projetos. Focado em desenvolvimento poliglota e aplicações de alto desempenho, Otávio trabalhou em grandes projetos nas áreas de finanças, governo, mídias sociais e e-commerce. Membro do comitê executivo do JCP e de vários Expert Groups de JSRs, é também Java Champion e recebeu os prêmios JCP Outstanding Award e Duke's Choice Award.

10:50am - 11:35am

Type Inference: Friend or Foe

Java 10 has local variable type inference, but type inference is not really new in Java. Is type inference good or it is it bad? Are there challenges to use them? When is a good time to use type inference? What are some of the limitations to using it. This presentation includes the details of Java 10 type inference, but certainly will not limit to it. We will step back and discuss type inference from the programmer point of view and work thought the benefits and caveats. At the end of this presentation you will be able to decide when to use it and where to avoid it.

Venkat Subramaniam, Founder of Agile Developer, Inc.

11:50am - 12:35pm

Reactive Spring

Microservices and big-data increasingly confront us with the limitations of traditional input/output. In traditional IO, work that is IO-bound dominates threads. This wouldn't be such a big deal if we could add more threads cheaply, but threads are expensive on the JVM, and most other platforms. Even if threads were cheap and infinitely scalable, we'd still be confronted with the faulty nature of networks. Things break, and they often do so in subtle, but non-exceptional ways. Traditional approaches to integration bury the faulty nature of networks behind overly simplifying abstractions. We need something better.

Spring Framework 5 is here ! It introduces the Spring developer to a growing world of support for reactive programming across the Spring portfolio, starting with a new Netty-based web runtime, component model and module called Spring WebFlux, and then continuing to Spring Data Kay, Spring Security 5.0, Spring Boot 2.0 and Spring Cloud Finchley. Sure, it sounds like a lot, but don't worry! Join me, your guide, Spring developer advocate Josh Long (@starbuxman), and we'll explore the wacky, wonderful world of Reactive Spring together.

Josh Long, Programmer the Spring team at Pivotal

2:05pm - 2:50pm

Graal: How to use the new JVM JIT compiler in real life

With JEP 317: Experimental Java-Based JIT Compiler in JDK 10, Graal is now part of OpenJDK. In fact, Graal is already available in JDK 9 due to JEP 243: Java-Level JVM Compiler Interface. Graal is itself written in Java and that brings some new properties and behavior to the table which we haven’t seen with existing HotSpot JIT compilers. This talk will show how to use Graal with JDK 10, how to compile an upstream Graal version and what to look out for when using it for benchmarking or even in production.s

Chris Thalinger, Staff Software Engineer at Twitter

3:05pm - 3:50pm

Welcome to the Reactive Revolution:RSocket and Spring Cloud Gateway

As more applications are experiencing the benefits of using a reactive programming model, one of the biggest problems they experience is the mismatch between Reactive Stream back pressure and current networking protocols. The RSocket protocol enables Reactive Streams back pressure to be transmitted across a network link connecting reactive flows in multiple applications to directly affect one another in a positive way. In addition to introducing the RSocket protocol and how to use it, this talk will show integration with Spring Cloud Gateway and how it, combined with RSocket, can create a type of messaging gateway.

Spencer Gibb, Principal Software Engineer at Pivotal, Inc.

4:05pm - 4:50pm

Serverless Java

There are a couple of definitions out there for what serverless is or isn’t, one of them being stateless compute containers that last for only one invocation. This is better known as functions as a service, or FaaS. This session presents a gentle introduction to serverless and FaaS, what it means for developers, and why it is important to understand this paradigm. It then turns to solutions available for developing serverless applications, or functions, with Java.

Ivar Grimstad, Principal Consultant at Cybercom Sweden

5:20pm - 6:05pm

Quarkus and GraalVM: booting Hibernate at supersonic speed, subatomic size

GraalVM is rocking the Java world! With native images we can get boot times measured in milliseconds and very low memory consumption.

Improving efficiency of orders of magnitude compared to typical JVM based microservices allows to consider Java in areas it was previously unfit for.

But there’s no free lunch: the radical new architectural choices of these native images imply both strong benefits and significant limitations; limitations which will break your existing dependencies as they were designed in a different era. All libraries must be adapted, or you will hit very surprising cryptic error messages.

Come listen to how we created Quarkus, how it works and how it’s able to get complex libraries such as Hibernate ORM compatible with GraalVM native images, and how the architecture of Quarkus also benefits efficiency on normal HotSpot.

But it’s not only about memory and bootstrap times - Quarkus takes this opportunity to rethink what a modern platform could give you, such as support for live-reload baked in. I will show some hands-on demos, but unfortunately, these take no more than 5ms :) We’ll have time for lots of demos!

Sanne Grinovero, Hibernate team lead, Sr Principal Software Engineer at Red Hat


Segunda-feira, 6 de maio

Terça-feira, 7 de maio

Quarta-feira, 8 de maio