Java библиотека
31.6K subscribers
2.31K photos
77 videos
8 files
2.04K links
Книги, статьи, мемы и многое другое для Java программиста!

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

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

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

Сообщество VK https://vk.com/javatutorial
Download Telegram
Какова роль equals() и hashCode() в HashMap?

hashCode позволяет определить корзину для поиска элемента, а equals используется для сравнения ключей элементов в списке корзины и искомого ключа.
👍242🔥2
👩‍💻 Источники информации о пользователях - Spring Security в деталях

В этом ролике автор рассказывает об источниках информации о пользователях, способе реализации такого источника при помощи JDBC и его использовании.
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍4🔥3
Как сделать ссылки на методы дружелюбными для отладки

В Java 8 появилось два вида функциональных выражений — лямбда-выражения вида s -> System.out.println(s) и ссылки на методы вида System.out::println. Поначалу ссылки на методы вызывали больше энтузиазма: они часто компактнее, вам не требуется придумывать имя для переменной, а ещё старожилы говорят, что они несколько оптимальнее, чем лямбда-выражения. Однако со временем энтузиазм ослаб. Одна из проблем со ссылками на методы — затруднённая отладка ошибок.

Читать статью
10👍10🔥9😁1
Асинхронность в Java

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

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

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

Читать статью
👍1071
Чем больший объем данных используют на проекте, чем выше нагрузка на систему – тем более продвинутый SQL нужен разработчикам. Изучить SQL и свободно использовать его в работе поможет курс Практикума.

После 3 месяцев курса разработчики смогут:
— уверенно пользоваться простыми селектами, джоинами, индексами и оконными функциями;
— отладить запрос, который сгенерирован через ORM;
— составить сложные запросы на нативном SQL;
— применить продвинутый SQL, чтобы писать код для высоконагруженных систем,
— чувствовать себя спокойно на собеседованиях.

Записывайтесь и растите в карьере.
8👍61
Разработка обслуживаемых программ на языке Java (2017) PDF

Вы когда-нибудь ощущали разочарование, работая с чужим кодом? Сегодня трудности сопровождения исходного кода представляют важную проблему разработки программного обеспечения, приводящую к дорогостоящим срывам сроков и ошибкам. Подключайтесь к ее решению. Данное практическое руководство познакомит вас с 10 простыми рекомендациями, помогающими писать программное обеспечение, которое легко поддерживать и адаптировать. Эти тезисы сформулированы на основании анализа сотен реальных систем.
Написанная консультантами компании Software Improvement Group (SIG), книга содержит ясные и краткие советы по применению рекомендаций на практике. Примеры для этого издания написаны на языке Java, но существует аналогичная книга с примерами на языке C#.
👍108🔥2
Сколько переходов происходит в момент вызова HashMap.get(key) по ключу, который есть в таблице?

• ключ равен null: 1 - выполняется единственный метод getForNullKey().
• любой ключ отличный от null: 4 - вычисление хэш-кода ключа; определение номера корзины; поиск значения; возврат значения.
👍216🎉3🔥1
Техника «10 тестов в день» – одна из самых эффективных в изучении Java.

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

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

Подписывайтесь и качайте свои скиллы: @javatasks
7👍5🔥2
Примитивные типы данных в Java

Java как язык программирования является одновременно статически-типизированными и строго-типизированным.

Статическая типизация означает, что тип данных каждой переменной и каждого выражения должен быть объявлен до момента их использования.

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

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

Читать статью
👍178🔥3
Сколько создается новых объектов, когда вы добавляете новый элемент в HashMap?

Один
новый объект статического вложенного класса Entry<K,V>.
👍19
👩‍💻 В этом выпуске Николай Парлог расскажет обо всем, что вам нужно знать для миграции проекта с Java 17 до Java 21.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73🔥2
Java: устранение проблем (2023) True PDF

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

Издание подойдет для Java-разработчиков средней квалификации.

«Наконец-то вышла книга, которая демонстрирует, как устранять проблемы и исследовать Java-приложения в производственной среде! Она определенно может спасти положение!»
Атул Шринивас Хот, SquareOne Insights
👍125🔥4
Также у нас есть группа Вконтакте https://vk.com/javatutorial в ней мы выкладываем видео, статьи, книги и вакансии. Не забудь подписаться 😉
👍6🔥421
Как и когда происходит увеличение количества корзин в HashMap?

Помимо capacity у HashMap есть еще поле loadFactor, на основании которого, вычисляется предельное количество занятых корзин capacity * loadFactor. По умолчанию loadFactor = 0.75. По достижению предельного значения, число корзин увеличивается в 2 раза и для всех хранимых элементов вычисляется новое «местоположение» с учетом нового числа корзин.
👍19🔥2
👩‍💻Java. Для чего нужен Optional?

В этом видео рассказывается, когда и почему следует применять Optional при разработке на языке программирования Java.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥53❤‍🔥1
Объясните смысл параметров в конструкторе HashMap(int initialCapacity, float loadFactor).

initialCapacity - исходный размер HashMap, количество корзин в хэш-таблице в момент её создания.
loadFactor - коэффициент заполнения HashMap, при превышении которого происходит увеличение количества корзин и автоматическое перехэширование. Равен отношению числа уже хранимых элементов в таблице к её размеру.
👍281
Spring. Все паттерны проектирования (2019) PDF

В этой книге дается обзор фреймворка Spring 5 и паттернов проектирования для него. Объясняется принцип внедрения зависимостей (dependency injection), играющий ключевую роль при создании слабосвязанного кода во фреймворке Spring. Затем рассматриваются классические паттерны «Банды четырех» при проектировании приложений на Spring. В следующих частях книги автор рассматривает паттерны аспектно-ориентированного программирования (AOP), шаблоны JDBC, позволяющие абстрагировать доступ к базе данных. В заключительных главах книги автор исследует работу с MVC, реактивные шаблоны проектирования и паттерны проектирования, применяемые при конкурентном и параллельном программировании в Spring.
12👍9
Ты Java-Разработчик уровня Senior? Значит встречаемся на USETECH Offer Weekend!
Мечтаешь работать в аккредитованной IT-компании с интересными проектами и развитой корпоративной культурой? Отправь резюме, пройди собеседование и получи предоффер в ГК Юзтех за выходные!

Даты offer weekend: 23-24 сентября 2023 года
Формат: онлайн
Дедлайн регистрации: 18 сентября 23:59

💥Что мы предлагаем:
Конкурентную заработную плату
Интересные задачи
Условия работы в соответствии с ТК РФ + социальный пакет
Формат работы — удаленно или в офисе
Классную команду и корпоративные мероприятия
Гибкий рабочий график
📌Зарегистрируйся, пройди собеседование и получи предоффер: https://clck.ru/35ayPP
👍7🔥3
👩‍💻 Запуск потоков в Java

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

Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1