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

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

12847 @javalib

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

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

    Spring Data: нюансы @@Transactional Spring — самый популярный фреймворк в мире Java. Разработчикам из «коробки» доступны инструменты для API, ролевой модели, кэширования и доступа к данным. Spring Data в особенности делает жизнь программиста гораздо легче. Нам больше не нужно беспокоиться о соединениях к базе данных и управлении транзакциями. Фреймворк сделает все за нас. Однако тот факт, что многие детали остаются для нас скрытыми, может привести к трудно отлавливаемым багам и ошибкам. Так что давайте глубже погрузимся в аннотацию @Transaсtional и узнаем, что же там происходит. Читать статью
    Spring Data: нюансы @Transactional

    Spring — самый популярный фреймворк в мире Java. Разработчикам из «коробки» доступны инструменты для API, ролевой модели, кэширования и доступа к данным. Spring Data в особенности делает жизнь программиста гораздо легче. Нам больше не нужно беспокоиться о соединениях к базе данных и управлении транзакциями. Фреймворк сделает все за нас. Однако тот факт, что многие детали остаются для нас скрытыми, может привести к трудно отлавливаемым багам и ошибкам. Так что давайте глубже погрузимся в аннотацию @Transaсtional и…

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

    Можно ли создавать новые экземпляры класса, пока выполняется static synchronized метод? Да, можно создавать новые экземпляры класса, так как статические поля не принадлежат к экземплярам класса.
  • Java библиотека

    Почему 90% Java-разработчиков не могут вырасти из джунов долгое время ❓  Большинство специалистов еще на старте начинают совершать критические ошибки, и даже не замечают этого.  На бесплатном вебинаре 9 августа разберем основные 7 ошибок, которые встречаются на пути к карьере backend java разработчика с основателем международной IT-компании. А также узнаем: ✔️ Почему backend-разработчики являются наиболее востребованными; ✔️ Вилки зарплат у java-разработчиков на российском и зарубежном рынках; ✔️ Как освоить профессию максимально быстро и избежать примитивных ошибок;  Участники вебинара получат бонус 🎁 Регистрация доступна по ссылке: https://clck.ru/sVjuw
  • Реклама

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

    Spring Boot + ControllerAdvice + ResponseBodyAdvice или как обернуть ответ контроллеров Всем привет, друзья! Сегодня хочу рассказать про способ использования ControllerAdvice для оборачивания объекта, возвращаемого контроллерами, в новый класс на уровне DispatcherServlet. Читать статью
    Spring Boot + ControllerAdvice + ResponseBodyAdvice или как обернуть ответ контроллеров

    Введение Всем привет, друзья! Сегодня хочу рассказать про способ использования ControllerAdvice для оборачивания объекта, возвращаемого контроллерами, в новый класс на уровне DispatcherServlet. Пример: Допустим, некоторый метод отдавал информацию о пользователе { "name": "Ivan", "surname": "Ivanov" } И есть еще десяток методов, которые отдают некоторую информацию о пользователе Но теперь мы хотим, чтобы каждый метод отдавал дополнительно еще несколько общих полей (например, серию и номер паспорта)…

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

    🔥Освой востребованную профессию Java-разработчика с нуля до Junior+ за 3 месяца! OTUS запускает набор на новый запуск буткемпа «Java Developer»! Буткемп «Java Developer»! от OTUS — это онлайн- курс с менторами, интенсивное обучение по ускоренной методике, построенное на ежедневных вебинарах с ведущими специалистами престижных IT-компаний. А еще много-много практики. У нас: — индивидуальные сессии с карьерным специалистом — комплексная поддержка менторов — поддержка комьюнити — проектная работа и наполнение портфолио После успешного обучения у вас будет достаточно навыков, чтобы претендовать на среднюю по рынку зарплату в 105 тысяч рублей. 📌Оставьте заявку, чтобы присоединиться к группе по спец.цене: https://otus.pw/Sdbj/ Протестируйте процесс обучения заранее. Ждем на бесплатных открытых уроках! 08 августа в 20:00 - "Структура программы на Java. Примитивные типы." 22 августа в 20:00 - "Элементы формальной логики. Базовые структуры данных в языке Java."
  • Java библиотека

    В каких состояниях может находиться поток? Потоки могут находиться в одном из следующих состояний: • Новый (New). После создания экземпляра потока, он находится в состоянии Новый до тех пор, пока не вызван метод start(). В этом состоянии поток не считается живым. • Работоспособный (Runnable). Поток переходит в состояние Работоспособный, когда вызывается метод start(). Поток может перейти в это состояние также из состояния Работающий или из состояния Блокирован. Когда поток находится в этом состоянии, он считается живым. • Работающий (Running). Поток переходит из состояния Работоспособный в состояние Работающий, когда Планировщик потоков выбирает его как работающий в данный момент. • Живой, но не работоспособный (Alive, but not runnable). Поток может быть живым, но не работоспособным по нескольким причинам: ○ Ожидание (Waiting). Поток переходит в состояние Ожидания, вызывая метод wait(). Вызов notify() или notifyAll() может перевести поток из состояния Ожидания в состояние Работоспособный. ○ Сон (Sleeping). Метод sleep() переводит поток в состояние Сна на заданный промежуток времени в миллисекундах. ○ Блокировка (Blocked). Поток может перейти в это состояние, в ожидании ресурса, такого как ввод/вывод или из-за блокировки другого объекта. В этом случае поток переходит в состояние Работоспособный, когда ресурс становится доступен. ○ Мёртвый (Dead). Поток считается мёртвым, когда его метод run() полностью выполнен. Мёртвый поток не может перейти ни в какое другое состояние, даже если для него вызван метод start().
  • Java библиотека

    Каков результат компиляции и выполнения данного кода?
  • Java библиотека

    В этом выпуске #JEPCafe José Paumard продолжает тему про virtual threads и: - показывает, как писать асинхронный код совместно с virtual threads - демонстрирует Structured Concurrency API, доступный в качестве инкубатора в JDK 19 и многое другое, связанное с многопоточностью
    Java Asynchronous Programming Full Tutorial with Loom and Structured Concurrency - JEP Café #13

    JavaOne is back! ➱ https://oracle.com/javaone Watch a live tutorial on how you can build real applications on top of virtual threads using the Structured Concurrency API, available as an incubator API in the JDK 19. ⎯⎯⎯⎯⎯⎯ Chapters ⎯⎯⎯⎯⎯⎯ 0:00 Intro 1:42 Two things about Virtual Threads 2:55 Writing asynchronous code 4:14 Moving asynchronous code to Virtual Threads 5:22 Introducing Loom Scopes 6:35 Live demo: a first StructuredTaskScope 9:13 Differences between Scopes and Executors 11:02 Introducing the ShutdownOnSuccess Scope 11:49 Live demo: using ShutdownOnSuccess 16:40 Exception handling 17:06 Creating a custom Scope in action 25:45 Tips to write unit tests 26:34 Live demo: handling different object types 33:10 Live demo: adding a timeout on your Scope 34:35 Using ExtentLocal instead of ThreadLocal 35:24 Live demo: using ExtentLocal in a single thread 37:04 Live demo: using ExtentLocal with scopes 39:17 Scope wrap up 40:31 Final words and outro ⎯⎯⎯⎯⎯⎯ Resources ⎯⎯⎯⎯⎯⎯ ◦ JEP Café on Virtual Threads ➱ https://youtu.be/UVoGE0GZZPI ◦ Inside Java Newscast on Loom ➱ https://youtu.be/UG9nViGZCEw and https://youtu.be/KuHhUDhIFYs ◦ Dev.java ➱ https://dev.java/ ◦ JEP 425: Virtual Threads (Preview) ➱ https://openjdk.java.net/jeps/425 ◦ JEP 428: Structured Concurrency (Incubator) ➱ https://openjdk.java.net/jeps/428 ◦ JDK 18 ➱ https://openjdk.java.net/projects/jdk/18 ◦ JDK 19 ➱ https://openjdk.java.net/projects/jdk/19 ◦ OpenJDK ➱ https://openjdk.java.net/ ◦ Oracle Java ➱ https://www.oracle.com/java/ ◦ JavaOne ➱ https://oracle.com/javaone Tags: #Java #ConcurrentProgramming #Loom #Java19 #OpenJDK #JDK #JDK19 #VirtualThreads #ConcurrentProgramming #JEPCafe #InsideJava

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

    Какие существуют способы синхронизации в Java? Системная синхронизация с использованием wait()/notify(). Поток, который ждет выполнения каких-либо условий, вызывает у этого объекта метод wait(), предварительно захватив его монитор. На этом его работа приостанавливается. Другой поток может вызвать на этом же самом объекте метод notify() (опять же, предварительно захватив монитор объекта), в результате чего, ждущий на объекте поток «просыпается» и продолжает свое выполнение. В обоих случаях монитор надо захватывать в явном виде, через synchronized-блок, потому как методы wait()/notify() не синхронизированы! • Системная синхронизация с использованием join(). Метод join(), вызванный у экземпляра класса Thread, позволяет текущему потоку остановиться до того момента, как поток, связанный с этим экземпляром, закончит работу. • Использование классов из пакета java.util.concurrent, который предоставляет набор классов для организации межпоточного взаимодействия. Примеры таких классов - Lock, Semaphore и пр.. Концепция данного подхода заключается в использовании атомарных операций и переменных.
  • Java библиотека

    JavaFX (В подлиннике) (2020) скан PDF Описываются базовые возможности библиотеки JavaFX, позволяющей создавать приложения с графическим интерфейсом на языке Java. Рассматриваются способы обработки событий, управление свойствами окна, создание формы с помощью программы Scene Builder, а также все основные компоненты (кнопки, текстовые поля, списки, таблицы, меню и др.) и варианты их размещения внутри окна. Описаны трансформации и эффекты, графики и диаграммы, аудио и видео, стили JavaFX CSS. Книга ориентирована на тех, кто уже знаком с языком программирования Java и хотел бы научиться разрабатывать оконные приложения, насыщенные графикой, анимацией и интерактивными элементами. Большое количество практических примеров помогает начать разработку самостоятельно. Весь материал тщательно подобран, хорошо структурирован и компактно изложен, что позволяет использовать книгу как удобный справочник.
  • Java библиотека

    Считаем уникальные IPv4 адреса Как создавать быстрые и эффективные алгоритмы? В статье, на примере задачи по подсчёту уникальных IPv4 адресов, рассматриваются приёмы и методы обработки больших объёмов данных. Вы узнаете, как написать код, работающий в десятки раз быстрее и использующий в несколько десятков раз меньше памяти, чем "наивные" алгоритмы. Читать статью
    Считаем уникальные IPv4 адреса

    Эта задача была предложена мне на одном из курсов по Java. В статье излагаю своё решение, а также анализ его эффективности. Обработка IP адресов необходима для многих проектов, и я надеюсь, что алгоритмы, описанные в этой статье, могут быть полезны. Задача В текстовом файле содержится список IPv4 адресов в десятичной записи. В каждой строчке ровно один адрес, как на примере ниже: 145.67.23.4 8.34.5.23 89.54.3.124 89.54.3.124 3.45.71.5 ... Задача написать программу для подсчёта количества уникальных адресов…

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

    🔥Начни осваивать современные и актуальные Java-автоматизации! 🔥 📌8 августа в 20:00 мск cостоится открытый урок «Selenide» с опытным автоматизатором Сергеем Мирошиным. На открытом уроке мы познакомимся с фреймворком Selenide, узнаем, зачем он нужен и перепишем существующие тесты на него. Еще больше актуальных навыков вы освоите на онлайн-курсе «QA Java Engineer Professional» от OTUS. 👉🏼Программа рассчитана на специалистов с опытом. Перед встречей зарегистрируйтесь https://otus.pw/iJOS/
  • Java библиотека

    Дайте определение понятию «синхронизация». Синхронизация - это процесс, который позволяет выполнять потоки параллельно. В Java все объекты имеют одну блокировку, благодаря которой только один поток одновременно может получить доступ к критическому коду в объекте. Такая синхронизация помогает предотвратить повреждение состояния объекта. Если поток получил блокировку, ни один другой поток не может войти в синхронизированный код, пока блокировка не будет снята. Когда поток, владеющий блокировкой, выходит из синхронизированного кода, блокировка снимается. Теперь другой поток может получить блокировку объекта и выполнить синхронизированный код. Если поток пытается получить блокировку объекта, когда другой поток владеет блокировкой, поток переходит в состояние Блокировки до тех пор, пока блокировка не снимется.
  • Java библиотека

    Основы программирования на Java: Для школьников... и не только (2019) PDF Курс «Основы компьютерных наук для средней школы» является базовым курсом по основам программирования. Данное издание рассчитано на учеников старших классов (9–11), не имеющих опыта в написании компьютерных программ или имеющих минимальный опыт. Такой подход позволяет использовать учебник и в рамках коллективных занятий (на уроках, факультативах или кружках), и при самостоятельном индивидуальном обучении. Пособие содержит как общие теоретические положения подхода к написанию программ, так и описание практических приемов, а также разбор соответствующих излагаемому материалу примеров. Книга написана на основании базовой части курса «Компьютерные науки», преподаваемого в 9–12 классах израильской школы. Авторы — ведущие преподаватели этого курса, с опытом работы более 25 лет.
  • Java библиотека

    Онлайн-митап для Frontend разработчиков Дата и время: 24 августа, 14:00 (по МСК) Программа митапа: 🎙Рефакторинг. Как поджечь свой велосипед и не пожалеть об этом? Рассмотрим проблему техдолга под разными углами, поговорим о том, что учитывать и какие практики использовать, чтобы обойти подводные камни, уменьшить риски и держать ситуацию под контролем, обсудим какие аргументы уместно предоставить менеджеру, чтобы развеять его опасения. 🎙Чудеса асинхронного рендеринга Рассмотрим под лупой асинхронный рендеринг в React - проведем краткий экскурс в его историю, путь становления от экспериментальной фичи до полноценного появления в React 18, посмотрим на текущее состояние, что его ждет в светлом будущем и причем тут fiber. 👉 Подключайтесь, смотрите и задавайте вопросы спикерам. Участие бесплатное, нужно только зарегистрироваться. До встречи 🔥
  • Реклама

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

    В этом видео Николай Парлог рассказывает о том, зачем, когда и как использовать модули в приложении, появившиеся еще в Java 9. В свое время он даже писал на эту тему книгу "Java Module System". Так что, если вас интересует данная тема, то Николая стоит послушать.
    Java Modules in Real Life

    Many Java projects (by some counts, over half) run on Java versions that support the module system and Maven Central offers over 4.200 modules. If you think about creating modules for your (next) project, you may have some questions: Why use modules? Incremental modularization What are common or tricky roadblocks? Where's the exit?! When (not) to use modules? In this talk, I'll answer these questions, so you can better decide whether modules are right for your project. Speaker's name: Nicolai Parlog Speaker's title: Developer Advocate Speaker's organisation: Oracle Speaker's Twitter handle: https://twitter.com/nipafx/ Speaker's bio: Nicolai (aka nipafx) is a Java enthusiast focused on language features and core APIs with a passion for learning and sharing - in articles, newsletters, and books; in tweets, videos, and streams; in demo repos and at conferences - more on all of that on [nipafx.dev]. He's a Java Developer Advocate at Oracle and organizer of [Accento]. That aside, he's best known for his haircut.

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

    Java ~ приключение на 20 минут
  • Java библиотека

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