Сколько создается новых объектов, когда вы добавляете новый элемент в HashMap?
Один новый объект статического вложенного класса
Один новый объект статического вложенного класса
Entry<K,V>
.👍19
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
How to Upgrade to Java 21 #RoadTo21
Java 21 is chock-full of great features and if you're coming all the way from 17, there's a plethora of additions to use and get used to, but it's all for naught if you can't actually update. In this #RoadTo21 episode, we discuss all you need to know to update…
👍7❤3🔥2
Java: устранение проблем (2023) True PDF
В этой книге представлены практические методики исследования и улучшения незнакомого кода. Вы узнаете о том, как определять скрытые зависимости, выявлять главные причины критических сбоев и аварийных завершений приложений, а также интерпретировать неожиданные результаты. Осваивайте профилирование и отладку и начинайте исследовать, как в действительности работают Java-приложения.
Издание подойдет для Java-разработчиков средней квалификации.
«Наконец-то вышла книга, которая демонстрирует, как устранять проблемы и исследовать Java-приложения в производственной среде! Она определенно может спасти положение!»
Атул Шринивас Хот, SquareOne Insights
В этой книге представлены практические методики исследования и улучшения незнакомого кода. Вы узнаете о том, как определять скрытые зависимости, выявлять главные причины критических сбоев и аварийных завершений приложений, а также интерпретировать неожиданные результаты. Осваивайте профилирование и отладку и начинайте исследовать, как в действительности работают Java-приложения.
Издание подойдет для Java-разработчиков средней квалификации.
«Наконец-то вышла книга, которая демонстрирует, как устранять проблемы и исследовать Java-приложения в производственной среде! Она определенно может спасти положение!»
Атул Шринивас Хот, SquareOne Insights
👍12❤5🔥4
Также у нас есть группа Вконтакте https://vk.com/javatutorial в ней мы выкладываем видео, статьи, книги и вакансии. Не забудь подписаться 😉
👍6🔥4❤2☃1
Как и когда происходит увеличение количества корзин в HashMap?
Помимо
Помимо
capacity
у HashMap
есть еще поле loadFactor
, на основании которого, вычисляется предельное количество занятых корзин capacity * loadFactor
. По умолчанию loadFactor = 0.75
. По достижению предельного значения, число корзин увеличивается в 2 раза и для всех хранимых элементов вычисляется новое «местоположение» с учетом нового числа корзин.👍19🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Java. Для чего нужен Optional?
В этом видео рассказывается, когда и почему следует применять Optional при разработке на языке программирования Java.
Поддержать канал на Boosty:
https://boosty.to/arhitutorials
Наш чатик в Telegram:
https://t.me/ArhiTutorials
#arhitutorialsjava #ityoutubersru
Поддержать канал на Boosty:
https://boosty.to/arhitutorials
Наш чатик в Telegram:
https://t.me/ArhiTutorials
#arhitutorialsjava #ityoutubersru
👍19🔥5❤3❤🔥1
Объясните смысл параметров в конструкторе HashMap(int initialCapacity, float loadFactor).
• initialCapacity - исходный размер
• loadFactor - коэффициент заполнения
• initialCapacity - исходный размер
HashMap
, количество корзин в хэш-таблице в момент её создания.• loadFactor - коэффициент заполнения
HashMap
, при превышении которого происходит увеличение количества корзин и автоматическое перехэширование. Равен отношению числа уже хранимых элементов в таблице к её размеру.👍28❤1
В данном видео автор рассказывает, что такое RxJava. Для пояснения использует аналогию со Stream API, и примеры использования.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
RxJava. Неформальное введение.
В данном видео я рассказываю, что такое RxJava. Для пояснения использую аналогию со Stream API, и примеры использования.
Исходный код для примеров тут:
https://github.com/Arhiser/java_tutorials/tree/master/src/ru/arhiser/rxjava
Поддержать канал на Boosty:…
Исходный код для примеров тут:
https://github.com/Arhiser/java_tutorials/tree/master/src/ru/arhiser/rxjava
Поддержать канал на Boosty:…
👍15❤1
Spring. Все паттерны проектирования (2019) PDF
В этой книге дается обзор фреймворка Spring 5 и паттернов проектирования для него. Объясняется принцип внедрения зависимостей (dependency injection), играющий ключевую роль при создании слабосвязанного кода во фреймворке Spring. Затем рассматриваются классические паттерны «Банды четырех» при проектировании приложений на Spring. В следующих частях книги автор рассматривает паттерны аспектно-ориентированного программирования (AOP), шаблоны JDBC, позволяющие абстрагировать доступ к базе данных. В заключительных главах книги автор исследует работу с MVC, реактивные шаблоны проектирования и паттерны проектирования, применяемые при конкурентном и параллельном программировании в Spring.
В этой книге дается обзор фреймворка 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
Мечтаешь работать в аккредитованной IT-компании с интересными проектами и развитой корпоративной культурой? Отправь резюме, пройди собеседование и получи предоффер в ГК Юзтех за выходные!
Даты offer weekend: 23-24 сентября 2023 года
Формат: онлайн
Дедлайн регистрации: 18 сентября 23:59
💥Что мы предлагаем:
Конкурентную заработную плату
Интересные задачи
Условия работы в соответствии с ТК РФ + социальный пакет
Формат работы — удаленно или в офисе
Классную команду и корпоративные мероприятия
Гибкий рабочий график
📌Зарегистрируйся, пройди собеседование и получи предоффер: https://clck.ru/35ayPP
👍7🔥3
В этой статье мы разберем различные способы запуска потоков. Описав задачу, мы выполнить ее в многопоточной среде при помощи класса Thread и сравним с продвинутыми способами работы создания и запуска потоков.
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegraph
Запуск потоков в Java
1. Введение В этой статье мы разберем различные способы запуска потоков. Описав задачу, мы выполнить ее в многопоточной среде при помощи класса Thread и сравним с продвинутыми способами работы создания и запуска потоков. 2. Базовый запуск Thread 2.1 Переопределить…
👍6🔥1
SOLID на практике в автоматизации тестирования
Как на практике реализовать все принципы и упростить разработку тестирования BDD ?
Примером будет интеграционное тестирование, но вам ничего не помешает реализовать для End2End
Читать статью
Как на практике реализовать все принципы и упростить разработку тестирования BDD ?
Примером будет интеграционное тестирование, но вам ничего не помешает реализовать для End2End
Читать статью
Telegraph
SOLID на практике в автоматизации тестирования
Как на практике реализовать все принципы и упростить разработку тестирования BDD ? Для чего нужны принципы SOLID При создании программных систем использование принципов SOLID способствует созданию такой системы, которую будет легко поддерживать и расширять…
👍13🔥2❤1
В этом новом видео "История систем контроля версий" автор рассказывает об эволюции систем контроля версий, начиная с первых командных интерфейсов и заканчивая современными децентрализованными системами. Автор описывает основные принципы и функциональность таких систем, как SCCS, RCS, CVS, SVN и Git, рассказывает о их преимуществах и ограничениях, а также о том, как они повлияли на развитие современного программного обеспечения.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤2🔥2
Introducing Spring Framework 6: Learning and Building Java-based Applications With Spring, Second Edition (2022) PDF, ePUB
Spring Framework 6 remains - by far - the leading de-facto "out of the box" practical Java meta application development framework for building complex enterprise, cloud-native applications as well as web applications and microservices. Introducing Spring Framework 6 is your hands-on tutorial guide for learning the Spring Framework 6 from top to bottom, and allows you to build an example application along the way from the ground-up.
As you learn the Spring Framework over the course of this book, you’ll incrementally build your first Spring application piece-by-piece as you learn each module, project or component of the Spring Framework and its extensions and ecosystem. As you learn the various fundamentals, you'll then apply them immediately to your Spring application. This Spring application, My Documents, enables you to learn by doing.
Spring Framework 6 remains - by far - the leading de-facto "out of the box" practical Java meta application development framework for building complex enterprise, cloud-native applications as well as web applications and microservices. Introducing Spring Framework 6 is your hands-on tutorial guide for learning the Spring Framework 6 from top to bottom, and allows you to build an example application along the way from the ground-up.
As you learn the Spring Framework over the course of this book, you’ll incrementally build your first Spring application piece-by-piece as you learn each module, project or component of the Spring Framework and its extensions and ecosystem. As you learn the various fundamentals, you'll then apply them immediately to your Spring application. This Spring application, My Documents, enables you to learn by doing.
👍5❤2🔥1
В чём заключается разница между IO и NIO?
• Java IO (input-output) является потокоориентированным, а
• Потоки ввода/вывода в
• В
• Java IO (input-output) является потокоориентированным, а
Java NIO (new/non-blocking io)
– буфер-ориентированным. Потокоориентированный ввод/вывод подразумевает чтение/запись из потока/в поток одного или нескольких байт в единицу времени поочередно. Данная информация нигде не кэшируются. Таким образом, невозможно произвольно двигаться по потоку данных вперед или назад. В Java NIO
данные сначала считываются в буфер, что дает больше гибкости при обработке данных.• Потоки ввода/вывода в
Java IO
являются блокирующими. Это значит, что когда в потоке выполнения вызывается read()
или write()
метод любого класса из пакета java.io.*
, происходит блокировка до тех пор, пока данные не будут считаны или записаны. Поток выполнения в данный момент не может делать ничего другого. Неблокирующий режим Java NIO
позволяет запрашивать считанные данные из канала (channel) и получать только то, что доступно на данный момент, или вообще ничего, если доступных данных пока нет. Вместо того, чтобы оставаться заблокированным пока данные не станут доступными для считывания, поток выполнения может заняться чем-то другим. Тоже самое справедливо и для неблокирующего вывода. Поток выполнения может запросить запись в канал некоторых данных, но не дожидаться при этом пока они не будут полностью записаны.• В
Java NIO
имеются селекторы, которые позволяют одному потоку выполнения мониторить несколько каналов ввода. Т.е. существует возможность зарегистрировать несколько каналов с селектором, а потом использовать один поток выполнения для обслуживания каналов, имеющих доступные для обработки данные, или для выбора каналов, готовых для записи.👍28🎉2❤1
МТС начала прием заявок на ИТ-олимпиаду True Tech Champ
Олимпиада имеет два трека для разных возрастных категорий:
— учащиеся старших классов и студенты могут соревноваться за призы до 1 млн рублей
— ИТ-специалисты могут выиграть до 3 млн рублей.
Регистрация доступна с 4 сентября по 5 октября на официальном сайте мероприятия.
Участникам предоставляется образовательная поддержка, включая курсы и мастер-классы. Это мероприятие призвано объединить ИТ-сообщество и выявить новые таланты в России.
Олимпиада имеет два трека для разных возрастных категорий:
— учащиеся старших классов и студенты могут соревноваться за призы до 1 млн рублей
— ИТ-специалисты могут выиграть до 3 млн рублей.
Регистрация доступна с 4 сентября по 5 октября на официальном сайте мероприятия.
Участникам предоставляется образовательная поддержка, включая курсы и мастер-классы. Это мероприятие призвано объединить ИТ-сообщество и выявить новые таланты в России.
😁10👍5
Графический интерфейс для bash, делаем работу в командной строке удобнее
Когда пишешь код в IntelliJ IDEA, привыкаешь что везде есть подсказки, везде где можно работает комплишен, всегда можно одним кликом перейти на декларацию метода или на его юсаджи. После этого интерфейс командной строки выглядит как-то бедно. Конечно, он очень хорошо продуман, сделан настолько удобным, насколько это возможно в текстовом UI, но в графическом UI возможностей намного больше. Представляю вам плагин для JetBrains IDE, позволяющий работать в командной строке cо всеми удобствами IDE.
Читать статью
Когда пишешь код в IntelliJ IDEA, привыкаешь что везде есть подсказки, везде где можно работает комплишен, всегда можно одним кликом перейти на декларацию метода или на его юсаджи. После этого интерфейс командной строки выглядит как-то бедно. Конечно, он очень хорошо продуман, сделан настолько удобным, насколько это возможно в текстовом UI, но в графическом UI возможностей намного больше. Представляю вам плагин для JetBrains IDE, позволяющий работать в командной строке cо всеми удобствами IDE.
Читать статью
Teletype
Графический интерфейс для bash, делаем работу в командной строке удобнее
Когда пишешь код в IntelliJ IDEA, привыкаешь что везде есть подсказки, везде где можно работает комплишен, всегда можно одним кликом...
👍19🤩1
Prostore — простой Event sourcing + CQRS фреймворк
На данный момент на рынке мало Event sourcing + CQRS фреймворков. А те, что есть, непопулярны и имеют слабую поддержку, поэтому многие создают свои in-house решения. В этой статье расскажу о выполненном командой «Programming Store» проекте Prostore, который может послужить примером при создании вашего собственного решения.
Читать статью
На данный момент на рынке мало Event sourcing + CQRS фреймворков. А те, что есть, непопулярны и имеют слабую поддержку, поэтому многие создают свои in-house решения. В этой статье расскажу о выполненном командой «Programming Store» проекте Prostore, который может послужить примером при создании вашего собственного решения.
Читать статью
Teletype
Prostore — простой Event sourcing + CQRS фреймворк
На данный момент на рынке мало Event sourcing + CQRS фреймворков. А те, что есть, непопулярны и имеют слабую поддержку, поэтому многие...
👍13❤3🔥2
Что такое «каналы»?
Каналы (channels) – это логические (не физические) порталы, абстракции объектов более низкого уровня файловой системы (например, отображенные в памяти файлы и блокировки файлов), через которые осуществляется ввод/вывод данных, а буферы являются источниками или приёмниками этих переданных данных. При организации вывода, данные, которые необходимо отправить, помещаются в буфер, который затем передается в канал. При вводе, данные из канала помещаются в заранее предоставленный буфер.
Каналы напоминают трубопроводы, по которым эффективно транспортируются данные между буферами байтов и сущностями по ту сторону каналов. Каналы – это шлюзы, которые позволяют получить доступ к сервисам ввода/вывода операционной системы с минимальными накладными расходами, а буферы – внутренние конечные точки этих шлюзов, используемые для передачи и приема данных.
Каналы (channels) – это логические (не физические) порталы, абстракции объектов более низкого уровня файловой системы (например, отображенные в памяти файлы и блокировки файлов), через которые осуществляется ввод/вывод данных, а буферы являются источниками или приёмниками этих переданных данных. При организации вывода, данные, которые необходимо отправить, помещаются в буфер, который затем передается в канал. При вводе, данные из канала помещаются в заранее предоставленный буфер.
Каналы напоминают трубопроводы, по которым эффективно транспортируются данные между буферами байтов и сущностями по ту сторону каналов. Каналы – это шлюзы, которые позволяют получить доступ к сервисам ввода/вывода операционной системы с минимальными накладными расходами, а буферы – внутренние конечные точки этих шлюзов, используемые для передачи и приема данных.
👍9🔥4❤2
Айтишники, у вас бывало такое: пишете код и думаете, что он достоин Нобелевской премии, Оскара и всех наград этого мира? 💎
Тогда вам точно нужно попробовать свои силы в Конкурсе красоты кода, который запустил Сбер специально ко Дню программиста. Чтобы побороться за звание «Автор самого красивого кода» и получить один из пятнадцати iPhone 14, нужно:
✔️ Выбрать дисциплину по душе и скилам: Python, Java, Data Science, Frontend или Android.
✔️ Написать свой эталонный код до 18 сентября по ссылке.
✔️ Дождаться результатов — их объявят 21 сентября.
Переходи по ссылке, читай подробности, и вперёд — к коду мечты 💚
Тогда вам точно нужно попробовать свои силы в Конкурсе красоты кода, который запустил Сбер специально ко Дню программиста. Чтобы побороться за звание «Автор самого красивого кода» и получить один из пятнадцати iPhone 14, нужно:
✔️ Выбрать дисциплину по душе и скилам: Python, Java, Data Science, Frontend или Android.
✔️ Написать свой эталонный код до 18 сентября по ссылке.
✔️ Дождаться результатов — их объявят 21 сентября.
Переходи по ссылке, читай подробности, и вперёд — к коду мечты 💚
👍8🔥2