JavaRush — интерактивная система для изучения языка Java. Первые 10 уровней бесплатные, про остальные пока не знаю. Задания выполняются либо в среде самой системы, либо (что лучше) в среде IntelliJ Idea (где проверяются через удобный плагин).
Система хороша тем, что позволяет выполнять типовые задачки, параллельно осваивая generics и прочий инструментарий языка Java.
Так как Java для меня — новый язык, и его инструментарий сразу в память не ложится, то параллельно веду в текстовом файле архив написанных Java-программок, чтобы проще было искать те или иные «know how».
Среда IntelliJ Idea мне пока нравится. Много «быстрых клавиш», поэтому проще сосредоточиться на решаемой задаче. Чуть позже посмотрим, насколько удобны подключаемые плагины. В остальном же пока — это обычная IDE для писания кода.