This book provides a comprehensive overview of Java security, including J2EE, J2SE and J2ME, including associated technologies such as SAML, PKI, etc. This is followed by a design patterns catalog describing common security patterns, indications for their use, and their drawbacks. An end-to-end design example is shown. Sample source code is shown illustrating most of the concepts.
The book is very long and is challenging to read cover-to-cover. Its real value is as a reference for when you are faced with specific security problems.