Книги по Java | Books Java 📚
3.38K subscribers
262 photos
1 video
24 files
249 links
Java книги. По всем вопросам @evgenycarter
Download Telegram
📚Подборка книг для Java программистов

🔹Изучаем Java

Авторы: Кэти Сьерра, Берт Бэйтс
Английское название: Head First Java
Уровень: новичок

Книга от издательства O'Relly поможет изучить основы Java: переменные, типы данных, условные операторы, циклы и другие ключевые концепции. Темы для более продвинутых программистов тоже найдутся. Например, многопоточность, работа с файлами и сетью.
В Head First Java нетрадиционный подход к обучению. Авторы используют иллюстрации, загадки и задания для проверки, чтобы читателю было интересно и просто учиться. Например, объясняют принципы наследования и полиморфизма с помощью весёлых историй и практических примеров.


🔹Java. Полное руководство

Автор: Герберт Шилдт
Уровень: новичок

В книге рассказывается об основах языка — синтаксисе и переменных, и о более сложных темах — многопоточности и сетевых соединениях. В учебнике есть много примеров кода, которые помогают понять концепции Java. Это особенно ценно для тех, кто только начинает кодить на языке.


🔹Современный язык Java. Лямбды, потоки и функциональное программирование

Авторы: Рауль-Габриэль Урма, Марио Фуско, Алан Майкрофт
Английское название: Modern Java in Action. Lambdas, Streams, Functional and Reactive Programming
Уровень: новичок

Книга поможет освоить новые функции Java 8. Одна из них — лямбда-выражения. Они полезны, когда нужно выполнить какую-то операцию на массиве данных или обработать поток данных. Создавать отдельную функцию для каждой операции не нужно — лямбда-выражения позволяют выполнить операцию прямо в месте ее использования. В итоге код становится более компактным и читаемым.
Новичкам лучше брать более старую редакцию книги, которая вышла под названием «Java 8 в действии: лямбды, потоки и функциональный стиль». В ней меньше материала, поэтому его легче усвоить.


🔹Структуры данных и алгоритмы в Java

Автор: Роберт Лафоре
Английское название: Data Structures and Algorithms in Java
Уровень: опытный

Автор предлагает изучить структуру данных и алгоритмов на примерах из Java. Он рассматривает основные структуры данных: списки, деревья и хеш-таблицы, а также классические алгоритмы сортировки и поиска. В книге есть советы по выбору подходящей структуры данных или алгоритма для конкретной задачи. В конце каждой главы — упражнения для самопроверки.


👉 @java_360
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍1
📚The Algorithm Design Manual
Автор: Steven S. Skiena (20202)

Книга является наиболее полным руководством по разработке эффективных алгоритмов.

Первая часть книги содержит практические рекомендации по разработке алгоритмов: приводятся основные понятия, дается анализ алгоритмов, рассматриваются типы структур данных, основные алгоритмы сортировки, операции обхода графов и алгоритмы для работы со взвешенными графами, примеры использования комбинаторного поиска, эвристических методов и динамического программирования.

Вторая часть книги содержит обширный список литературы и каталог из 75 наиболее распространенных алгоритмических задач, для которых перечислены существующие программные реализации.

В третьем издании расширен набор рандомизированных алгоритмов, алгоритмов хеширования, аппроксимации и квантовых вычислений. Добавлено более 100 новых задач, даны ссылки к реализациям на C, C++ и Java.

Книгу можно использовать в качестве справочника по алгоритмам для программистов, исследователей и в качестве учебного пособия для студентов соответствующих специальностей.

👉 @java_360
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍1
📚High Performance with Java: Discover strategies and best practices to develop high performance Java applications
Автор: Edward Lavieri (2024)

Автор подробно рассматривает оптимизацию работы JVM, управление памятью, стратегии многопоточности и эффективное взаимодействие с базами данных.

Книга подходит разработчикам Java среднего уровня и выше, стремящимся повысить производительность своих приложений с помощью практических стратегий и современных инструментов.

Основные темы

— Оптимизация сборки мусора и JIT-компилятора
— Эффективное использование структур данных и циклов
— Применение object pooling и стратегий неизменяемости
— Предотвращение утечек памяти и оптимизация работы с базами данных
— Использование ИИ для повышения производительности Java-приложений

👉 @java_360
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2
Pro Jakarta EE 10: Open Source Enterprise Java-based Cloud-native Applications Development
Автор: Peter Späth (2023)

Эта книга поможет вам создавать более сложные корпоративные облачные и другие приложения на базе Java, которые могут работать в корпоративных и других критически важных средах. В книге рассматривается большинство ключевых API или функций Jakarta EE 10, включая JSF, JSP, JPA, CDI, REST, Microprofiles, WebSockets и многие другие. Попутно интегрируются и используются различные открытые проекты Apache, Eclipse и другие для более полного представления рабочих процессов и лечения в целом.

Скачать

👉 @java_360
2👍1
Modernizing Enterprise Java: A Concise Cloud Native Guide for Developers
Авторы: Markus Eisele, Natale Vinto (2021)

В то время как контейнеры, микросервисы и распределенные системы занимают всё внимание в обсуждениях в мире технологий, большинство приложений, используемых сегодня, по-прежнему работают с монолитными архитектурами, которые соответствуют традиционным подходам к разработке. Эта практическая книга помогает изучить давно устоявшиеся модели на основе Java и демонстрирует, как успешно преобразовать эти монолитные приложения в более современные.

Во время чтения книги вы:
✔️Изучите основы облачных приложений, чтобы понять, какие части Java-приложений и платформ вашей организации необходимо перенести и модернизировать;
✔️Поймёте, как корпоративные спецификации Java могут помочь вам в переходе проектов и команд;
✔️Создадите облачную платформу;
✔️Узнаете, как дополнить традиционное корпоративное Java-приложение компонентами поверх контейнеров и Kubernetes.

Скачать

👉 @java_360
👍4
Многопоточность в Java

В Java многопоточность реализована через класс Thread и интерфейс Runnable. Вот основные моменты, которые могут быть полезны при работе с многопоточностью:

🔵1. Создание и запуск потока
- Поток может быть создан двумя способами:
- Наследование от класса Thread:

class MyThread extends Thread {
public void run() {
// Код, выполняемый в потоке
}
}
MyThread t = new MyThread();
t.start();

- Реализация интерфейса Runnable:

class MyRunnable implements Runnable {
public void run() {
// Код, выполняемый в потоке
}
}
Thread t = new Thread(new MyRunnable());
t.start();


🔵2. Основные методы класса Thread
- start() — запуск потока.
- sleep(long millis) — приостановка потока на определенное время.
- join() — ожидание завершения потока.
- interrupt() — прерывание потока.
- isAlive() — проверка, работает ли поток.

🔵3. Синхронизация
- Чтобы избежать проблем с конкурентным доступом к данным, используется синхронизация:

synchronized (this) {
// Критическая секция
}

Это гарантирует, что только один поток может выполнить код внутри синхронизированного блока.

🔵4. Пул потоков
- Для управления большим количеством потоков используется пул потоков, который управляется через ExecutorService. Пример:

ExecutorService executor = Executors.newFixedThreadPool(10);
executor.submit(() -> {
// Задача для потока
});
executor.shutdown();


🔵5. Состояния потока
Потоки могут находиться в разных состояниях:
- NEW: Поток создан, но не запущен.
- RUNNABLE: Поток готов к выполнению.
- WAITING: Поток ожидает другого потока.
- TIMED_WAITING: Поток ожидает в течение определенного времени.
- TERMINATED: Поток завершен.

🔵6. Проблемы многопоточности
- Состояние гонки (Race condition) — ситуация, когда несколько потоков одновременно пытаются изменить данные, что может привести к некорректным результатам.
- Блокировки — проблемы с мертвыми блокировками (deadlocks), когда потоки навсегда блокируются, ожидая друг друга.

🔵7. Современные подходы и классы
- ForkJoinPool — используется для параллельного выполнения задач с разделением на подзадачи.
- CountDownLatch, CyclicBarrier, Semaphore — различные утилиты для синхронизации между потоками.

🔵8. Параллельное выполнение коллекций
- Коллекции в Java также могут работать с потоками через parallelStream():

List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
list.parallelStream().forEach(System.out::println);


Многопоточность — мощный инструмент для улучшения производительности приложений, но требует внимательности при реализации, чтобы избежать ошибок, таких как мертвые блокировки или некорректный доступ к данным.

👉 @java_geek
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Cloud-Native Development and Migration to Jakarta EE: Transform your legacy Java EE project into a cloud-native application
Автор: David Vlijmincx (2023)

Сначала вы окунетесь в сферу облачной нативной разработки, узнаете о контейнерах и познакомитесь с микропрофилем Eclipse — мощным инструментом в вашем арсенале. Далее вы сделаете смелый шаг — перенесете свои приложения с локального оборудования в безграничные возможности облака. Следуя экспертным рекомендациям автора по развертыванию приложений Jakarta EE в Microsoft Azure, вы получите практический опыт управления облачными ресурсами. В заключительной части курса вы познакомитесь с миром бессерверной архитектуры. Вы научитесь разрабатывать и запускать действительно бессерверные сервисы, используя потенциал событийно-управляемой парадигмы для масштабируемости и экономичности.

Скачать

👉 @java_360
👍1
JVM Performance Engineering: Inside OpenJDK and the HotSpot Java Virtual Machine
Автор: Monica Beckwith (2022)

Загляните под капот сложной, но увлекательной виртуальной машины Java Погрузитесь в тонкости производительности JVM с помощью незаменимого руководства для опытных Java-разработчиков, желающих разобраться в JVM. Сосредоточившись на виртуальной машине OpenJDK HotSpot, эта книга дает представление о передовых методах и тенденциях в области производительности Java. Автор сочетает теоретические знания и практические инструменты — тематические исследования, приложения, диаграммы использования и технологические схемы — для демонстрации методов диагностики, методологии производительности и оптимизации.

Скачать

👉 @java_360
👍3
Introduction to Java Through Game Development: Learn Java Programming Skills by Working with Video Games
Автор: Victor G Brusca (2022)

Хотите научиться программировать на Java? Давайте признаем, что лучший способ научиться программировать - это писать программы. Это может быть пугающим предложением, когда над головой висит призрак многочасовых примеров простых программ командной строки. Не бойтесь! Теперь вы можете научиться программировать на Java в увлекательной форме, работая над видеоиграми.
В этой книге вы сможете поработать с тремя игровыми проектами на Java и получить доступ к полному коду каждого проекта, включая полный игровой движок Java.

Скачать

👉 @java_360
👍4
Practical Quantum Computing for Developers
Автор: Johan Vos (2022)

В этой книге рассматриваются такие основные темы, как физические компоненты квантового компьютера: кубиты, запутанность, логические элементы, схемы и то, чем они отличаются от традиционного компьютера. Кроме того, в "Практических квантовых вычислениях для разработчиков" обсуждаются квантовые вычисления в облаке с использованием IBM Q Experience, включая: композитор, квантовые оценки, эксперименты, схемы, симуляторы, реальные квантовые устройства и многое другое. Вы сможете проводить эксперименты в облаке на реальном квантовом устройстве.

В этой книге показано, как выполнять квантовое программирование с помощью QISKit, Python SDK и других API, таких как QASM. Вы научитесь писать код на этих языках и выполнять его на симуляторах (локальных или удаленных) или на реальном квантовом компьютере, предоставляемом IBM Q Experience

Скачать

👉 @java_360
👍2
Practical Java Programming for IoT, AI, and Blockchain
Автор: Perry Xiao (2019)

Java, как современный язык программирования высокого уровня, является отличным инструментом, помогающим изучать цифровые технологии, а также разрабатывать приложения. В своей книге автор использует Java как инструмент, который поможет вам изучить новые технологии и лучше подготовиться к будущим изменениям.

Книга:
✔️Дает краткий обзор для начала работы с Java;
✔️Помогает понять, как программировать на Java, взаимодействуя с операционными системами, сетями и мобильными приложениями;
✔️Показывает, как Java может использоваться в современных технологических приложениях, связанных с IoT, искусственным интеллектом, кибербезопасностью и блокчейном.

Скачать

👉 @java_360
👍4
Building Java Programs: A Back to Basics Approach
Автор: Stuart Reges, Marty Stepp (2019)

Книга познакомит вас с основами Java. Она рассчитана на тех, кто прошел начальный курс подготовки в области компьютерных наук и хочет далее развиваться в сфере Java. В пятом издании книги были добавлены некоторые разделы, включая несколько проектов, примеров кода и упражнений.

Скачать

👉 @java_360
👍21
Core Java, Volume I: Fundamentals
Cay S. Horstmann (2022)

Core Java, Volume I: Fundamentals, Twelfth Edition - это окончательное руководство по написанию надежного и удобного кода. Какую бы версию Java вы ни использовали - до Java 17 включительно - эта книга поможет вам достичь глубокого и практического понимания языка и API. На сотнях реалистичных примеров Кей С. Хорстманн показывает наиболее мощные и эффективные способы выполнения работы.

Эта книга предназначена для читателей, уже имеющих опыт программирования и желающих получить глубокое представление о языке и платформе Java. Вы подробно узнаете обо всех возможностях языка, включая последние усовершенствования в Java 17. Прикладные главы и примеры кода охватывают самые современные возможности обширной библиотеки Java. На протяжении 25 лет Core Java готовит серьезных программистов к серьезному программированию на Java.

Скачать

👉 @java_360
👍3
Beginning IntelliJ IDEA: Integrated Development Environment for Java Programming
Ted Hagos (2022)

Быстро начните работу с IntelliJ: от установки и настройки до работы с исходным кодом и многого другого. Это руководство покажет вам, как использовать инструменты IntelliJ для разработки чистых и эффективных приложений на Java.

Сначала автор Тед Хагос пошагово расскажет о создании ваших первых Java-приложений с помощью IntelliJ. Затем он продемонстрирует, как проводить полный анализ приложения, используя системы контроля версий и инструменты, позволяющие масштабировать ваш проект для работы с большими данными (Big Data), Data Science и других задач. Вы также изучите некоторые продвинутые функции IDE, чтобы максимально раскрыть возможности вашего приложения. Заключительная часть книги посвящена тестированию и развертыванию приложений, а также рекомендациям, специфичным для конкретных языков и фреймворков.

Прочитав эту книгу и проработав примеры из свободно доступного исходного кода, вы в совершенстве овладеете этой мощной IDE для современной Java-разработки.

Чему вы научитесь:

- Использовать IntelliJ IDEA для создания Java-приложений.
- Настраивать среду разработки (IDE) и проект.
- Работать с исходным кодом.
- Расширять функционал Java-приложений для Data Science и других задач.
- Тестировать и развертывать приложения, и многое другое.

Для кого эта книга:

Для программистов, которые только начинают знакомство с IntelliJ IDEA и, возможно, уже имеют некоторый опыт программирования на Java.

Скачать

👉 @java_360
👍3
📚The Algorithm Design Manual
Автор: Steven S. Skiena (20202)

Книга является наиболее полным руководством по разработке эффективных алгоритмов.

Первая часть книги содержит практические рекомендации по разработке алгоритмов: приводятся основные понятия, дается анализ алгоритмов, рассматриваются типы структур данных, основные алгоритмы сортировки, операции обхода графов и алгоритмы для работы со взвешенными графами, примеры использования комбинаторного поиска, эвристических методов и динамического программирования.

Вторая часть книги содержит обширный список литературы и каталог из 75 наиболее распространенных алгоритмических задач, для которых перечислены существующие программные реализации.

В третьем издании расширен набор рандомизированных алгоритмов, алгоритмов хеширования, аппроксимации и квантовых вычислений. Добавлено более 100 новых задач, даны ссылки к реализациям на C, C++ и Java.

Книгу можно использовать в качестве справочника по алгоритмам для программистов, исследователей и в качестве учебного пособия для студентов соответствующих специальностей.

Скачать

👉 @java_360
👍2
📚Top 1000 Java Interview Questions: Includes Spring, Hibernate, Microservices, GIT, Maven, JSP, AWS, Cloud Computing
Автор: Knowledge Powerhouse (2017)

Сборник вопросов для подготовки к собеседованию на позицию Java разработчика

Скачать

👉 @java_360
👍3
🚀 Подборка полезных IT каналов в Max


Системное администрирование, DevOps 📌

https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.

1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С

Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика

Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика

Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика

GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub

Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных

Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков

Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов

Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻

Шутки программистов 📌
https://max.ru/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free

Книги, статьи для дизайнеров 📌
https://max.ru/odesigners Статьи, книги для дизайнеров

Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике

Вакансии 📌
https://max.ru/progjob Вакансии в IT

Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных


Бонус 📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы
👎4💩1🤡1