Essentials of the JavaTM Programming Language: A Hands-On Guide - covers basics of various important programming aspects with Java: Swing GUI, Servlets, databases, RMI, sockets, serialization, internationalization, ...
UML Resource Center and Visual Paradigm Tutorials
UML Class Diagram with ARGO UML Tutorial