The major new features in Java 8 center around lambda expressions, a functional programming construct that simplifies certain types of programming problems. John Moore demonstrates the power of lambdas by contrasting several implementations of a mathematical example using C++, Java without lambdas, and Java 8 with lambda expressions.
From assertions in JDK 1.4 to the forthcoming lambdas in Java 8, the
Java language has evolved considerably since its inception. The next several
articles in Java 101: The next generation present a toolbox of
essential Java language features, starting this week with assertions and
Learn how the Java Concurrency Utilities handle locking, atomic variables, and fork/join operations. Then prepare for the future with an overview of anticipated changes to the Java Concurrency Utilities coming in Java 8.
When concurrency gets complex, Java developers can count on the Java
Concurrency Utilities to smooth the bumps. Get started with the Executor framework, concurrent synchronizer types, and the Java Concurrent Collections package, and discover how these utilities can help you up your game in real-world programming scenarios.
Andrew Oliver decries the alphabet soup of the Lambda project, saying too many ingeredients are making it a stew. Also, what about his idea of dropping inheritance from Java 8? Share your thoughts in the comments.
Learn how C4's concurrently compacting garbage collection algorithm helps boost Java scalability for low-latency enterprise Java applications, in this installment of Eva Andreasson's "JVM performance optimization" series.
Cameron Laird hits some of the high (and low) points of threads as a concurrent programming technique. Get an overview of what's perennially challenging about multithreaded programming and find out how the Java platform has evolved to meet some of the challenges.
All Java programs are compiled into class files that contain bytecodes, the machine language of the Java virtual machine. In this JavaWorld classic, Bill Venners goes under the hood of the JVM to explain the mechanics of thread synchronization, including shared data, locks, monitors, and synchronized. Like many JW Archives, this article is as relevant for students of JVM internals today as it was when it was first published in July 1997.