The following books explain some interesting ideas, patterns and uncommon (not necessarily mainstream) thoughts.
The Naked Objects book describes an interesting idea. The rich domain object model is directly exposed to the UI and is used for rendering purposes as well for the generation of the documentation. It discusses as well the Model View Controller and compares it to pure object oriented approach. The Domain-Driven Design: Tackling Complexity in the Heart of Software title concentrates more on the principles of domain driven design (an almost forgotten practice in the J2EE/Java EE world).
The technical, in depth book Java Concurrency in Practice describes the concurrency utilities of the Java SE 5 / 6. You should use this before your are going to implement another thread pool :-). In contrast to the concurrency utilities the Rich Client Programming, w. CD-ROM: Plugging into the NetBeans Platform book focusses on the programming of rich clients using Swing and Netbeans RCP. It is one of few books which do not explain what buttons and panels are, but rather describe the construction of complex rich clients with drag and drop, communication between panels, modularization etc. The Filthy Rich Clients: Developing Animated and Graphical Effects for Desktop Java Applications (Java) is even more fun. The whole book concentrates on slick effects, with nothing but Java SE 5.