Обложка канала

Библиотека Java разработчика. Страница 11

9291 @BookJava

Библиотека Java разработчика. Книги по программированию на Java.

  • Библиотека Java разработчика

    Map.putIfAbsent Раньше, чтобы добавить пару в Map, если её там нет, необходимо было делать следующее (часть 1 на картинке). С появлением Java 8 всё стало гораздо проще (часть 2 на картинке). 👉@BookJava
  • Библиотека Java разработчика

    ⚡️ Хотите создавать бэкенд Kotlin на высоком уровне? Приходите за новыми навыками на открытый урок онлайн-курса «Kotlin Backend Developer. Professional» в OTUS. Тема вебинара: «Основы бизнес-логики и разработка библиотеки для шаблона CoR». Когда: 30 января в 20:00 мск Спикер: Евгений Непомнящий, разработчик в М-Тех и преподаватель курса. На занятии мы: — Поговорим про общие принципы построения бизнес-логики приложения, — Рассмотрим фреймворки для разработки бизнес-логики, — Узнаем про такие шаблоны проектирования, как фасад и цепочка обязанностей, — Разработаем библиотеку для шаблона «Цепочка обязанностей» с использованием DSL и coroutines. 👉 Для регистрации пройдите вступительный тест: РЕГИСТРАЦИЯ
  • Библиотека Java разработчика

    Collection.removeIf Метод перебирает коллекцию, и удаляет те элементы, которые соответствуют filter. В нашем примере мы в одну строку удаляем из списка все числа больше 5. 👉@BookJava
  • Реклама

  • Библиотека Java разработчика

  • Библиотека Java разработчика

    Как начать развиваться в архитектуре приложений? Начните с просмотра вебинара по антипаттернам проектирования, где мы обсудим: ▪️Что такое антипаттерны, почему они существуют, зачем про них надо знать и как к ним относиться. ▪️Антипаттерны «Инверсия абстракции» и «Большой комок грязи»: расскажем про примеры из жизни и что с этим делать. ▪️Нарушение архитектурных границ: чем это грозит и как обнаружить на раннем этапе. ▪️Vendor-lock-in, Cover Your ASSets и The Shiny Nickel. ▪️Плохие практики передачи данных через архитектурные границы. А потом приходите к нам на курс по Архитектуре приложений☺️ Смотреть вебинар: https://www.youtube.com/live/VNFP3ZlP3Io
  • Библиотека Java разработчика

    Deploying Java Serverless Functions as AWS Lambda

    Learn about SAM (superset of CloudFormation) including some special commands and shortcuts to ease Java serverless code development, testing, and deployment.

    DZone
  • Библиотека Java разработчика

  • Библиотека Java разработчика

  • Библиотека Java разработчика

    Как написать иммутабельный класс? Immutable (неизменяемый) класс – это класс, состояние экземпляров которого невозможно изменить после создания. С иммутабельным классом всегда легче работать. Его состояние не поменяется, значит обращаться к нему в многопоточной среде можно без дополнительной синхронизации. Функции, зависящие только от состояния экземпляра будут возвращать один и тот же результат от вызова к вызову – это облегчает например реализацию hashCode(). Также вместо нескольких одинаковых экземпляров можно использовать один закэшированный объект, экономя память (паттерн Приспособленец). Шаги, которые необходимо предпринять, чтобы класс стал immutable: 1. Запретите расширение класса – либо объявите его final, либо закройте доступ наследникам ко всем способам мутации, перечисленным в следующих пунктах; 2. Сделайте все поля финальными; 3. Не выставляйте наружу методов-мутаторов, которые меняют состояние; 4. Не отдавайте наружу поля ссылочного изменяемого типа (объекты классов, массивы) – если объект под ссылкой не иммутабельный, должна возвращаться его глубокая копия (defensive copy); 5. Создавайте объект правильно (подробнее в следующем посте). Если вам нужны преимущества иммутабельного объекта, но также нужно иногда изменять его, подойдет подход copy on write: каждый метод-мутатор должен мутировать и возвращать не сам объект, а только что созданную его копию. Оригинал всё так же остается неизменным. #Классы 👉@BookJava
  • Библиотека Java разработчика

    Как разбить строку на слова? StringTokenizer – специально предназначенный для этого класс стандартной библиотеки Java. Ему нужно задать разделители, по ним строка будет разделена на «токены». Это устаревший класс, он остается в библиотеке только для обратной совместимости. Вместо него рекомендуется использовать метод String.split(). Метод принимает строку с регулярным выражением, и опциональный лимит токенов. Реализация особенно оптимизирована для односимвольного разделителя. Но следует помнить, что даже если символ один, это всё ещё регулярное выражение – спецсимвол должен экранироваться. Другой подходящий метод – Pattern.split(). Он, наоборот, вызывается у регулярного выражения, а принимает целевую строку. В этот же метод делегируется и выполнение String.split(). Этот способ предпочтительнее, когда в регулярном выражении больше одного символа, а скомпилированный паттерн применяется повторно. 👉@BookJava
  • Библиотека Java разработчика

    Как подружить Go c Kubernetes В Слёрме 6 февраля начнется курс «Kubernetes для разработчиков». Поток пройдет с 6 февраля до 21 марта, видеокурс доступен всегда. Курс знакомит с базовыми абстракциями k8s и устройством кластера, объясняет, как запускать приложения в кластере. Учимся конфигурировать своё приложение в Kubernetes, хранить данные и конфиги в нужных местах, выполнять миграции в базе данных для приложения, использовать Helm. Спикеры рассказывают, какие существуют практики и какие из них стоит применять. Рассматриваем особенности языков программирования при запуске в Kubernetes (Go, Python, Java). Спикеры: Марсель Ибраев (System Engineer, G42 Cloud); Павел Селиванов (архитектор, Yandex Cloud). Подробнее о курсе: https://slurm.club/3ZfsRDs
  • Библиотека Java разработчика

    Java - Математические функции 👉@BookJava
  • Библиотека Java разработчика

    Что такое «монитор» в Java? Монитор, мьютекс (mutex) – это средство обеспечения контроля за доступом к ресурсу. У монитора может быть максимум один владелец в каждый текущий момент времени. Следовательно, если кто-то использует ресурс и захватил монитор для обеспечения единоличного доступа, то другой, желающий использовать тот же ресурс, должен подождать освобождения монитора, захватить его и только потом начать использовать ресурс. Удобно представлять монитор как id захватившего его объекта. Если этот id равен 0 – ресурс свободен. Если не 0 – ресурс занят. Можно встать в очередь и ждать его освобождения. В Java у каждого экземпляра объекта есть монитор, который контролируется непосредственно виртуальной машиной. Используется он так: любой нестатический synchronized-метод при своем вызове прежде всего пытается захватить монитор того объекта, у которого он вызван (на который он может сослаться как на this). Если это удалось – метод исполняется. Если нет – поток останавливается и ждет, пока монитор будет отпущен. 👉@BookJava
  • Библиотека Java разработчика

    Приглашаем вас выступить на Java-конференции JPoint 2023! В этом году конференция будет идти четыре дня: 12–13 апреля в онлайне и 18–19 апреля в офлайне в Москве. И вы можете выступить на ней. Что даст выступление на JPoint? 👉 Развитие личного бренда и улучшение навыка публичных выступлений. 👉 Возможность обсудить рабочие задачи в неформальной обстановке.   👉 Билет на все конференции весны от JUG Ru Group. 👉 Общение с комьюнити и экспертами Программного комитета. Можно выбрать любой формат — классический доклад, воркшоп, дискуссию или предложить что-нибудь свое. Вам помогут подготовиться, проведут репетиции, а после конференции вы получите запись в 4K на YouTube, чтобы поделиться ей с друзьями и коллегами. Выбирайте тему на сайте или предлагайте свои идеи и подавайте заявку на выступление до 7 февраля. Билеты на JPoint 2023 уже в продаже.
  • Библиотека Java разработчика

  • Реклама

  • Библиотека Java разработчика

    Что такое «фреймворк Fork/Join»? Фреймворк Fork/Join, представленный в JDK 7, - это набор классов и интерфейсов позволяющих использовать преимущества многопроцессорной архитектуры современных компьютеров. Он разработан для выполнения задач, которые можно рекурсивно разбить на маленькие подзадачи, которые можно решать параллельно. • Этап Fork: большая задача разделяется на несколько меньших подзадач, которые в свою очередь также разбиваются на меньшие. И так до тех пор, пока задача не становится тривиальной и решаемой последовательным способом. • Этап Join: далее (опционально) идёт процесс «свёртки» - решения подзадач некоторым образом объединяются пока не получится решение всей задачи. Решение всех подзадач (в т.ч. и само разбиение на подзадачи) происходит параллельно. Для решения некоторых задач этап Join не требуется. Например, для параллельного QuickSort — массив рекурсивно делится на всё меньшие и меньшие диапазоны, пока не вырождается в тривиальный случай из 1 элемента. Хотя в некотором смысле Join будет необходим и тут, т.к. всё равно остаётся необходимость дождаться пока не закончится выполнение всех подзадач. Ещё одно замечательное преимущество этого фреймворка заключается в том, что он использует work-stealing алгоритм: потоки, которые завершили выполнение собственных подзадач, могут «украсть» подзадачи у других потоков, которые всё ещё заняты. 👉@BookJava
  • Библиотека Java разработчика

    Подборка Telegram каналов для программистов https://t.me/itmozg Программисты, дизайнеры, новости из мира IT. https://t.me/phis_mat Обучающие видео, книги по Физике и Математике https://t.me/xakep_1 Статьи из "Хакера" https://t.me/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 https://t.me/nodejs_lib Подборки по Node js и все что с ним связано https://t.me/ruby_lib Библиотека Ruby программиста 1C разработка 📌 https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С Программирование C++📌 https://t.me/cpp_lib Библиотека C/C++ разработчика https://t.me/cpp_knigi Книги для программистов C/C++ https://t.me/cpp_geek Учим C/C++ на примерах Программирование Python 📌 https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍 https://t.me/BookPython Библиотека Python разработчика https://t.me/python_real Python подборки на русском и английском https://t.me/python_360 Книги по Python Rus Java разработка 📌 https://t.me/BookJava Библиотека Java разработчика https://t.me/java_360 Книги по Java Rus https://t.me/java_geek Учим Java на примерах GitHub Сообщество 📌 https://t.me/Githublib Интересное из GitHub CodePen 📌 https://t.me/codepen_1 Сообщество пользователей CodePen Базы данных (Data Base) 📌 https://t.me/database_info Все про базы данных Мобильная разработка: iOS, Android 📌 https://t.me/developer_mobila Мобильная разработка https://t.me/kotlin_lib Подборки полезного материала по Kotlin Фронтенд разработка 📌 https://t.me/frontend_1 Подборки для frontend разработчиков https://t.me/frontend_sovet Frontend советы, примеры и практика! https://t.me/React_lib Подборки по React js и все что с ним связано Разработка игр 📌 https://t.me/game_devv Все о разработке игр Вакансии 📌 https://t.me/sysadmin_rabota Системный Администратор https://t.me/progjob Вакансии в IT Чат программистов📌 https://t.me/developers_ru Библиотеки 📌 https://t.me/book_for_dev Книги для программистов Rus https://t.me/programmist_of Книги по программированию https://t.me/proglb Библиотека программиста https://t.me/bfbook Книги для программистов БигДата, машинное обучение 📌 https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning Программирование 📌 https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций https://t.me/coddy_academy Полезные советы по программированию QA, тестирование 📌 https://t.me/testlab_qa Библиотека тестировщика Шутки программистов 📌 https://t.me/itumor Шутки программистов Защита, взлом, безопасность 📌 https://t.me/thehaking Канал о кибербезопасности Книги, статьи для дизайнеров 📌 https://t.me/ux_web Статьи, книги для дизайнеров https://t.me/arhitekturamira World Architecture Системное администрирование 📌 https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало) https://t.me/sysadminof Книги для админов, полезные материалы https://t.me/i_odmin Все для системного администратора https://t.me/i_odmin_book Библиотека Системного Администратора https://t.me/i_odmin_chat Чат системных администраторов https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др. https://t.me/sysadminoff Новости Линукс Linux Английский 📌 https://t.me/UchuEnglish Английский с нуля Математика 📌 https://t.me/Pomatematike Канал по математике Мир технологий 📌 https://t.me/mir_teh Видео из мира технологий Excel лайфхак📌 https://t.me/Excel_lifehack
  • Библиотека Java разработчика