java


Rethinking REST in a Microservices World

Location: Salon D
April 11th, 2016
10:15 AM - 11:15 AM

Microservices are just like monoliths, except you replace components with services, and method calls with REST calls, right? Wrong! An architecture like this will give you all the complexity of microservices, with none of the benefits. Microservices are supposed to promise improved scalability and resilience by isolating services from each other, but this is undermined when all communication between services is synchronous RESTful communication. To realise the full potential of microservices, we need to stop using REST as our go to, and start rethinking our architectures to use asynchronous communication. This presentation looks at how Lightbend Lagom solves some of
Read more  »

James Roper

Core Team, Play Framework

From Concurrent to Parallel: Understanding Parallel Stream Performance in Java SE 8

Location: Salon C
April 11th, 2016
4:00 PM - 5:00 PM

As core counts continue to increase, how we exploit hardware parallelism in practice shifts from concurrency -- using more cores to handle more user requests -- to parallelism -- using more cores to solve data-intensive problems faster. This talk will explore the different goals, tools, and techniques involved between these various approaches, and how to analyze a computation for potential parallelism, with specific attention to the parallel stream library in Java 8. Brian's talk is now available on the Chariot Solutions site. Slides Screencast

Brian Goetz

Java Language Architect, Oracle

Move Deliberately and Don’t Break Anything: Lessons from the Evolution of Java

Location: Salon D
April 12th, 2016
10:15 AM - 11:15 AM

Programming language design is not just about type theory and grammars. For evolving a mature programming language like Java, it is about finding ways to add capabilities while maintaining compatibility, both with existing code and with the expectations and mental models of 9 million or so developers. In this talk, Java Language Architect Brian Goetz looks at some of the challenges and lessons of steering Java through major evolutionary changes, and a sneak peek at where the Java platform is headed. Slides from Brian's talk are now available on the Chariot Solutions site.

Brian Goetz

Java Language Architect, Oracle

Scala 2.12 & Java 8: More Fun Together!

Location: Salon B
April 11th, 2016
2:45 PM - 3:45 PM

To take full advantage of Java 8's support for lambdas and interfaces with concrete methods, a lot is changing behind the scenes of the Scala 2.12 compiler! At the language level, Scala has always had first-class support for lambdas, of course, and with Java 8's invokedynamic machinery we can now compile them to more compact and efficient bytecode. We also interoperate fully with Java's modeling of functions as Single Abstract Method types (aka functional interfaces). The other advantage of compiling to Java 8 bytecode is a more direct encoding of traits. The invokedynamic instruction plays an interesting role here as
Read more  »

Adriaan Moors

Scala Compiler Team Lead