Собираем подборку качественной литературы по Java.
Дописывайте, если есть что добавить в общий ответ.
Данный перечень входит в поддерживаемый сообществом Сборник учебных ресурсов по программированию
Ответ
Core Java
Начинающим:
Head First Java (2nd Edition). Kathy Sierra, Bert Bates.
Русский перевод: Изучаем Java. Кэти Сиерра, Берт Бейтс.
Как это обычно бывает в книгах Head First, вас весело и в картинках обучат основам программирования на Java. У опытных программистов книга может вызвать ухмылку, однако для действительно начального уровня она вполне хороша.
Java: A Beginner's Guide. Herbert Schildt.
Русский перевод: Java. Руководство для начинающих. Герберт Шилдт.
Core Java Volume I: Fundamentals (9th Edition), Core Java Volume II: Advanced Features (9th Edition).
Русский перевод: Java. Библиотека профессионала. Том 1. Основы; Java. Библиотека профессионала. Том 2. Расширенные средства программирования. Кей С. Хорстманн, Гари Корнелл.
Книги Хорстманна написаны достаточно сухим языком и вываливают на читателя горы документации по API и километры листингов с полным кодом примеров. Читать их последовательно может быть довольно тяжко, зато книги станут отличным настольным справочником и сборником рецептов.
Java™ Platform, Standard Edition 7 API Specification
Онлайн-документация по стандартным библиотекам JAVA SE.
Онлайн-курсы, учебники
Уроки Java для начинающих на itproger.com
Самоучитель по Java с нуля - vertex-academy.com
Java Tutorial (англ.) на Javatpoint
Курсы на Stepik.org:
Java. Базовый курс Computer Science Center (CS центр)
Летняя Java школа
Adaptive Java (англ.) JetBrains
Средний уровень:
Thinking in Java (4th Edition). Bruce Eckel.
Русский перевод: Философия Java. Брюс Эккель.
Классический фолиант джавистов. Для комфортного чтения требуются базовые познания в языке, т.к. книга не ставит своей задачей научить писать на Java с нуля, а научить писать идиоматично.
Java 8: The Complete Reference. Herbert Schildt.
Русский перевод: Java 8. Полное руководство. Герберт Шилдт.
Effective Java (2nd Edition). Joshua Bloch.
Русский перевод: Java. Эффективное программирование. Джошуа Блох.
Джошуа Блох в некотором смысле продолжает идею книги Thinking in Java: еще сильнее углубляясь в особенности языка и стандартных библиотек, учит писать красивый код.
The Well-Grounded Java Developer: Vital techniques of Java 7 and polyglot programming. Benjamin J Evans, Martijn Verburg.
Русский перевод: Java. Новое поколение разработки. Бенджамин Эванс, Мартин Вербург.
Java Puzzlers: Traps, Pitfalls, and Corner Cases. Joshua Bloch, Neal Gafter.
Java Puzzlers дает возможность тем, кто уже "выучил язык" проверить себя. В книге собраны 95 задачек с подвохом: очевидные на первый взгляд фрагменты кода, таящие каверзный баг. Какие-то из рассматриваемых примеров могут показаться надуманными и нежизненными, однако они в полной мере раскрывают тонкие нюансы программирования на Java.
Java Concurrency in Practice. Brian Goetz, Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Lea.
Подробнейшее пособие по написанию многопоточного кода на Java. Каждая тема рассматривается с разных сторон на нескольких примерах, так что к концу главы будет полное понимание осуждаемого предмета. Немаловажно, что один из соавторов (Doug Lea) является автором стандартной библиотеки concurrent-примитивов (java.util.concurrent).
Java Performance. Charlie Hunt, Binu John.
Must read по оптимизации java Программ, тюнингу JVM и сборщика мусора, бенчмаркингу и профилированию.
Core Java for the Impatient. Cay Horstmann.
Книга для нетерпеливых, как следует из названия. Позволяет погрузиться в мир языка Java, рассказывается всё, что на самом деле может пригодиться Java-разработчику. Отдельное внимание уделено новшествам восьмой версии языка. В конце каждой главы есть задания для более плотного усвоения материала. (Хорстманн не очень любит язык C++, иногда шутит по этому поводу, вроде того: String[] badWords = {"sex", "drugs", "C++"};, от этого читать становится не так скучно).
Java SE 8 for the Really Impatient. Cay Horstmann.
Русский перевод: Java SE 8. Вводный курс Кей С. Хорстманна
Является продолжением книги Core Java for the Impatient, однако здесь всё внимание уделяется новшествам восьмой версии языка, покрывает очень многие аспекты, будь то лямбда-выражения, работа со Stream API или многопоточность. После каждой главы также присутствуют задания для усвоения материала.
Head First Design Patterns.Eric Freeman, Elisabeth Robson, Bert Bates, Kathy Sierra.
Русский перевод: Паттерны проектирования. Эрик Фримен, Элизабет Фримен
Отличная книга от издательства O'Reilly, в веселой форме обучит вас основным шаблонам проектирования на языке Java.
Экспертный уровень:
The Java Language Specification. James Gosling, Bill Joy, Guy L. Steele Jr., Gilad Bracha, Alex Buckley.
The Java Virtual Machine Specification. Tim Lindholm and Frank Yellin.
Oracle JRockit: The Definitive Guide. Marcus Hirt, Marcus Lagergren.
Java EE
Java™ Servlet Specification 3.1
Исчерпывающая официальная документация о работе и жизненном цикле сервлетов.
Beginning Java EE 7. Antonio Gonsalves.
Русский перевод: Изучаем Java EE 7. Энтони Гонсалвес
Java EE 7. Основы Арун Гупта
Head First Servlets and JSP, 2nd Edition. Bryan Basham, Kathy Sierra, Bert Bates
Java Servlet and JSP Cookbook. Bruce W. Perry
Русский перевод: Java сервлеты и JSP. Сборник рецептов. Брюс У. Перри
Spring
Spring Projects
Официальная документация о каждом проекте Spring. Описано подробно, но довольно сложно и много, поэтому для первого обучения рекомендую начать с Spring Guides.
Spring Guides
Очень простые и наглядные пошаговые уроки (на английском) разных возможностей проектов Spring, с возможностью сразу скачать результат и проверить на своем компьютере. Наиболее актуальные туториалы по Spring, которые есть в интернете, так как постоянно обновляются сообществом. Для более детального изучения - смотрите официальную документацию
Spring в действии. Крейг Уоллс
Несмотря на то, что в книге описана уже немолодая 3-я версия Spring, книга стоит ознакомления, так как очень просто и подробно знакомит читателя с фреймворком.
Spring 4 для профессионалов. Крис Шеффер, Кларенс Хо, Роб Харроп
Многолетний бестселлер, считающийся наиболее исчерпывающим и авторитетным руководством по Spring.
Hibernate
Beginning Hibernate. Joseph B. Ottinger, Dave Minter, Jeff Linwood
Несмотря на то, что в названии книги стандарт JPA не упоминается, бóльшая часть книги посвящена именно его реализации в Hibernate.
Swing
SWING: Эффективные пользовательские интерфейсы. Иван Портянкин.
Swing. A Beginner's Guide. Sсhildt H.
Русский перевод: Swing. Руководство для начинающих. Шилдт Г.
Swing Hacks. Tips and Tools for Killer GUIs. Joshua Marinacci, Chris Adamson.
JavaFX
JavaFX 2.0 Разработка RIA-приложений. Тимур Машнин.
В ней есть вся нужная информация относительно компонентов и оформления их с помощью fxcss, работы с анимацией, воспроизведения видео и аудио, и конечно относительно работы с FXML.
Learn JavaFX 8. Kishori Sharan.
Учебник на английском, в нем подробно описываются все основные элементы JavaFX, особенности их поведения и взаимодействия, описываются наблюдаемые свойства и связывания (properties and bindings), и другие полезные возможности, как вывод на печать и подробное описание обработки событий.
Справочники
Java 8 Pocket Guide. Robert Liguori.
Русский перевод: Java 8. Карманный справочник. Роберт Лигуори.
Отличный справочник, с помощью которого можно моментально найти ответы на вопросы по стандартной библиотеке Java, лямбда-выражениям и т. д.
Онлайн-ресурсы
Российская Java User Group. В архиве очень много докладов по Java, Spring и так далее. Доклады в основном на русском, рассчитаны на опытных разработчиков.
Awesome Java - поддерживаемый список лучших библиотек, фреймворков и приложений в мире Java.
Useful java links - альтернативный список лучших библиотек, фреймворков и приложений в мире Java. Есть русская версия
Useful java links (video) - поддерживаемый список русскоязычных видео с докладов и конференций по категориям.
Комментариев нет:
Отправить комментарий