Unix pioneer Ken Thompson once said, “one of my most productive days was throwing away 1000 lines of code.” In this article Cas Saternos highlights practices now possible for writing concise Java code, with a special focus on the new functionality available in JDK 8. Shorter, more elegant code is possible due to the inclusion of Lambda Expressions in the language.
The innovation of parallel streams in Java 8 has diverted attention from a very substantial addition to the concurrency library, the CompletableFuture class. Author Maurice Naftalin eloquently explores CompletableFuture, why it is so useful in programming systems that depend on the interaction of asynchronous tasks, and how it complements fork/join-style parallelism, including parallel streams.
Stopping after unit testing is like starting automobile production after testing the nuts and bolts. This article investigates some important techniques in integration testing.
Java is defined by the Java Language Spec, but the resulting bytecode is defined by a completely separate standard. This article looks at the structure of class files and how to create them directly.
First class money & currency support in Java are almost here. JSR 354 spec lead Credit Suisse's Anatole Tresch discusses previous shortcomings, motivation for the new APIs, & lots of examples. 1
In this article, Basho Sr. Software Engineer Chris Meiklejohn explores the basic building blocks for crafting deterministic applications that guarantee convergence of data without synchronization. 1
First in a series of articles on Scala in large-scale environments, Dave Hrycyszyn speaks to McLaren Applied Technologies' Andrew Jayne about building a custom high-performance data store in Scala. 2
This article walks you through the new Java 8 features that are supported by Spring 4.0 and 4.1. 6
With architectures becoming wider and more concurrent, dealing with errors in production is harder than ever. In this article we investigate five techniques for finding and fixing bugs in production. 3
In this part 2 of InfoQ's conversation with Gil Tene of Azul Systems, Gil discusses their latest engineering project aimed at bringing better low-level memory layout control to Java.
Gil Tene of Azul Systems talks about shipping their Java 8 compatible release and the need for certified builds.
Oracle's Brian Goetz (Java Language Architect) and John Rose (JVM Architect) take us on a deep-dive discussion about some of the technologies and features being discussed for Java 9 and beyond. 1