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

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

12847 @javalib

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

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

    Полезная библиотека Pebble Templates В процессе реализации "фитчи" появляется потребность искать более новые, изощренные решения. Данная участь настигла и меня. Задача была применить динамические фильтры к выборке из БД. Усугубляло ситуацию то, что фильтры нужно было применить не в одном месте, а например в блоке WITH. Реализация через JPA Specification выглядела довольно сложно, а возможно и невыполнимо. При помощи JPA Repository можно было, но опять было бы много лишних операций, маппингов, слияний. Читать статью
    Полезная библиотека Pebble Templates

    Предыстория В процессе реализации "фитчи" появляется потребность искать более новые, изощренные решения. Данная участь настигла и меня. Задача была применить динамические фильтры к выборке из БД. Усугубляло ситуацию то, что фильтры нужно было применить не в одном месте, а например в блоке WITH. Реализация через JPA Specification выглядела довольно сложно, а возможно и невыполнимо. При помощи JPA Repository можно было, но опять было бы много лишних операций, маппингов, слияний. Но тут мой тимлид сказал: "Без…

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

    ♨️Задумываешься начать карьеру в IT в качестве Java-разработчика? 🎯 Испытай себя в этом деле на открытом уроке 22 августа в 20:00 «Элементы формальной логики. Базовые структуры данных в языке Java» в OTUS. Вместе с сертифицированным Java-разработчиком Евгением Непомнящим познакомимся с основами алгоритмов и булевой алгебры. В процессе мы изучим базовые структуры данных языка Java: массивы, списки и словари. 📚Занятие проходит в рамках буткемпа «Java Developer» для тех, кто хочет за 3 месяца освоить профессию Java-разработчика. 📌Запишитесь на урок: https://otus.pw/8pVM/
  • Java библиотека

    Что такое livelock? livelock – тип взаимной блокировки, при котором несколько потоков выполняют бесполезную работу, попадая в зацикленность при попытке получения каких-либо ресурсов. При этом их состояния постоянно изменяются в зависимости друг от друга. Фактической ошибки не возникает, но КПД системы падает до 0. Часто возникает в результате попыток предотвращения deadlock. Реальный пример livelock, – когда два человека встречаются в узком коридоре и каждый, пытаясь быть вежливым, отходит в сторону, и так они бесконечно двигаются из стороны в сторону, абсолютно не продвигаясь в нужном им направлении.
  • Реклама

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

    Попытка создать java Framework для телеграм ботов У меня иногда появлялось желание делать ботов для телеграм, так мой основной язык Java - выбор не велик и он меня не устраивает. Каждый раз нужно было придумывать какие-то схемы обработки приходящих апдейтов и мучаться с этим всем. Либо был другой выбор - всякие непонятные Abilities / Replies, по которым нет информации нигде, а еще они используют внутри свою странную БД. Читать статью
    Попытка создать java Framework для телеграм ботов

    У меня иногда появлялось желание делать ботов для телеграм, так мой основной язык Java - выбор не велик и он меня не устраивает. Каждый раз нужно было придумывать какие-то схемы обработки приходящих апдейтов и мучаться с этим всем. Либо был другой выбор - всякие непонятные Abilities / Replies, по которым нет информации нигде, а еще они используют внутри свою странную БД. По этим причинам у меня в голове давно витает мысль сделать какую-то библиотеку / фреймворк, что бы можно было нормально и без мучений делать…

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

    Найти работу в айти можно 2 методами: Первый. Бесконечно скроллить HeadHunter и пытаться что-то выклевать на LinkedIN. Офигеть от условий и закрыть. Второй. Подписаться на JavaJob. Это база адекватных предложений, где даже для новичков много мест с хорошей з/п. Тут найдете работу как в Яндексе (именно сюда крупняки присылают вакансии напрямую), так и в молодых стартапах! В общем, не теряйте времени и находите работу в 2 клика: @Job_javadevs
  • Java библиотека

    Что такое deadlock? Взаимная блокировка (deadlock) - явление, при котором все потоки находятся в режиме ожидания. Происходит, когда достигаются состояния: 1. взаимного исключения: по крайней мере один ресурс занят в режиме неделимости и, следовательно, только один поток может использовать ресурс в любой данный момент времени. 2. удержания и ожидания: поток удерживает как минимум один ресурс и запрашивает дополнительные ресурсов, которые удерживаются другими потоками. 3. отсутствия предочистки: операционная система не переназначивает ресурсы: если они уже заняты, они должны отдаваться удерживающим потокам сразу же. 4. цикличного ожидания: поток ждёт освобождения ресурса, другим потоком, который в свою очередь ждёт освобождения ресурса заблокированного первым потоком. Простейший способ избежать взаимной блокировки – не допускать цикличного ожидания. Этого можно достичь, получая мониторы разделяемых ресурсов в определённом порядке и освобождая их в обратном порядке.
  • Java библиотека

    10 приниципов разработки на Java Сколько раз вы были в ситуации, когда вы хотели добавить новую функцию в свое приложение, но не могли, потому что код был не масштабируемый? Сколько раз вам приходилось переписывать код, чтобы сделать его тестируемым? Сколько раз вам приходилось добавлять больше кода, чтобы сделать его оптимальным для мобильных устройств? Читать статью
    10 приниципов разработки на Java

    Сколько раз вы были в ситуации, когда вы хотели добавить новую функцию в свое приложение, но не могли, потому что код был не масштабируемый? Сколько раз вам приходилось переписывать код, чтобы сделать его тестируемым? Сколько раз вам приходилось добавлять больше кода, чтобы сделать его оптимальным для мобильных устройств? На самом деле, все сводится к принципам дизайна. В этой статье я поделюсь десятью принципами проектирования, которые необходимо знать всем программистам / разработчикам ПО. Эти принципы относятся…

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

    Будем краткими: В Surf не хватает тебя! Ты Middle Back-end разработчик? Тогда это должно тебе понравиться: Почему в Surf работать круто: ▪️ЗП от 300k ▪️Живи в России и работай на западных проектах ▪️ДМС со стоматологией, психологами, юристами ▪️Не приветствуем переработки, но если уж так случилось, то щедро их оплачиваем ▪️DevRel на уровне: хотел быть звездой Back-end? Мы поможем. ▪️Минимум бюрократии, свобода в принятии решений, возможность создавать процессы и внедрять новые практики Перешёл сразу к части со ссылкой? ✅Жми: ​​https://backend-offer.surf.ru ✅Оставляй заявку в конце лендинга ✅Прокачивай себя в Surf
  • Java библиотека

    Почему методы wait() и notify() вызываются только в синхронизированном блоке? Монитор надо захватывать в явном виде (через synchronized-блок), потому что методы wait() и notify() не синхронизированы.
  • Java библиотека

    Реализация сервера авторизации OAuth с помощью сервера авторизации Spring Сервер авторизации в OAuth предназначен для выдачи маркера доступа, который позволяет клиентскому приложению использовать этот маркер доступа для запроса ресурса, который ему нужно получить. Сервер ресурсов будет подтверждать этот маркер доступа с помощью сервера авторизации каждый раз, когда клиентское приложение запрашивает ресурс, чтобы определить, следует ли разрешить клиентскому приложению доступ к этому ресурсу. Вы можете использовать множество различных открытых источников, таких как Keycloak, Spring Security OAuth (устаревший), или же новый проект Spring под названием Spring Authorization Server для реализации этого сервера авторизации. В этом руководстве я покажу вам, как использовать сервер авторизации Spring (Spring Authorization Server) для реализации сервера авторизации OAuth (OAuth Authorization Server)! Читать статью
    Реализация сервера авторизации OAuth с помощью сервера авторизации Spring

    Сервер авторизации в OAuth предназначен для выдачи маркера доступа, который позволяет клиентскому приложению использовать этот маркер доступа для запроса ресурса, который ему нужно получить. Сервер ресурсов будет подтверждать этот маркер доступа с помощью сервера авторизации каждый раз, когда клиентское приложение запрашивает ресурс, чтобы определить, следует ли разрешить клиентскому приложению доступ к этому ресурсу. Вы можете использовать множество различных открытых источников, таких как Keycloak, Spring…

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

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

    В чем разница между notify() и notifyAll()? Дело в том, что «висеть» на методе wait() одного монитора могут сразу несколько потоков. При вызове notify() только один из них выходит из wait() и пытается захватить монитор, а затем продолжает работу со следующего после wait() оператора. Какой из них выйдет - заранее неизвестно. А при вызове notifyAll(), все висящие на wait() потоки выходят из wait(), и все они пытаются захватить монитор. Понятно, что в любой момент времени монитор может быть захвачен только одним потоком, а остальные ждут своей очереди. Порядок очереди определяется планировщиком потоков Java.
  • Java библиотека

    Примитивные типы данных в Java Java как язык программирования является одновременно статически-типизированными и строго-типизированным. Статическая типизация означает, что тип данных каждой переменной и каждого выражения должен быть объявлен до момента их использования. Строгая типизация выражается тем, что каждый примитивный тип данных обладает определенным лимитом значения, который переменная может хранить или выражение может произвести. Все это говорит, что тип данных переменной или выражения должен быть известен на момент компиляции программы. Читать статью
    Примитивные типы данных в Java

    1. Введение Java как язык программирования является одновременно статически-типизированными и строго-типизированным. Статическая типизация означает, что тип данных каждой переменной и каждого выражения должен быть объявлен до момента их использования. Строгая типизация выражается тем, что каждый примитивный тип данных обладает определенным лимитом значения, который переменная может хранить или выражение может произвести. Все это говорит, что тип данных переменной или выражения должен быть известен на момент…

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

    ☘️Хардкорный тест из 21 вопроса только для тех, кто уже знает и любит Java и хочет освоить Framework Spring. 🚀Если сможете сдать — пройдёте на продвинутый курс для разработчиков по спец.цене. ⏰ Время прохождения теста ограничено 30 минут 👉🏻ПРОЙТИ ТЕСТ: https://otus.pw/NJwz/
  • Java библиотека

    Как работают методы wait() и notify()/notifyAll()? Эти методы определены у класса Object и предназначены для взаимодействия потоков между собой при межпоточной синхронизации. • wait(): освобождает монитор и переводит вызывающий поток в состояние ожидания до тех пор, пока другой поток не вызовет метод notify()/notifyAll(); • notify(): продолжает работу потока, у которого ранее был вызван метод wait(); • notifyAll(): возобновляет работу всех потоков, у которых ранее был вызван метод wait(). Когда вызван метод wait(), поток освобождает блокировку на объекте и переходит из состояния Работающий (Running) в состояние Ожидания (Waiting). Метод notify() подаёт сигнал одному из потоков, ожидающих на объекте, чтобы перейти в состояние Работоспособный (Runnable). При этом невозможно определить, какой из ожидающих потоков должен стать работоспособным. Метод notifyAll() заставляет все ожидающие потоки для объекта вернуться в состояние Работоспособный (Runnable). Если ни один поток не находится в ожидании на методе wait(), то при вызове notify() или notifyAll() ничего не происходит. Поток может вызвать методы wait() или notify() для определённого объекта, только если он в данный момент имеет блокировку на этот объект. wait(), notify() и notifyAll() должны вызываться только из синхронизированного кода.
  • Реклама

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

    🔥 Бесплатная Live coding сессия, где будем решать задачу с собеседования в международную FinTech компанию В прямом эфире Роман Оборин, Senior Java Developer в BNP Paribas и преподаватель курса Middle Java Dev, проведет Live coding сессию по написанию объектно-ориентированного кода на Java, покрытого разными типами тестов: Unit, Integration, Stress. На Live сoding ты сможешь понаблюдать, как пишет код Senior-разработчик, прокомментировать процесс и решить реальную задачу, которую дают на собеседованиях. Ну и конечно, прокачаешь свои hard skills: — Структурируешь знания по принципам SOLID — Прокачаешь знания по разным видам тестирования, в том числе многопоточных программ — Подготовишься к техническому интервью с этапом Live coding 🚀 Стартуем 18 августа в 19:00 по мск Регистрируйся бесплатно: https://cutt.ly/WZ136Un
  • Java библиотека

    Запуск потоков в Java В этой статье мы разберем различные способы запуска потоков. Описав задачу, мы выполнить ее в многопоточной среде при помощи класса Thread и сравним с продвинутыми способами работы создания и запуска потоков. Читать статью
    Запуск потоков в Java

    1. Введение В этой статье мы разберем различные способы запуска потоков. Описав задачу, мы выполнить ее в многопоточной среде при помощи класса Thread и сравним с продвинутыми способами работы создания и запуска потоков. 2. Базовый запуск Thread 2.1 Переопределить метод Thread.run Описав простую задачу, мы можем ее выполнить в многопоточной среде при помощи класса Thread. Java Virtual Machine (JVM) позволяет выполнять задачи одновременно благодаря классу Thread, что и определяет многопоточную среду. Для этого…

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

    Зачем может быть нужен private мьютекс? Объект для синхронизации делается private, чтобы сторонний код не мог на него синхронизироваться и случайно получить взаимную блокировку.