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

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

9291 @BookJava

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

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

    Сравнение виртуальных и обычных потоков в Java Я люблю стректрейсы и понятный линейный код. И соответственно не люблю реактивщину. Все примеры будут нереактивными с последовательным понятным кодом. https://habr.com/ru/post/676084/ 👉@BookJava
  • Библиотека Java разработчика

    Как использовать ReadWriteLock? Стандартный интерфейс ReadWriteLock предоставляет потокобезопасный разделенный доступ на чтение и на запись. Для этих целей в нём объявлены два метода: readLock() и writeLock(). Они возвращают объекты под интерфейсом Lock. Оба типа блокировок одного экземпляра ReadWriteLock связаны. Пока какой-то поток не заберет блокировку на запись, сколько угодно потоков могут читать не мешая друг другу. Блокировкой readLock закрывается часть кода с семантикой «только чтения» некоторого условного «ресурса». В критической секции кода writeLock осуществляется модификация ресурса. Свойства этих локов защищают программу от ситуаций конкурентной записи ресурса и чтения во время записи. Подобно copy-on-write коллекциям, этот подход становится выгодным, когда ресурс читают сильно чаще чем модифицируют. Интерфейс реализуется классом ReentrantReadWriteLock, который во многом похож на обычный ReentrantLock. 👉@BookJava
  • Библиотека Java разработчика

    💪 Джавист, проверь себя - пройди тест по JAVA👩‍💻 Открой все возможности языка Java, чтобы писать код быстрее и чище. Пройди тест из 20 вопросов и проверь свои знания. Сможешь сдать — пройдёшь на продвинутый курс "Java Developer. Professional " от OTUS по специальной цене. ⏰ Время прохождения теста ограничено 30 минут 🖌ПРОЙТИ ТЕСТ: https://otus.pw/VlGLx/ 🎄 Праздничные цены для отличной карьеры в IT. Предложение ограничено! Реклама. Информация о рекламодателе на сайте otus.ru
  • Реклама

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

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

    Нельзя так просто взять и вычислить абсолютное значение Кажется, задача вычисления абсолютного значения (или модуля) числа совершенно тривиальна. Если число отрицательно, давайте сменим знак. Иначе оставим как есть. На Java это будет выглядеть примерно так: public static double abs(double value) { if (value < 0) { return -value; } return value; } bookflow.ru/nelzya-…nachenie 👉@BookJava
  • Библиотека Java разработчика

    Что можно импортировать статически? Обычный импорт избавляет от необходимости писать полное имя классов: при использовании можно не указывать пакет. Статические импорты делает то же самое, но для статических членов класса. Самое распространенное применение статического импорта – включение констант из константных интерфейсов и статических методов из утилитарных классов. Но также можно включать и изменяемые статические поля других классов. Отдельно интересен случай nested-класса. Он одновременно является и классом, и статическим членом другого класса. Поэтому для него работает как обычный, так и статический импорт. Языковая конструкция static import обязана располагаться там же, где и обычные импорты – обязательно между package и объявлением основного класса файла. 👉@BookJava
  • Библиотека Java разработчика

    AssertJ как способ значительно улучшить код ваших тестов В 2019-2020 годах на одном из проектов я был идейным вдохновителем перехода на JUnit 5. Для проверок мы использовали стандартные ассерты и Hamcrest. Тогда мне казалось, что этого более чем достаточно. Один из наших lead-инженеров предлагал AssertJ как более «модное и молодёжное» решение, но поддержки эта идея не получила. Я был одним из тех, кто выступал против AssertJ. Каюсь, был грешен :) За последние пару лет, несмотря на менеджерскую позицию, я написал свыше пятисот тестов, и мой подход к тестированию претерпел значительные изменения. В этой статье я постараюсь объяснить, почему AssertJ — это лучшее решение для проверок в тестах, существующее сегодня (год 2022 от Р.X.). Разумеется, всё ниже сказанное — это моё субъективное мнение. https://habr.com/ru/post/675778/ 👉@BookJava
    AssertJ как способ значительно улучшить код ваших тестов

    Привет, Хабр! В 2019-2020 годах на одном из проектов я был идейным вдохновителем перехода на JUnit 5. Для проверок мы использовали стандартные ассерты и Hamcrest. Тогда мне казалось, что этого более...

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

    Ищем будущих Java-разработчиков. Обучение и трудоустройство берём на себя. От Вас: — Желание стать востребованным IT-специалистом и зарабатывать от 100 000 руб/мес (по данным сайта HeadHunter). — Наличие компьютера или ноутбука. — Возможность уделять от 4 до 6 часов в неделю на обучение и немного упорства. От нас: — Знания, навыки и компетенции, которых, достаточно для позиции Middle-разработчика. — Сильный преподавательский состав экспертов-практиков в IT-секторе. — Стажировка в GeekBrains и трудоустройство после обучения. Что нужно будет делать: Java-разработчики занимаются разработкой высоконагруженных систем, веб-сервисов, банковских и корпоративных приложений, которыми пользуются люди по всему миру. Освоить все необходимые навыки и стать востребованным Javistom уровня — middle вы можете на курсе «Факультет Java-разработки» с гарантированным трудоустройством от GeekBrains. Курс идеально подойдёт, как для новичков, так и для разработчиков с опытом. За 12 месяцев вы с нуля: — Научитесь программировать на Java — Освоите один из самых востребованных фреймворков для веб-разработки — Spring Framework — Научитесь создавать приложения с помощью Spring Framework — Освоите базовые знания верстки: HTML, CSS, Bootstrap — Научитесь работать с базами данных SQL, PostgreSQL — Получите навыки автоматизированного тестирования кода – Получите знания по алгоритмам и структуре данных По итогу обучения вы сможете создавать сетевые чаты, приложения, мобильные игры и другие сервисы. И это ещё не всё! Мы дарим подарки всем студентам: — Изучение английского языка с Kespa — Ключ от продуктов JetBrains – Kaspersky Internet Security бесплатно на 90 дней Пока вы читаете этот пост, кто-то уже записался на онлайн-курс «ФакультетJava-разработки». Переходите по ссылке и оставляйте заявку
  • Библиотека Java разработчика

    Unusual Java: StackTrace Extends Throwable

    Learn how to extend Throwable without being an error or an exception in Java, and how to use it with a StackTrace.

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

    Продвинутый Java (от разработчика из JetBrains) Java. Урок 1. Обзор Java. Лекции от Senior Java-разработчика из JetBrains Java. Урок 2. Javadoc и наследование Java. Урок 3. Исключения и обобщенные типы в Java Java. Урок 4. Коллекции Java и Stream API Java. Урок 5. Многопоточность. Часть 1 👉@BookJava
  • Библиотека Java разработчика

    Какие подклассы класса Reader вы знаете, для чего они предназначены? • Reader - абстрактный класс, описывающий символьный ввод; • BufferedReader - буферизованный входной символьный поток; • CharArrayReader - входной поток, который читает из символьного массива; • FileReader - входной поток, читающий файл; • FilterReader - абстрактный класс, предоставляющий интерфейс для классов-надстроек; • InputStreamReader - входной поток, транслирующий байты в символы; • LineNumberReader - входной поток, подсчитывающий строки; • PipedReader - входной канал; • PushbackReader - входной поток, позволяющий возвращать символы обратно в поток; • StringReader - входной поток, читающий из строки. 👉@BookJava
  • Библиотека Java разработчика

    Станьте востребованным Java-разработчиком уже в 2023 году. Сделайте шаг в новую жизнь прямо сейчас. Записывайтесь на курс от Хекслета и получайте скидку 10% и подарок на выбор: депозит 20 000 ₽, базовая подписка на 5 месяцев или премиум-подписка на 1 месяц. Вы также можете порадовать не только себя, но и близкого человека. Воспользуйтесь уникальным предложением для двоих: купите вторую профессию со скидкой 40%. На профессии «Java-разработчик» вы за 10 месяцев: ✔️Изучите объектно-ориентированное программирование на Java и освоите Spring Boot для создания корпоративных приложений. ✔️Научитесь подбирать правильные структуры данных для хранения и обработки данных и решите сотни задач в браузере. ✔️ Создадите 5 проектов для портфолио на GitHub и выполните 150 тестовых заданий от наших партнёров. ✔️ Научитесь работать с чужим кодом и оформлять пул-реквесты в Open Sours проектах. ✔️ Вступите в программу «Карьерный трек»: получите шанс попасть на оплачиваемую стажировку и найти первую работу в IT. Успейте оставить заявку до 31 декабря, чтобы получить новогодние подарки🎁
  • Библиотека Java разработчика

    Как инициализировать переменную функционального интерфейса? Функциональный интерфейс – всё ещё интерфейс, поэтому остаются доступными стандартные способы. Интерфейс можно реализовать обычным классом, и затем создать его экземпляр оператором new. Можно совместить эти два действия, и создать экземпляр анонимного класса. Основное преимущество, которое дает функциональный интерфейс – два дополнительных способа инициализации параметров и переменных. 1. Лямбда-выражение: (x, y) -> x * y 2. Ссылка на метод: Math::sqrt На эти способы накладывается небольшое ограничение: тип функционального параметра/переменной должен быть указан явно. Это значит, что лямбдой или метод-референсом нельзя инициализировать переменную, объявленную ключевым словом var. Также, чтобы передать лямбду или референс в параметр generic-типа, этот тип должен быть ограничен функциональным интерфейсом (должен стираться в него). 👉@BookJava
  • Библиотека Java разработчика

    The best way to fetch entities with JPA and Hibernate 👉@BookJava
  • Библиотека Java разработчика

    Темная сторона Java, операторы k8s и корутины в Kotlin — на бесплатном Java-митапе от Сбера при поддержке JUG Ru Group. 📆 15 декабря, 18:00, онлайн, бесплатно. В программе: ✔ Максим Чудновский и Александр Козлов — «10 нюансов при разработке оператора для Kubernetes на Java» ✔ Рустам Курамшин — «Введение в Kotlin Coroutines» ✔ Роман Таранов — «Темная сторона Java: разбор последствий использования нативных функций (JNI)» После каждого доклада вы сможете подискутировать с другими участниками и задать вопросы спикерам.  Регистрируйтесь и участвуйте — это бесплатно.
  • Реклама

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

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

    Какие некоторые из важных особенностей и преимуществ Spring Framework? Spring Framework обеспечивает решения многих задач, с которыми сталкиваются Java-разработчики и организации, которые хотят создать информационную систему, основанную на платформе Java. Из-за широкой функциональности трудно определить наиболее значимые структурные элементы, из которых он состоит. Spring Framework не всецело связан с платформой Java Enterprise, несмотря на его масштабную интеграцию с ней, что является важной причиной его популярности. Spring Framework, вероятно, наиболее известен как источник расширений (features), нужных для эффективной разработки сложных бизнес-приложений вне тяжеловесных программных моделей, которые исторически были доминирующими в промышленности. Ещё одно его достоинство в том, что он ввел ранее неиспользуемые функциональные возможности в сегодняшние господствующие методы разработки, даже вне платформы Java. Этот фреймворк предлагает последовательную модель и делает её применимой к большинству типов приложений, которые уже созданы на основе платформы Java. Считается, что Spring Framework реализует модель разработки, основанную на лучших стандартах индустрии, и делает её доступной во многих областях Java. Таким образом к достоинствам Spring можно отнести: • Относительная легкость в изучении и применении фреймворка в разработке и поддержке приложения. • Внедрение зависимостей (DI) и инверсия управления (IoC) позволяют писать независимые друг от друга компоненты, что дает преимущества в командной разработке, переносимости модулей и т.д.. • Spring IoC контейнер управляет жизненным циклом Spring Bean и настраивается наподобие JNDI lookup (поиска). • Проект Spring содержит в себе множество подпроектов, которые затрагивают важные части создания софта, такие как вебсервисы, веб программирование, работа с базами данных, загрузка файлов, обработка ошибок и многое другое. Всё это настраивается в едином формате и упрощает поддержку приложения. 👉@BookJava
  • Библиотека Java разработчика

    Очень скоро долгожданный митап Сбера в Рязани – 8 декабря в 19:00 поговорим о Service Mesh и SBER NDR. Ещё недавно Service Mesh был самой хайповой технологией, а сейчас стал стандартом для проектирования backend сервисов. Максим Чудновский, лидер направления мультикластерных сервисов в проекте Platform V Synapse Service Mesh, расскажет, как получить Service Mesh из коробки в gRPC, используя протокол XDS. О попытке объять необъятное, или о том, как была разработана система по детектированию и анализу сетевых атак, узнаете из доклада владельца продукта Sber NDR, руководителя направления Центра киберзащиты Сбера, Алины Светловой. Также в программе вечера нетворкинг, кофе-брейки и вручение призов. Встречаемся в четверг, 8 декабря, на площадке «Свобода Лофт». Регистрируйтесь на митап по ссылке.