Java библиотека – Telegram
Java библиотека
31.5K subscribers
2.38K photos
91 videos
10 files
2.19K links
Книги, статьи, мемы и многое другое для Java программиста!

По сотрудничеству и рекламе: @NadikaKir

Канал в перечне РКН: https://vk.cc/cJrT4A

Мы на бирже: https://telega.in/c/javalib/

Сообщество VK https://vk.com/javatutorial
Download Telegram
Идеальная работа. Программирование без прикрас (2022) PDF

В книге «Идеальная работа. Программирование без прикрас» легендарный Роберт Мартин (Дядюшка Боб) создал исчерпывающее руководство по хорошей работе для каждого программиста. Роберт Мартин объединяет дисциплины, стандарты и вопросы этики, необходимые для быстрой и продуктивной разработки надежного, эффективного кода, позволяющего испытывать гордость за программное обеспечение, которое вы создаете каждый день. Роберт Мартин, автор бестселлера «Чистый код», начинает с прагматического руководства по пяти основополагающим дисциплинам создания программного обеспечения: разработка через тестирование, рефакторинг, простой дизайн, совместное программирование и тесты. Затем он переходит к стандартам — обрисовывая ожидания «мира» от разработчиков программного обеспечения, рассказывая, как часто различаются эти подходы, и помогает вам устранить несоответствия.
❤‍🔥10👍3
Forwarded from Java Guru 🤓
Какое имя у бина реализованного в данном классе?
👍11
Forwarded from Java Guru 🤓
👍16🎅2🔥1
Computer Science для программиста-самоучки. Все что нужно знать о структурах данных и алгоритмах (2023) PDF

Книги Кори Альтхоффа вдохновили сотни тысяч людей на самостоятельное изучение программирования. Чтобы стать профи в программировании, не обязательно иметь диплом в области computer science, и личный опыт Кори подтверждает это: он стал разработчиком ПО в eBay и добился этого самостоятельно. Познакомьтесь с наиболее важными темами computer science, в которых должен разбираться каждый программист-самоучка, мечтающий о выдающейся карьере, — это структуры данных и алгоритмы. «Computer Science для программиста-самоучки» поможет вам пройти техническое интервью, без которого нельзя получить работу в «айти». Книга написана для абсолютных новичков, поэтому у вас не должно возникнуть трудностей, даже если ранее вы ничего не слышали о computer science.
👍19🔥4
Почему строка является популярным ключом в HashMap в Java?

Поскольку строки неизменяемы, их хэш код вычисляется и кэшируется в момент создания, не требуя повторного пересчета при дальнейшем использовании. Поэтому в качестве ключа HashMap они будут обрабатываться быстрее.
👍2712🤩1
👩‍💻 ТЕСТИРОВАНИЕ НА JAVA (JUNIT, MOCKITO)

Привет. За 9 минут вы узнаете, как писать unit тесты с помощью библиотек junit и mockito.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27🔥4
Web Development Toolkit for Java Developers: Build dynamic, secure, and scalable web applications with Java (2023) Retail PDF

A beginners guide to Java programming for web development.

Key Features
- Learn one of the most in-demand skills in the field of application development.
- Get familiar with the fundamental concepts required to develop a web app.
- Understand how to develop web apps both with and without using a framework.

Denoscription
Java is a popular language for developing web applications due to its stability, scalability, and robustness.

This comprehensive guide will teach you how to develop web apps using Java. The book will help you learn how to establish a JDBC Connection in Java, develop Model-View-Controller (MVC) apps using JSP and servlets without a framework, and understand the application and use of JavaServer Faces (JSF) over JSP to effectively develop web apps.
👍13🔥1🤩1
👩‍💻 Тестирование и валидация REST-сервисов - Spring и Swagger

При разработке ПО хорошей практикой является описание некоторого контракта, на который будут опираться все компоненты системы при взаимодействии друг с другом.
Для SOAP у вас есть WSDL, а вот для REST-сервисов такого однозначного способа описания контрактов изначально нет. Какое-то время автор для этого использовал связку из Spring RestDocs и Spring Cloud Contract, но со временем и возросшей популярностью Swagger переключился на описание REST-сервисов в формате OpenAPI.
В этом
ролике автор постарается наглядно продемонстрировать способ валидации REST-сервисов на Spring при помощи Swagger во время выполнения интеграционных тестов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥3🤩1
Что делает метод intern() в классе String?

Метод intern() используется для сохранения строки в пуле строк или получения ссылки, если такая строка уже находится в пуле.
👍39
README. Суровые реалии разработчиков (2023) PDF

Начинающим программистам требуется нечто большее, чем навыки программирования. Столкнувшись с реальной работой, вы моментально понимаете, что самым нужным вещам, имеющим критическое значение для карьеры, не обучают ни в университетах, ни на курсах. Книга «README. Суровые реалии разработчиков» призвана восполнить этот пробел. Познакомьтесь с важнейшими практиками инжиниринга, которым обучают разработчиков в ведущих компаниях. Вы узнаете о том, что вас ждет при устройстве на работу, затем познакомитесь с особенностями кода промышленного уровня, эффективным тестированием, рецензированием кода, непрерывной интеграцией и развертыванием, созданием проектной документации и лучшими практиками архитектуры ПО. В последних главах описываются навыки гибкого планирования и даются советы по построению карьеры. Ключевые концепции и лучшие практики для начинающих разработчиков — то, чему вас не учили в университете!
👍182🔥1
Техника «10 тестов в день» – одна из самых эффективных в изучении Java.

Канал Java Guru выложил в открытый доступ тесты, которые дают на собеседованиях в топовые компании, вроде Яндекс и MailRu.

➤ Открываете задачку – выбираете вариант – видите правильный ответ и детальное объяснение к нему. Так вы усвоите на 50% больше знаний в сжатые сроки.

Подписывайтесь и качайте свои скиллы: @javatasks
👍8🔥21🤩1
Можно ли использовать строки в конструкции switch?

Да, начиная с Java 7 в операторе switch можно использовать строки, ранние версии Java не поддерживают этого. При этом:
• участвующие строки чувствительны к регистру;
• используется метод equals() для сравнения полученного значения со значениями case, поэтому во избежание NullPointerException стоит предусмотреть проверку на null.
• согласно документации, Java 7 для строк в switch, компилятор Java формирует более эффективный байткод для строк в конструкции switch, чем для сцепленных условий if-else.
👍20🔥5
Также у нас есть группа Вконтакте https://vk.com/javatutorial в ней мы выкладываем видео, статьи и книги. Не забудь подписаться 😉
👍10🔥2
Основы Java. 2-е изд. (2019) PDF, DJVU

Описан базовый синтаксис языка Java: типы данных, операторы, условия, циклы, регулярные выражения, лямбда-выражения, ссылки на методы, объектно-ориентированное программирование. Рассмотрены основные классы стандартной библиотеки, получение данных из сети Интернет, работа с базой данных MySQL. Приводится описание Date API, Stream API, лямбда-выражений, ссылок на методы, функциональные интерфейсы и др. Во втором издании приводится описание большинства нововведений: модули, интерактивная оболочка JShell, инструкция var и др. Книга содержит большое количество практических примеров, помогающих начать программировать на языке Java самостоятельно. Весь материал тщательно подобран, хорошо структурирован и компактно изложен, что позволяет использовать книгу как удобный справочник. Электронный архив с примерами из книги можно скачать с сайта издательства.
👍17🔥4
Какая основная разница между String, StringBuffer, StringBuilder?

Класс String является неизменяемым (immutable) - модифицировать объект такого класса нельзя, можно лишь заменить его созданием нового экземпляра.

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

Класс StringBuilder был добавлен в Java 5 и он во всем идентичен классу StringBuffer за исключением того, что он не синхронизирован и поэтому его методы выполняются значительно быстрей.
👍35🔥2
Можно ли переопределить статический метод?

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

На перегрузку (overload) статического метода не накладывается никаких ограничений. С точки зрения компилятора, методы с разным списком аргументов – разные методы. Но это не переопределение.

Метод с модификатором static относится к классу, а не к его объектам. Для него работает статическое связывание, поэтому именно переопределение (override) в дочернем классе не работает.

Несмотря на это, в дочернем классе можно объявить static метод с такой же сигнатурой, как в родительском. В этом случае произойдет не перегрузка и не переопределение, а перекрытие (shadowing). К такому методу нельзя применить аннотацию
@Override, в нём нельзя использовать ключевое слово super.

Если вы вызываете статический метод от переменной, а не типа, перекрытие таит в себе опасность. Без динамического связывания компилятор знает только о типе переменной, но не о типе ее значения. Если объявленный тип переменной – базовый класс, то метод-перекрытие никогда не вызовется. Поэтому при попытке такого вызова в IDE мы видим предупреждение.
👍30🔥6❤‍🔥21
Практика реактивного программирования в Spring 5 (2019) PDF

Создание облачных реактивных систем с помощью Spring 5 и Project Reactor Современному бизнесу необходимы программные системы нового типа, способные оставаться отзывчивыми при любых нагрузках. Эту потребность можно удовлетворить с использованием приемов реактивного программирования; однако разработка таких систем - сложная задача, требующая глубокого понимания предметной области. Для разработки отзывчивых систем разработчики Spring Framework придумали и создали проект Project Reactor. Данная книга начинается с основ реактивного программирования в Spring. Вы исследуете многочисленные возможности построения эффективных реактивных систем с помощью Spring 5 и других инструментов, таких как WebFlux и Spring Boot. Познакомитесь с методами реактивного программирования и научитесь использовать их для взаимодействий с базами данных и между серверами.
👍17🔥4
Что такое класс Object? Какие в нем есть методы?

Object это базовый класс для всех остальных объектов в Java. Любой класс наследуется от Object и, соответственно, наследуют его методы:

public boolean equals(Object obj) – служит для сравнения объектов по значению;

int hashCode() – возвращает hash код для объекта;

String toString() – возвращает строковое представление объекта;

Class getClass() – возвращает класс объекта во время выполнения;

protected Object clone() – создает и возвращает копию объекта;

void notify() – возобновляет поток, ожидающий монитор;

void notifyAll() – возобновляет все потоки, ожидающие монитор;

void wait() – остановка вызвавшего метод потока до момента пока другой поток не вызовет метод notify() или notifyAll() для этого объекта;

void wait(long timeout) – остановка вызвавшего метод потока на определённое время или пока другой поток не вызовет метод notify() или notifyAll() для этого объекта;

void wait(long timeout, int nanos) – остановка вызвавшего метод потока на определённое время или пока другой поток не вызовет метод notify() или notifyAll() для этого объекта;

protected void finalize() – может вызываться сборщиком мусора в момент удаления объекта при сборке мусора.
👍37🔥21
Java: руководство для начинающих, 9-е издание (2023) PDF

В этой книге, которая полностью обновлена с учетом Java Platform Standard Edition 17, начиная с самой первой главы, шаг за шагом показано, как приступить к программированию на языке Java. Книга, написанная ведущим специалистом по Java Гербертом Шилдтом, начинается с основ, таких как создание, компиляция и запуск программ на Java. Затем объясняются основные ключевые слова, синтаксис и команды языка Java.В книге раскрыты основы и кратко описаны расширенные функциональные средства, в числе которых многопоточное программирование, обобщения, лямбда-выражения и графический интерфейс Swing. Вдобавок приводится четкое объяснение перечислений, модулей и методов интерфейса. В этом руководстве предлагается эффективное сочетание теории и практики написания кода, которое позволит быстро приступить к разработке приложений на языке Java.
👍255
👩‍💻 Как устроить Deadlock, а затем уйти от взаимной блокировки навсегда

Что такое Deadlock или как намеренно создать взаимную блокировку потоков, а затем исправить алгоритм на языке программирования Java.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍171