Лучшие книги по Java
Окунитесь в мир программирования на Java с лучшими рекомендованными книгами для начинающих и опытных разработчиков, отобранными из популярных технических публикаций и блогов.
55 книг в списке
Сортировать по
Количество статей
Макет
The Definitive Guide to Java Platform Best Practices--Updated for Java 7, 8, and 9 Java has changed dramatically since the previous edition of Effective Java was published shortly after the release of Java 6. This Jolt award-winning classic has now been thoroughly updated to take full advantage of the latest language and library features. The support in modern Java for multiple paradigms increases the need for specific best-practices advice, and this book delivers. As in previous editions, each chapter of Effective Java, Third Edition, consists of several "items," each presented in the form of a short, stand-alone essay that provides specific advice, insight into Java platform subtleties, and updated code examples. The comprehensive descriptions and explanations for each item illuminate what to do, what not to do, and why. The third edition covers language and library features added in Java 7, 8, and 9, including the functional programming constructs that were added to its object-oriented roots. Many new items have been added, including a chapter devoted to lambdas and streams. New coverage includes
Functional interfaces, lambda expressions, method references, and streams Default and static methods in interfaces Type inference, including the diamond operator for generic types The @SafeVarargs annotation The try-with-resources statement New library features such as the Optional interface, java.time, and the convenience factory methods for collections Register your product at informit.com/register for convenient access to the web edition eBook, updates, and/or corrections as they become available.
Представлено в 32 статьях
"Изучаем Java" - это не просто книга. Она не только научит вас теории языка Java и объектно-ориентированного программирования, она сделает вас программистом. В ее основу положен уникальный метод обучения на практике. В отличие от классических учебников информация дается не в текстовом, а в визуальном представлении. Вы освоите в деле все самое нужное: синтаксис и концепции языка, работу с потоками, работу в сети, распределенное программирование. Вся теория закрепляется интереснейшими примерами и тестами.
Представлено в 31 статье
Потоки являются фундаментальной частью платформы Java. Многоядерные процессоры - это обыденная реальность, а эффективное использование параллелизма стало необходимым для создания любого высокопроизводительного приложения. Улучшенная виртуальная машина Java, поддержка высокопроизводительных классов и богатый набор строительных блоков для задач распараллеливания стали в свое время прорывом в разработке параллельных приложений. В "Java Concurrency на практике" сами создатели прорывной технологии объясняют не только принципы работы, но и рассказывают о паттернах проектирования.
Легко создать конкурентную программу, которая вроде бы будет работать. Однако разработка, тестирование и отладка многопоточных программ доставляют много проблем. Код перестает работать именно тогда, как это важнее всего: при большой нагрузке. В "Java Concurrency на практике" вы найдете как теорию, так и конкретные методы создания надежных, масштабируемых и поддерживаемых параллельных приложений. Авторы не предлагают перечень API и механизмов параллелизма, они знакомят с правилами проектирования, паттернами и моделями, которые не зависят от версии Java и на протяжении многих лет остаются актуальными и эффективными.
Эта книга охватывает следующие темы:
∙ Базовые концепции параллелизма и безопасности потоков
∙ Методы построения и составления многопоточных классов
∙ Использование блоков параллелизма в java.util.concurrent
∙ Оптимизация производительности: что можно делать, а что не стоит и пытаться
∙ Тестирование параллельных программ
∙ Атомарные переменные, неблокирующие алгоритмы и модель памяти Java
Представлено в 22 статьях
Книга Java 8. Полное руководство является исчерпывающим руководством по программированию на языке Java. В этом справочном пособии, полностью обновленном с учетом последней версии Java SE 8, поясняется, как разрабатывать, компилировать, отлаживать и выполнять программы на языке программирования Java. Книга написана Гербертом Шилдтом, автором популярных во всем мире книг по языкам программирования, таким образом, чтобы охватить все языковые средства Java, включая синтаксис, ключевые слова, основные принципы объектно-ориентированного программирования, значительную часть прикладного программного интерфейса Java API, библиотеки классов, аплеты и сервлеты, компоненты JavaBeans, библиотеки AWT и Swing, а также продемонстрировать их применение на простых и наглядных примерах. В книге «Java 8. Полное руководство» не обойдены вниманием и новые средства, появившиеся в версии Java SE 8, в том числе лямбда-выражения, стандартные интерфейсные методы, библиотека потоков ввода-вывода, а также технология JavaFX. В книге «Java 8. Полное руководство» рассматриваются следующие вопросы: Типы данных, переменные, массивы и операции Управляющие и условные операторы Классы, объекты и методы Перегрузка и переопределение методов Наследование Интерфейсы и пакеты Обработка исключений Многопоточное программирование Перечисления, автоупаковка и автораспаковка Потоки ввода-вывода Обобщения Лямбда-выражения Обработка символьных строк Каркас коллекций CollectioFramework Работа в сети Обработка событий Библиотеки AWT и Swing Прикладной программный интерфейс Concurrent API Прикладной программный интерфейс Stream API Регулярные выражения Технология JavaFX Компоненты JavaBeans Аплеты и сервлеты
Представлено в 21 статье
Паттерны проектирования
Building Extensible and Maintainable Object-Oriented Software
You're not alone.
At any given moment, somewhere in the world someone struggles with the same software design problems you have. You know you don't want to reinvent the wheel (or worse, a flat tire), so you look to Design Patterns--the lessons learned by those who've faced the same problems. With Design Patterns, you get to take advantage of the best practices and experience of others, so that you can spend your time on...something else. Something more challenging. Something more complex. Something more fun.
You want to learn about the patterns that matter--why to use them, when to use them, how to use them (and when NOT to use them). But you don't just want to see how patterns look in a book, you want to know how they look "in the wild". In their native environment. In other words, in real world applications. You also want to learn how patterns are used in the Java API, and how to exploit Java's built-in pattern support in your own code.
You want to learn the real OO design principles and why everything your boss told you about inheritance might be wrong (and what to do instead). You want to learn how those principles will help the next time you're up a creek without a design pattern.
Most importantly, you want to learn the "secret language" of Design Patterns so that you can hold your own with your co-worker (and impress cocktail party guests) when he casually mentions his stunningly clever use of Command, Facade, Proxy, and Factory in between sips of a martini. You'll easily counter with your deep understanding of why Singleton isn't as simple as it sounds, how the Factory is so often misunderstood, or on the real relationship between Decorator, Facade and Adapter.
With Head First Design Patterns, you'll avoid the embarrassment of thinking Decorator is something from the "Trading Spaces" show. Best of all, in a way that won't put you to sleep! We think your time is too important (and too short) to spend it struggling with academic texts.
If you've read a Head First book, you know what to expect--a visually rich format designed for the way your brain works. Using the latest research in neurobiology, cognitive science, and learning theory, Head First Design Patterns will load patterns into your brain in a way that sticks. In a way that lets you put them to work immediately. In a way that makes you better at solving software design problems, and better at speaking the language of patterns with others on your team.
Представлено в 16 статьях
Рекомендовано
Taylor OtwellДаже плохой программный код может работать. Однако если код не является «чистым», это всегда будет мешать развитию проекта и компании-разработчика, отнимая значительные ресурсы на его поддержку и «укрощение». Эта книга посвящена хорошему программированию. Она полна реальных примеров кода. Мы будем рассматривать код с различных направлений: сверху вниз, снизу вверх и даже изнутри. Прочитав книгу, вы узнаете много нового о коде. Более того, вы научитесь отличать хороший код от плохого. Вы узнаете, как писать хороший код и как преобразовать плохой код в хороший. Книга состоит из трех частей. В первой части излагаются принципы, паттерны и приемы написания чистого кода; приводится большой объем примеров кода. Вторая часть состоит из практических сценариев нарастающей сложности. Каждый сценарий представляет собой упражнение по чистке кода или преобразованию проблемного кода в код с меньшим количеством проблем. Третья часть книги — концентрированное выражение ее сути. Она состоит из одной главы с перечнем эвристических правил и «запахов кода», собранных во время анализа. Эта часть представляет собой базу знаний, описывающую наш путь мышления в процессе чтения, написания и чистки кода.
Представлено в 16 статьях
Рекомендовано
Wes McKinneyЭто издание полностью обновлено с учетом версии Java SE 8 издание представляет собой солидное справочное руководство по языку программирования Java для тех, кто разрабатывает настоящие проекты на платформе Java.
С выходом каждого издания ее главный автор старался как можно быстрее следовать очередному выпуску Java Development Kit, каждый раз переписывая ее, чтобы вы, читатель, могли воспользоваться преимуществами новейших средств Java. Настоящее издание обновлено с учетом новых языковых средств, появившихся в версии Java Standard Edition (SE) 8.
Как и все предыдущие издания этой книги, настоящее издание по-прежнему адресуется серьезным программистам, которые хотели бы пользоваться Java для разработки настоящих проектов. Автор этой книги представляет себе вас, дорогой читатель, как грамотного специалиста с солидным опытом программирования на других языках, кроме Java, и надеется, что вам не нравятся книги, которые полны игрушечных примеров вроде программ управления тостерами или животными в зоопарке либо "прыгающим текстом". Ничего подобного вы не найдете в этой книге. Цель автора — помочь вам понять язык Java и его библиотеки в полной мере, а не создать иллюзию такого понимания.
В книге вы найдете массу примеров кода, демонстрирующих почти все обсуждаемые языковые и библиотечные средства. Эти примеры намеренно сделаны как можно более простыми, чтобы сосредоточиться на основных моментах. Тем не менее они в своем в большинстве совсем не игрушечные и не "срезают острых углов". Все они могут послужить вам неплохой отправной точкой для разработки собственного кода.
Представлено в 15 статьях
Современный язык Java
Лямбда-выражения, потоки и функциональное программирование
Преимущество современных приложений — в передовых решениях, включающих микросервисы, реактивные архитектуры и потоковую обработку данных. Лямбда-выражения, потоки данных и долго- жданная система модулей платформы Java значительно упрощают их реализацию. Пришло время по- высить свою квалификацию и встретить любой вызов во всеоружии!
Книга поможет вам овладеть новыми возможностями современных дополнений, таких как API Streams и система модулей платформы Java. Откройте для себя новые подходы к конкурентности и узнайте, как концепции функциональности улучшают работу с кодом.
В этой книге:
• Новые возможности Java.
• Потоковые данные и реактивное программирование. • Система модулей платформы Java.
Представлено в 13 статьях
Программирование и тестирование обычно принято относить к разным профессиональным сферам. Скотт Оукс — признанный эксперт по языку Java — уверен, что если вы хотите работать с этим языком, то обязаны понимать, как выполняется код в виртуальной машине Java, и знать, какие настройки влияют на производительность.
Вы сможете разобраться в производительности приложений Java в контексте как JVM, так и платформы Java, освоите средства, функции и процессы, которые могут повысить производительность в LTS-версиях Java, и познакомитесь с новыми возможностями (такими как предварительная компиляция и экспериментальные уборщики мусора).
В этой книге вы:
- Узнаете, как платформы и компиляторы Java влияют на производительность.
- Разберетесь c механизмом уборки мусора.
- Освоите четыре принципа получения наилучших результатов при тестировании производительности.
- Научитесь пользоваться JDK и другими инструментами оценки производительности.
- Узнаете как настройка и приемы программирования позволяют минимизировать последствия уборки мусора.
- Научитесь решать проблемы производительности средствами Java API.
- Поймете, как улучшить производительность приложений баз данных Java.
Представлено в 13 статьях
Версия Java SE 8, с нетерпением ожидаемая миллионами программистов, включает в себя самое важное обновление за многие прошедшие годы. Появление в этой версии лямбда-выражений и новых потоков ввода-вывода знаменует собой главное изменение в программировании на Java с момента внедрения обобщений и аннотаций.
В своей книге Кей С. Хорстманн, маститый автор и знаток Java, предлагает вниманию читателей наиболее ценные из новых языковых средств в версии Java 8, а также рассматривает те средства, которые были внедрены в версии Java 7, но не удостоились должного внимания программистов. Те, у кого имеется опыт программирования на Java, найдут в этой книге практические рекомендации и примеры кода, демонстрирующие нововведения в версии Java 8, чтобы как можно быстрее воспользоваться этими и другими усовершенствованиями языка и платформы Java.
В этом незаменимом руководстве рассматриваются следующие важные темы.
- Применение лямбда-выражений для написания вычисляемых фрагментов кода, которые могут быть переданы служебным функциям.
- Новые потоки ввода-вывода, организованные в отдельный прикладной программный интерфейс API, который позволяет значительно повысить эффективность коллекций и удобство обращения с ними.
- Существенное обновление средств параллельного программирования, где применяются лямбда-выражения для выполнения операций фильтрации, отображения, сведения и достигается значительное повышение производительности при обращении с общими счетчиками и хеш-таблицами.
- Полезные рекомендации по практическому применению лямбда-выражений в прикладных программах.
- Описание долгожданной качественно разработанной библиотеки для даты, времени и календаря (JSR 310).
- Прикладной программный интерфейс JavaFX, предназначенный на замену библиотеки Swing для построения графических пользовательских интерфейсов, а также интерпретатор Nashorn языка JavaScript.
- Многочисленные мелкие изменения в библиотеке, позволяющие сделать программирование на Java более продуктивным и приятным занятием.
Это первая книга, в которой освещаются упомянутые выше нововведения в версии Java 8, и поэтому она служит ценным источником информации для тех, кто стремится писать в недалекой перспективе самый надежный, эффективный и безопасный код на Java.
Представлено в 11 статьях
Философия Java by Bruce Eckel
Beginning Programming with Java For Dummies by Barry Burd
Java Performance by Charlie Hunt
Test Driven by Lasse Koskela
The Well-Grounded Java Developer by Benjamin J Evans, Martijn Verburg
Объектно-ориентированный анализ и проектирование by Brett D. McLaughlin
Java Generics and Collections by Maurice Naftalin
Spring в действии by Craig Walls
Java Puzzlers by Joshua Bloch / Neal Gafter Bloch / Gafter
Java by Jamie Chan
Optimizing Java by Benjamin J Evans, James Gough, Chris Newland
Java by Nathan Clark
Java Performance Companion by Charlie Hunt, Poonam Parhar, Bengt Rutisson, Monica Beckwith
Java Cookbook by Ian F. Darwin
Mastering Java Machine Learning by Uday Kamath
Рефакторинг by Martin Fowler
Systems Performance by Brendan Gregg
High-Performance Java Persistence by Vlad Mihalcea
Learn Java in 1 Day by Krishna Rungta
The Java Language Specification, Java SE 8 Edition by James Gosling
Java Programming by Yakov Fain
Think Java by Allen B. Downey
Java by Harvey M Deitel
Java For Dummies by Barry A. Burd
Программист-прагматик by David Thomas
Java by Herbert Schildt, Danny Coward
Предметно-ориентированное проектирование (DDD) by Eric Evans
Release it! Проектирование и дизайн ПО для тех, кому не всё равно by Michael T. Nygard
Introduction to Java Programming and Data Structures, Comprehensive Version by Y. Daniel Liang
Functional Programming in Java by Venkat Subramaniam
Элегантные объекты by Yegor Bugayenko
Java in a Nutshell by Benjamin J Evans
Java in 24 Hours, Sams Teach Yourself by Rogers Cadenhead
Mastering Lambdas by Maurice Naftalin
Core Java for the Impatient by Cay Horstmann
Java Deep Learning Projects by Rezaul Karim
Test-Driven Java Development by Viktor Farcic
RESTful Java with JAX-RS 2.0 by Bill Burke
Murach's Java Servlets and JSP Murach by Joel Murach
TCP/IP Sockets in Java by Kenneth L. Calvert
AI Algorithms, Data Structures, and Idioms in Prolog, Lisp, and Java by George F. Luger
Java Performance Tuning by Jack Shirazi
Java Network Programming by Elliotte Rusty Harold
Spring Boot in Action by Craig Walls
JavaScript by Douglas Crockford