Найкращі книги по Java

Spring Boot with React and AWS: Learn to Deploy a Full Stack Spring Boot React Application to AWS
Spring Boot with React and AWS: Learn to Deploy a Full Stack Spring Boot React Application to AWS описує Amazon Web Services (AWS), деякі його ключові сервіси, такі як EC2, Elastic Beanstalk, Amazon RDS та Amazon Route 53, демонструє як створити обліковий запис AWS, сервер, додаток HelloWorld JSP, WAR-файл з допомогою Maven та завантажити файл в Elastic Beanstalk. Далі ви навчитеся розгортати Spring Boot REST API в AWS за допомогою Elastic Beanstalk, що дасть вам можливість створити та розгорнути програму Spring Boot, ознайомитесь з Amazon RDS, операціями CRUD в додатку Spring Boot та дізнаєтесь як розгорнути додаток Spring Boot, який працює з MySQL в AWS. Наприкінці ознайомитесь з основними компонентами для розробки односторінкового додатку з використанням React як інтерфейсу для використання API, наданого серверною програмою, налаштуєте середовище для розробки програми React і попрацюєте з S3 в AWS, де й розгорнете програму React.
Дана книга підійде програмістам з досвідом розробки у Java, Spring Boot та React, які бажають навчитися розгортати повний стек додатку Spring Boot React на AWS за допомогою сервісів AWS Elastic Beanstalk та S3.
Про авторів
Раві Кант Соні (Ravi Kant Soni) – провідний фул стек інженер з більш ніж 11-річним досвідом у галузі IT, AWS Certified Solutions Architect. Раві має досвід у розробці програмного забезпечення, проектуванні ПЗ, архітектурі систем, програмуванні застосунків та автоматизації тестування. Має ступінь бакалавра з інформаційних наук та інженерії з Reva University, Бангалор, і навчався в Bal Vikash Vidyalaya, Сасарам і Біхарі (Індія). Також він є поважним членом Ради досліджень у школі обчислювальної техніки та інформаційних технологій REVA University у Бангалорі.
Намраті Соні (Namrata Soni) – розробник веб-додатків-самоучка, що захоплюється красивими і інтерактивними інтерфейсами користувача (UI). Має ступінь в галузі комп'ютерних наук з Sagar Institute of Science & Technology, Бхопал; і навчалася в школі Bal Vikash Vidyalaya, Сасарам і Біхарі (Індія). Вона любить чистий та добре протестований код, великий прихильник відкритого коду та насолоджується вивченням чогось нового. Зараз працює з React та Node.js, щоб створювати сучасні додатки JavaScript.

Java Concurrency in Practice
Java Concurrency in Practice – практичний посібник з написання надійних та ефективних багатопотокових застосунків з використанням мови програмування Java. Автори зібрали найкращі практики, відомі пастки й передові методи управління потоками та синхронізації у багатопотокових програмах.
Книга охоплює широкий спектр тем, включаючи базові концепції паралелізму та безпеки потоків, методи побудови та складання багатопотокових класів, використання блоків паралелізму в java.util.concurrent, оптимізацію продуктивності: що можна робити, а що не варто й намагатися, тестування паралельних програм, атомарні змінні, неблокуючі алгоритми та модель пам'яті Java.
Розробка, тестування та налагодження багатопоточних програм досі може бути дуже складним, оскільки вони, начебто працюють, але часто зазнають збоїв при високому навантаженні в реальному середовищі. Автори використали свій чималий досвід, щоб надати зрозумілі пояснення, реальні приклади та практичні вправи, що допомагають розробникам розібратись у тонкощах паралельного програмування та навчитись створювати надійні та масштабовані багатопотокові застосунки, знайомлять із правилами проектування, патернами та моделями, які не залежать від версії Java і протягом багатьох років залишаються актуальними та ефективними.
Про авторів
Брайан Гетц (Brian Goetz) – професійний розробник із більш ніж 20-річним стажем. Він є основним автором вищезгаданої книги Java Concurrency In Practice, а також більш ніж 75 статей, присвячених розробці програмного забезпечення. Понад десять років Браян працює архітектором мови Java в Oracle.
Тім Пайерлз (Tim Peierls) – має різноманітний досвід роботи в таких сферах, як BoxPop.biz, записи звуку та театр. Він також є основним членом експертної групи Java Community Process JSR 166 та брав участь у численних інших експертних групах JCP.
Джошуа Блох (Joshua Bloch) – програмний інженер. Був головним архітектором Java у Google, видатним інженером у Sun Microsystems і старшим системним дизайнером у Transarc. Він керував розробкою та впровадженням численних функцій платформи Java, включаючи вдосконалення мови JDK 5.0 і Java Collections Framework.
Девід Холмс (David Holmes) – директор компанії DLTeCH Pty Ltd, що розташована в Брісбені, Австралія. Він спеціалізується на синхронізації та спільній роботі та є учасником експертної групи JSR-166, що розробляла нові засоби спільної роботи. Він також є співавтором оновлення специфікації Real-Time для Java та останні роки працює над реалізацією цієї специфікації.
Джозеф Боубір (Joseph Bowbeer) – архітектор програмного забезпечення в компанії Vizrea Corporation, де він спеціалізується на розробці мобільних додатків для платформи Java ME. Однак його захоплення паралельним програмуванням почалося ще на його роботі в Apollo Computer. Він брав участь у експертній групі JCP для JSR-166.
Даг Лі (Doug Lea) – автор книг, статей, та специфікацій, пов'язаних зі стандартизацією ООП в сфері програмування та різноманітних технік роздільного, паралельного програмування. Даг Лі є автором декількох широко викрустовуваних пакетів програмування та компонентів, а також пакету '''java.base.util.concurrent''' для паралельного програмування в Java.

Effective Java. 3rd Edition
Ця книга допомагає ефективно використовувати мову програмування Java та її основні бібліотеки: java.lang, java.util і java.io. Автор досліджує нові шаблони проектування та мовні ідіоми, що виникли внаслідок значного розширення можливостей та функціоналу Java, включаючи лямбда-вирази, функціональні інтерфейси, потоки, дженерики та колекції, нові можливості бібліотеки, такі як інтерфейс Optional, java.time та зручні фабричні методи для колекцій, а також вибрані функції Java 9.
Книга складається з 11 розділів, що можуть вивчатись відокремлено один від одного та у яких викладаються корисні практики, надаються конкретні поради, розглядаються важливі нюанси платформи Java та наводяться оновлені приклади коду. Вичерпні описи та пояснення до кожного пункту дозволяють зрозуміти, що робити, чого не робити та чому.
Про автора
Джошуа Блох (Joshua Bloch) є професором Університету Карнегі-Меллона. Раніше він був головним архітектором Java у Google, видатним інженером у Sun Microsystems і старшим системним дизайнером у Transarc. Він керував розробкою та впровадженням численних функцій платформи Java, включаючи вдосконалення мови JDK 5.0 і Java Collections Framework. Має ступінь доктора філософії з інформатики в Університеті Карнегі-Меллона та ступінь бакалавра наук в інформатиці з Колумбійського університету.

Head First. Патерни проєктування
«Патерни проєктування» — ваша книжка, якщо вам хоч колись доводилося стикатися з проблемами дизайну програмного забезпечення. Вам не доведеться «винаходити колесо» — просто скористайтеся зведеним докупи величезним досвідом розробників і можливістю використовувати найкращі практики.
Ви дізнаєтеся, навіщо потрібні патерни, побачите, як вони виглядають і працюють у «дикій природі», а призвичаївшись до їх використання, зможете витратити вільний час на щось більш складне і цікаве. Автори чудово показали, як патерни використовуються у Java API і як застосувати вбудовану підтримку патернів Java у вашому власному коді. Заразом ви засвоїте реальні принципи ОО-програмування, що залишаться з вами і тоді, коли доведеться працювати без патернів.
Візуально насичений формат книжки розроблений із використанням новітніх досліджень в галузях нейробіології, когнітивної науки і теорії навчання. Тому весь її матеріал миттєво запам’ятовується, і невдовзі ви зможете з легкістю спілкуватися з іншими членами вашої команди на «таємній мові» патернів проєктування.
Читайте нас в Telegram, щоб не пропустити огляд цікавих книг.