Java solves certain complex problems that most languages leave to the operating system. This text shows how to use some of the most exciting and powerful of these parts, with design considerations and programming scenarios, and reveals the subtle yet serious potential pitfalls.