Duncan DeVore reviews the challenges of concurrent programming on the JVM and explores Akka, a toolkit and runtime for building highly concurrent, distributed applications on the JVM.
Juergen Hoeller introduces Spring 4 and illustrates selected Java 8 features in interaction with Spring's programming model, exploring their immediate practical impact.
Brian Goetz describes the future directions for the Java language, especially changes introduced in Java 8, and details the approach taken for key language evolution choices.
Sponsored by Azul. Gil Tene discusses issues with dynamically optimized environments used for trading systems along with techniques for dealing with them, including JVM performance tune up tricks.
Glen Peterson uses the Expression Problem to compare refactoring in Java, Scala and Clojure, showing how traits minimize changes in Scala when an interface changes and how Clojure avoids some issues.
Timothy Baldridge introduces Clojure’s Core.Async library, presenting the motivation behind the library and examples in Clojure and ClojureScript helpful to decouple subsystems in an application.
Angelika Langer, Klaus Kreft discuss using Streams in Java 8: what they are, parallel or sequential execution, intermediate and terminal operations, stateless operations, and fluent programming.
Martin Thompson discusses the major steps in the evolution of Java and how it contrasts to alternative technologies, and the challenges of pushing the limits of performance.
Sponsored by Goldman Sachs. Java 8 has Streams, Scala has parallel collections, and GS Collections has ParallelIterables. How well do they perform?
Stuart Sierra discusses various Clojure features: protocols, records, DI, managing startup/shutdown of components, dynamic binding, interactive development workflow, testing and mocking.
Brian Goetz explains how lambda expressions are implemented using the invokedynamic instruction introduced in Java SE 7.
CONTENT IN THIS BOX PROVIDED BY OUR SPONSOR
Featured Blog Posts
White Papers and Assets