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

Java библиотека. Страница 58

12847 @javalib

Всё для Java разработчиков.

  • Java библиотека

    Еженедельные вакансии, новости proptech-индустрии, все о работе в IT и Digital в канале ДОМ.РФ.ТЕХ: — Новый суперсервис, который позволяет запустить строительство собственного дома; — Образовательная программа ДОМ.PФ заняла первое место во всероссийском конкурсе «ТИМ-ЛИДЕРЫ 2021/22»; — Диджитал-команда разработала сервис на основе биометрии; — Сотрудникам исключенных из реестра IT-компаний сохранят льготную ставку по ипотечной госпрограмме.
  • Java библиотека

    Почему не рекомендуется использовать метод Thread.stop()? При принудительной остановке (приостановке) потока, stop() прерывает поток в недетерменированном месте выполнения, в результате становится совершенно непонятно, что делать с принадлежащими ему ресурсами. Поток может открыть сетевое соединение - что в таком случае делать с данными, которые еще не вычитаны? Где гарантия, что после дальнейшего запуска потока (в случае приостановки) он сможет их дочитать? Если поток блокировал разделяемый ресурс, то как снять эту блокировку и не переведёт ли принудительное снятие к нарушению консистентности системы? То же самое можно расширить и на случай соединения с базой данных: если поток остановят посередине транзакции, то кто ее будет закрывать? Кто и как будет разблокировать ресурсы?
  • Java библиотека

    Spring быстро (2022) True PDF Java-программистам необходим фреймворк Spring. Этот невероятный инструмент универсален: вы можете разрабатывать как приложения для малого бизнеса, так и микросервисные архитектуры промышленного масштаба. Освоить Spring не так-то просто, но первый шаг сделать легко! Книга предназначена для Java-разработчиков, желающих создавать приложения на основе Spring. Информативные иллюстрации, понятные примеры, а также ясное и живое изложение Лауренциу Спилкэ позволят быстро овладеть необходимыми навыками. Вы научитесь планировать, разрабатывать и тестировать приложения. Благодаря акценту на наиболее важных функциях разберетесь в богатой экосистеме фреймворка Spring.
  • Реклама

  • Java библиотека

    Ждем всех Java-разработчиков на бесплатном митапе от Росбанка при поддержке JUG Ru Group. 🗓 6 сентября, 19:00. Онлайн: https://bit.ly/3wqQ4Ww Офлайн: в деловом центре "Москва-Сити". Участники смогут посетить экскурсию по инновационному офису Росбанка. В программе: ✔️Алексей Салаев — «Оптимизация запросов с использованием Spring cache и Bean scope» ✔️ Семен Киреков — «Spring Data JPA. Save и границы его применения» ✔️ Иван Пономарев — «Kafka streams testing: a deep dive» После каждого доклада вы сможете поучаствовать в дискуссии и задать вопросы спикерам. Автор лучшего вопроса получит удобный рюкзак от Росбанка 🎁 Участие бесплатное, нужно только зарегистрироваться.
  • Java библиотека

    Как остановить поток? На данный момент в Java принят уведомительный порядок остановки потока (хотя JDK 1.0 и имеет несколько управляющих выполнением потока методов, например stop(), suspend() и resume() - в следующих версиях JDK все они были помечены как deprecated из-за потенциальных угроз взаимной блокировки). Для корректной остановки потока можно использовать метод класса Thread - interrupt(). Этот метод выставляет некоторый внутренний флаг-статус прерывания. В дальнейшем состояние этого флага можно проверить с помощью метода isInterrupted() или Thread.interrupted() (для текущего потока). Метод interrupt() также способен вывести поток из состояния ожидания или спячки. Т.е. если у потока были вызваны методы sleep() или wait() – текущее состояние прервется и будет выброшено исключение InterruptedException. Флаг в этом случае не выставляется. Схема действия при этом получается следующей: • Реализовать поток. • В потоке периодически проводить проверку статуса прерывания через вызов isInterrupted(). • Если состояние флага изменилось или было выброшено исключение во время ожидания/спячки, следовательно поток пытаются остановить извне. • Принять решение – продолжить работу (если по каким-то причинам остановиться невозможно) или освободить заблокированные потоком ресурсы и закончить выполнение. Возможная проблема, которая присутствует в этом подходе – блокировки на потоковом вводе-выводе. Если поток заблокирован на чтении данных - вызов interrupt() из этого состояния его не выведет. Решения тут различаются в зависимости от типа источника данных. Если чтение идет из файла – долговременная блокировка крайне маловероятна и тогда можно просто дождаться выхода из метода read(). Если же чтение каким-то образом связано с сетью – стоит использовать неблокирующий ввод-вывод из Java NIO. Второй вариант реализации метода остановки (а также и приостановки) – сделать собственный аналог interrupt(). Т.е. объявить в классе потока флаги – на остановку и/или приостановку и выставлять их путем вызова заранее определённых методов извне. Методика действия при этом остаётся прежней – проверять установку флагов и принимать решения при их изменении. Недостатки такого подхода. Во-первых, потоки в состоянии ожидания таким способом не «оживить». Во-вторых, выставление флага одним потоком совсем не означает, что второй поток тут же его увидит. Для увеличения производительности виртуальная машина использует кеш данных потока, в результате чего обновление переменной у второго потока может произойти через неопределенный промежуток времени (хотя допустимым решением будет объявить переменную-флаг как volatile).
  • Java библиотека

    Selenium with Java – A Beginner’s Guide (2022) ePUB Key Features: ● Extensive practical demonstration of Selenium with numerous real-world examples. ● Includes thorough examination of various test automation ideas. ● Covers tools in conjunction with Selenium for implementing browser and web test automation projects. This book introduces setting up the environment for writing test scripts after covering Selenium and its capabilities. Numerous functionalities, including the web driver interface, the web element interface, and locators, are illustrated in-depth using the By class. Additionally, the book presents tasks such as HTML element manipulation, mouse and keyboard operations, dropdown, table, window, alert, frame, action class, and synchronization. Along with Selenium IDE and Selenium Webdriver, the book also covers another critical feature, which is the implementation of Selenium Grid, that allows the test suite to execute in parallel across several settings.
  • Java библиотека

    Java Guru - вопросы и задачи с собеседований. Канал с помощью которого ты точно получишь оффер! 📕 Книги для Java программиста - канал с книгами по Java. Постоянно выходят новинки как на русском так и на английском языке! 📰 Java News - канал с последними новостями из мира Java!
  • Java библиотека

    Существует ли способ решения проблемы race condition? Распространённые способы решения: • Использование локальной копии — копирование разделяемой переменной в локальную переменную потока. Этот способ работает только тогда, когда переменная одна и копирование производится атомарно (за одну машинную команду), использование volatile. • Синхронизация - операции над разделяемым ресурсом происходят в синхронизированном блоке (при использовании ключевого слова synchronized). • Комбинирование методов - вышеперечисленные способы можно комбинировать, копируя «опасные» переменные в синхронизированном блоке. С одной стороны, это снимает ограничение на атомарность, с другой — позволяет избавиться от слишком больших синхронизированных блоков. Очевидных способов выявления и исправления состояний гонки не существует. Лучший способ избавиться от гонок — правильное проектирование многозадачной системы.
  • Java библиотека

    Mastering Java Persistence API (JPA) (2022) ePUB Filled with sample case study, exercises, commonly faced issues/solutions, and important interview questions, this book is surely going to help developers to expand their skills in JPA. Key Features: ● Covers every JPA capability with detailed examples. ● Explanation of popular JPA providers in detail as well as sample JPA code. ● Includes solutions geared toward developers, interview questions, and expert advice. 'Mastering Java Persistence API' is geared towards experiencing the functioning of JPA and the extent of its use in Java SE and Java EE applications. While the book's primary objective is to develop competence in JPA, it also takes a simpler approach to refresh readers on basic database management system concepts and how to design simple JPA applications.
  • Java библиотека

    Что напечатает следующий код?
  • Java библиотека

    Приглашаем на вебинар 30 августа в 19:00. Поговорим о самой животрепещущей теме: как найти работу Junior-разработчику в это нелегкое время.   Раскроем все карты: - почему именно сейчас нужное время,  - как устроиться на первую работу, - какие навыки нужны, чтобы претендовать на место в хорошей компании - как стартануть в карьере и избежать примитивных ошибок. Ждем тебя на бесплатном вебинаре 30 августа! Для участников вебинара мы подготовили специальный бонус — матрица компетенций Java-программиста. От Java до Senior. Регистрируйся по ссылке https://clck.ru/sVjuw , до встречи! 
  • Java библиотека

    Что такое race condition? Состояние гонки (race condition) - ошибка проектирования многопоточной системы или приложения, при которой эта работа напрямую зависит от того, в каком порядке выполняются потоки. Состояние гонки возникает, когда поток, который должен исполнится в начале, проиграл гонку и первым исполняется другой поток: поведение кода изменяется, из-за чего возникают недетерменированные ошибки.
  • Java библиотека

    Learn JavaFX Game and App Development: With FXGL 17 (2022) True PDF, ePUB Understand real-world game development concepts using the JavaFX game engine called FXGL. The core focus of the book is on developing a standalone game or an application with FXGL. We will start with an overview of the book followed by requisite concepts from Java and JavaFX that will be used throughout this book. Next, we will learn about the FXGL game engine and its wide range of real-world game development techniques. In the next chapter, we learn about entity-component model used in FXGL to create a powerful abstraction of the game world. The next chapter builds on this, where we develop a platformer game using the physics engine and a popular external tool called Tiled. An important concept of games AI is covered in the following chapter. Visually complex features related to graphics and rendering as well as UI elements and the animation system in FXGL will be discussed in the next chapter.
  • Java библиотека

    Полный гайд по Java и Android в кармане 🧠 Даже сеньор может поплыть на джоб-интервью, отвечая на вроде бы простые вопросы. В каналах Interview Review мы собрали ответы на самые популярные вопросы с IT собеседований — кратко, понятно и человеческим языком. Ничего лишнего: только хардкорный контент для полного погружения в «кишки» технологии. Подпишись на свою личную шпаргалку по Java и Android! С ней любая задача по зубам. @JavaSobes | @AndroidSobes
  • Java библиотека

    Чувак, где моя черепаха? Как написать программу, чтобы победить на конкурсе плохого кода? Этот вопрос я задал сам себе, когда прочёл о необычном челлендже на форуме reddit. Да, вы правильно поняли. Это статья не о чистом коде и правильных тестах. Но здесь не будет и речи о плохом, заурядно плохом коде, том коде, который мы очень часто видим в наших проектах. Я расскажу об экстремальном, невообразимом, гениально плохом коде, коде, который использует те возможности джавы, о которых вы, скорее всего, и не догадывались, и те приёмы, которые вы никогда не встретите в обычных проектах. Сможете ли вы использовать эти приёмы на практике? Думаю, нет. Если вы прагматичный человек, то сэкономите своё время и остановитесь. Не читайте эту статью. Однако если вы хотите немного отвлечься от повседневной рутины, увидеть и узнать что-то новое о нашем любимом языке Java, - милости просим! Читать статью
    Чувак, где моя черепаха?

    Как написать программу, чтобы победить на конкурсе плохого кода? Этот вопрос я задал сам себе, когда прочёл о необычном челлендже на форуме reddit. Да, вы правильно поняли. Это статья не о чистом коде и правильных тестах. Но здесь не будет и речи о плохом, заурядно плохом коде, том коде, который мы очень часто видим в наших проектах. Я расскажу об экстремальном, невообразимом, гениально плохом коде, коде, который использует те возможности джавы, о которых вы, скорее всего, и не догадывались, и те приёмы, которые…

    Telegraph
  • Реклама

  • Java библиотека

    В чем заключаются различия между CyclicBarrier и CountDownLatch? CountDownLatch (замок с обратным отсчетом) предоставляет возможность любому количеству потоков в блоке кода ожидать до тех пор, пока не завершится определенное количество операций, выполняющихся в других потоках, перед тем как они будут «отпущены», чтобы продолжить свою деятельность. В конструктор CountDownLatch(int count) обязательно передается количество операций, которое должно быть выполнено, чтобы замок «отпустил» заблокированные потоки. Примером CountDownLatch из жизни может служить сбор экскурсионной группы: пока не наберется определенное количество человек, экскурсия не начнется. CyclicBarrier реализует шаблон синхронизации «Барьер». Циклический барьер является точкой синхронизации, в которой указанное количество параллельных потоков встречается и блокируется. Как только все потоки прибыли, выполняется опционное действие (или не выполняется, если барьер был инициализирован без него), и, после того, как оно выполнено, барьер ломается и ожидающие потоки «освобождаются». В конструкторы барьера CyclicBarrier(int parties) и CyclicBarrier(int parties, Runnable barrierAction) обязательно передается количество сторон, которые должны «встретиться», и, опционально, действие, которое должно произойти, когда стороны встретились, но перед тем когда они будут «отпущены». CyclicBarrier является альтернативой метода join(), который «собирает» потоки только после того, как они выполнились. CyclicBarrier похож на CountDownLatch, но главное различие между ними в том, что использовать «замок» можно лишь единожды - после того, как его счётчик достигнет нуля, а «барьер» можно использовать неоднократно, даже после того, как он «сломается».
  • Java библиотека

    Эффективный Java. Тюнинг кода на Java 8, 11 и дальше (2021) PDF, EPUB Вы сможете разобраться в производительности приложений Java в контексте как JVM, так и платформы Java, освоите средства, функции и процессы, которые могут повысить производительность в LTS-версиях Java, и познакомитесь с новыми возможностями (такими как предварительная компиляция и экспериментальные уборщики мусора). В этой книге вы: - Узнаете, как платформы и компиляторы Java влияют на производительность. - Разберетесь c механизмом уборки мусора. - Освоите четыре принципа получения наилучших результатов при тестировании производительности. - Научитесь пользоваться JDK и другими инструментами оценки производительности. - Узнаете как настройка и приемы программирования позволяют минимизировать последствия уборки мусора. - Научитесь решать проблемы производительности средствами Java API. - Поймете, как улучшить производительность приложений баз данных Java.
  • Java библиотека

    Что выведет на экран следующий код?