Summary

It is hard to code and debug in a parallel environment. Java can give us some help here, with its built-in mechanisms for synchronization and the data structures in the JDK. As synchronization is integrated into the Java language, using it comes naturally. Every object in Java may be a monitor object and used for synchronization. The downside is that if it is too easy to use synchronization, it might be used unnecessarily.

This chapter also covered the Java Memory Model that is meant to unify the parallel behavior of multithreaded Java across all hardware architectures, as well as the problems therein.

We covered the implementation of synchronization and threads in a virtual machine and went over the most common ways of implementing adaptive ...

Get Oracle JRockit now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.