seniorjavist | Unsorted

Telegram-канал seniorjavist - Senior Java Developer

-

Изучаем Java. По вопросам сотрудничества: @seniorvladislav

Subscribe to a channel

Senior Java Developer

Заходят как-то прогер, девопс и тестировщик в канал IT База Знаний...

А там:

😉 крутое IT-сообщество, с которым хочется расти;
материалы и туториалы, рассказанные доступным языком, необходимые для повышения квалификации и профессионализма;
🤩 актуальные новости и юмор из мира высоких технологий, чтобы быть в курсе последних событий.

Подписывайся на канал для программистов без снобизма!🥳

/channel/+OfLXANl7ARdkOTQy

Читать полностью…

Senior Java Developer

Фильтрация

Фильтрация — это процесс выбора элементов из коллекции, удовлетворяющих определенному критерию. Фильтрация является одной из базовых операций при работе с коллекциями и позволяет легко извлекать нужные элементы.

В Java фильтрация может быть выполнена с использованием метода filter() из класса java.util.stream.Stream. Метод filter() принимает предикат (функцию, которая возвращает true или false в зависимости от того, удовлетворяет ли элемент критерию) и возвращает новый Stream, содержащий только те элементы, которые удовлетворяют критерию.

#для_продвинутых

Читать полностью…

Senior Java Developer

Преобразование файла в строку

В нашем первом примере мы используем встроенный пакет файлов Java 1.11+. Этот метод работает с Java 1.11+.

Также рассмотрим еще один вариант преобразования, а именно использование встроенного пакета Streams Java 1.8+.

Читать полностью…

Senior Java Developer

Memory Model

Memory Model (модель памяти) в Java определяет взаимодействие потоков с разделяемой памятью. Она гарантирует видимость изменений в памяти и порядок операций.

Java Memory Model (JMM) устанавливает правила для этого взаимодействия. JMM обеспечивает видимость изменений через синхронизацию и волатильные переменные. Она также определяет порядок операций и гарантирует атомарность для некоторых операций.

#для_продвинутых

Читать полностью…

Senior Java Developer

5 февраля Слёрм запускает курс по 1С в формате потока. Учат и разработчиков, и тех, кто поддерживает 1С на предприятии.

Подробная программа и форма для записи по ссылке.

Это комплексный курс, который сочетает в себе современный нескучный подход к обучению и больше количество практических заданий!

Курс идет 6 недель в формате потока:
Все задания и итоговый проект проверяют спикеры курса и готовят подробное код-ревью.
На время потока будет создан чат. В нём вы сможете задать любой вопрос по разработке на 1С и оперативно получить ответ.
На протяжении курса вы будете разрабатывать мобильное приложение на платформе «1С: Предприятие» и интегрировать сервисы API. 

➡️ Ждем вас!

Реклама. ООО «Слёрм» г. Лиски, ОГРН 1193668020545 Erid: 2VtzqvCvipW

Читать полностью…

Senior Java Developer

Буферизованные потоки

Буферизованные потоки — это классы, которые обеспечивают буферизацию потоковых данных, что может улучшить производительность при чтении и записи больших объемов данных.

Преимущества использования буферизованных потоков включают более эффективную работу с файлами и сетевыми соединениями за счет уменьшения количества операций ввода-вывода. Также буферизация может уменьшить количество запросов к диску или сети, что может улучшить производительность при работе с большими объемами данных.

#для_продвинутых

Читать полностью…

Senior Java Developer

Условия в блокировках

В Java блокировки могут иметь связанные с ними условия, которые позволяют потокам ожидать определенных условий до получения блокировки или до ее освобождения.

Условия могут использоваться для предотвращения "голодания" некоторых потоков или для более эффективного управления блокировками.

Читать полностью…

Senior Java Developer

Взаимная блокировка потоков

Взаимная блокировка потоков — это ситуация, когда два или более потоков блокируются, ожидая друг друга, чтобы освободить общие ресурсы, необходимые им для продолжения работы.

Такая ситуация возникает, когда два или более потоков пытаются получить доступ к общему ресурсу одновременно, что может привести к блокировке их работы. Для избежания этой проблемы можно использовать мониторы и ключевое слово synchronized.

#для_продвинутых

Читать полностью…

Senior Java Developer

Думаешь, что программирование это про код?

В 2024 году пишут код даже 10-летние, а еще лучше нейронки. Самый ценный навык разработчика — это умение быстро обучаться и развитиваться. Чем быстрее ты начинаешь применять новые знания, тем ценнее ты на рынке. А чтобы быть в топе, учиться нужно всегда.

Для этого всего-то нужно:
~ ходить на митапы
~ читать блоги БигТеха
~ общаться с сильном комьюнити
~ следить за новинками из мира IT

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

Подпишись, стать 10х-программистом проще, чем кажется: @xor_journal

Читать полностью…

Senior Java Developer

Сортировка Шелла

Если простыми словами, то сортировка Шелла это алгоритм сортировки массива, который улучшает производительность сортировки вставками.

Он основан на сравнении элементов, находящихся не только рядом, но и на определенном расстоянии друг от друга.

Суть алгоритма заключается в том, что на каждом шаге расстояние между элементами уменьшается вдвое, что позволяет ускорить сортировку.

#для_продвинутых

Читать полностью…

Senior Java Developer

Переопределение методов в классах наследниках

В Java можно переопределить методы в классах-наследниках с помощью ключевого слова @Override. Переопределение метода позволяет изменить его реализацию в подклассе, сохраняя при этом сигнатуру (имя, типы параметров и возвращаемое значение) метода из суперкласса.

Обратите внимание на использование аннотации @Override перед переопределенным методом в классе Subclass. Это помогает компилятору обнаружить ошибки, если вы случайно ошиблись в сигнатуре метода или не переопределили метод правильно.

#для_продвинутых

Читать полностью…

Senior Java Developer

Когда мне говорят, что Java слишком простой язык, я показываю канал Java Learning

Здесь я научился:

▪️ Разрабатывать высоконагруженные серверные приложения
▪️ Управлять сложными базами данных
▪️ Организовывать эффективную многопоточную обработку данных
▪️ Проходить технические собеседования в ведущие IT-компании

Самый необычный канал про Java, подписывайся@Java_per_month

Читать полностью…

Senior Java Developer

Восходящее и нисходящее преобразование

Восходящее преобразование (upcasting) происходит, когда объект или значение преобразуется в тип, который находится выше в иерархии наследования.

Нисходящее преобразование (downcasting) происходит, когда объект или значение преобразуется в тип, который находится ниже в иерархии наследования. Для выполнения нисходящего преобразования необходимо явно привести типы.

#для_начинающих

Читать полностью…

Senior Java Developer

ZipOutputStream

ZipOutputStream — это класс в Java, который позволяет создавать архив Zip, добавлять в него файлы и директории, и сохранять его в файловой системе. Он наследует класс DeflaterOutputStream и реализует интерфейс Closeable.

ZipOutputStream (OutputStream out) — создает объект ZipOutputStream, который будет записывать данные в указанный выходной поток.

#для_продвинутых

Читать полностью…

Senior Java Developer

Принцип FIFO

Принцип FIFO (First-In-First-Out) относится к упорядочиванию и обработке элементов в порядке их поступления. В Java вы можете реализовать FIFO с использованием структуры данных, такой как очередь (Queue). В стандартной библиотеке Java есть несколько классов и интерфейсов, которые поддерживают FIFO:

— Queue интерфейс: Queue является интерфейсом, который предоставляет основные методы для работы с очередью. Вы можете использовать реализации этого интерфейса, такие как LinkedList или PriorityQueue, чтобы создать FIFO очередь.

— ArrayDeque: ArrayDeque также может быть использован для реализации FIFO очереди. Вы можете добавлять элементы в начало или конец очереди и извлекать их из начала очереди.

#для_продвинутых

Читать полностью…

Senior Java Developer

Как используется класс Future?

Класс Future является частью пакета java.util.concurrent, и он используется для представления результата асинхронной операции или задачи, которая выполняется в фоновом потоке. Future позволяет вам управлять и получать результаты выполнения задачи в будущем, даже если она еще не завершилась.

#для_начинающих

Читать полностью…

Senior Java Developer

Прокачайте Java-скилы c Холдингом Т1! 💙 🚀

➕ Если вы уже более года работаете Java-разработчиком и хотите освоить новые перспективы для развития внутри профессии, то Открытые школы Холдинга Т1 для вас!

Мы поможем вам улучшить свои навыки и пригласим лучших в нашу команду!

В программе интенсива: 
🔹 Spring Core
🔹 Очереди, брокеры сообщений

Как это работает:
🔹 подать заявку на сайте 
🔹 пройти входное тестирование
🔹достаточно 8 часов в неделю: 4 часа на вебинары и 4 часа на практические задания
🔹всё онлайн и без отрыва от работы

Продолжительность - 1 месяц, стартуем уже в январе.🎓

🌟 Подавайте заявку до 24 января!

Реклама. ООО "ГК "ИННОТЕХ". ИНН 9703073496.

Читать полностью…

Senior Java Developer

Как пройти собеседование в компанию мечты? ☄️

26 января проведем техническое собеседование на позицию Senior Java Developer в «Цифровые Привычки», 350.000₽+

В прямом эфире:

Разберем реальное CV;
Обсудим, на что обращают внимание рекрутеры, а на что — интервьюеры;
Расскажем о частых ошибках на собеседовании и как не допустить их.

А после эфира поделимся чек-листом, который поможет учесть все требования 2024 года при подготовке к собеседованию.

Интервьюер – Роберт Мазипов. Java Architect с опытом программирования на Java 4 года. Преподаватель на курсе Senior Java Developer.

Больше — в прямом эфире!
Регистрация по ссылке: https://clck.ru/386FBo

Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid: 2VtzqxDo2UE

Читать полностью…

Senior Java Developer

Оptimistic locking

optimistic locking — это стратегия контроля параллельного доступа к ресурсам или данным, которая позволяет не блокировать ресурсы в течение длительного времени. Она основывается на предположении, что конфликты при доступе к данным встречаются редко, и поэтому вместо того чтобы заблокировать ресурс целиком на протяжении операции, она позволяет нескольким потокам или процессам работать с данными параллельно.

Если возникает конфликт, то один из потоков получит уведомление об этом и может принять меры для разрешения конфликта.

#для_продвинутых

Читать полностью…

Senior Java Developer

Параллельная редукция

Параллельная редукция в Java — это процесс сокращения (редукции) коллекции элементов с использованием параллельных вычислений. В Java для этого можно использовать параллельные потоки и функциональные интерфейсы, такие как reduce(), collect() и stream().

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

#для_продвинутых

Читать полностью…

Senior Java Developer

Старт подготовительного курса по Java-разработке.

Когда: уже 25 января.

Даем: 62 урока с практикой в браузере, 3 онлайн вебинара и 1 сессию лайвкодинга с практикующим разработчиком.

Получаем: крепкие знания базы языка, умение понимать код и первую программу на Java, написанную вместе с наставником.

Всего 990 ₽ и ваше жгучее желание начать. Приходите с любым бэкграундом: нам не важны возраст, пол, образование и текущая профессия.

Запишитесь прямо сейчас!

Реклама. ООО "ХЕКСЛЕТ РУС". ИНН 7325174845. erid:LjN8KLsLZ

Читать полностью…

Senior Java Developer

Быстрый офер в Яндекс для бэкенд-разработчиков

Мечтали о возможности самим выбрать команду, в которой будете работать? Приходите в Яндекс за офером! На мероприятии по быстрому найму через MultiTrack 27–28 января можно получить приглашение за два дня, несколько недель поработать в трёх разных командах, а затем выбрать проект, с которым свяжете будущее.

План простой: до 24 января решите задачи в Контесте, 27 января пройдите две технические секции, а 28-го получите офер и знакомьтесь с командами. Мы ждём бэкендеров на C++, Python, Java и Go, которые занимаются коммерческой разработкой больше пяти лет.

Регистрируйтесь и приходите!

Читать полностью…

Senior Java Developer

В Java 21 собираются реализовать сопоставление с образцом – так, глядишь, я снова на этот язык перейду

Выпуск Java 21 состоялся 19 сентября 2023 года. В этой версии поддерживаются паттерны записи в switch-блоках и выражениях. Такой синтаксис выглядит монументально (как минимум, по меркам Java).

Смотреть статью

Читать полностью…

Senior Java Developer

Ссылочные типы

В Java все типы данных делятся на две категории: примитивные типы и ссылочные типы. Ссылочные типы данных представляют собой объекты, которые содержат данные и методы для работы с ними. В отличие от примитивных типов, переменные ссылочных типов хранят ссылку на объект, а не его значение.

#для_начинающих

Читать полностью…

Senior Java Developer

☄️ 17 января в 18:00 состоится бесплатный вебинар от HeadBridge!

«Обработка тысяч одновременных записей и обеспечение согласованности данных»


• Разберем уровни изоляции транзакций
• Физический состав работы с базой данных
• Locks: pessimistic, optimistic & advisory

Рассмотрим потенциальные проблемы при работе со связкой java->database. Выполним тысячи апдейтов над одними и теми же строками и покажем наиболее распространенные подходы для достижения согласованности и производительности.

Ведущий: Роман Оборин, Senior Software Engineer
Опыт программирования на Java — 6 лет (Tesco, BNP paribas, Natera)

💖Скорее регистрируйся: https://bit.ly/headbridge

Реклама. ООО "Платформа непрерывного обучения"
erid: 2VtzqwKs6n9, ИНН 7839405924

Читать полностью…

Senior Java Developer

NavigableSet

NavigableSet — это расширенный интерфейс Set, который позволяет работать с элементами множества в отсортированном порядке и выполнять различные операции поиска и навигации. NavigableSet в Java предоставляет ряд методов для работы с элементами в порядке возрастания или убывания.

#для_продвинутых

Читать полностью…

Senior Java Developer

Records

Records — это новый тип данных, добавленный в Java 14, который позволяет определить класс с набором свойств, аналогичных полям класса, но неизменяемых и доступных только для чтения. Они предоставляют удобный способ объявления простых неизменяемых объектов с сокращенным синтаксисом.

#для_продвинутых

Читать полностью…

Senior Java Developer

Группировка

Группировка (grouping) — это процесс объединения данных в группы или категории в соответствии с определенным критерием или условием. Группировка является важной операцией при обработке больших объемов данных, поскольку она позволяет легко анализировать и обрабатывать данные, разбивая их на более мелкие подгруппы.

В Java группировка может быть выполнена с использованием метода groupingBy() из класса java.util.stream.Collectors. Метод groupingBy() принимает функцию, которая определяет критерии группировки, и возвращает Map с ключами, соответствующими группам, и значениями, представляющими элементы группы.

#для_продвинутых

Читать полностью…

Senior Java Developer

Что такое Shutdown hook?

Shutdown hook — это механизм, который позволяет выполнить код при завершении работы JVM. Например, можно закрыть все открытые ресурсы и завершить потоки перед тем, как программа будет полностью остановлена.

Вы можете зарегистрировать Shutdown hook с помощью метода Runtime.addShutdownHook(). Этот метод принимает объект класса Thread, который представляет код, который вы хотите выполнить при завершении JVM.

Shutdown hook будет выполнен при завершении JVM, независимо от того, был ли завершен процесс JVM нормально (например, с помощью System.exit()) или из-за необработанного исключения.

#для_продвинутых

Читать полностью…

Senior Java Developer

BufferedWriter

BufferedWriter - это класс в Java, который позволяет записывать символы в файл с буферизацией. Он наследует класс Writer и реализует интерфейсы Closeable, Flushable и Appendable.

Конструктор BufferedWriter имеет одну форму:

BufferedWriter (Writer writer) - создает объект BufferedWriter, который будет использовать указанный Writer для записи данных.

#для_продвинутых

Читать полностью…
Subscribe to a channel