Java библиотека – Telegram
Java библиотека
31.5K subscribers
2.37K photos
91 videos
10 files
2.19K links
Книги, статьи, мемы и многое другое для Java программиста!

По сотрудничеству и рекламе: @NadikaKir

Канал в перечне РКН: https://vk.cc/cJrT4A

Мы на бирже: https://telega.in/c/javalib/

Сообщество VK https://vk.com/javatutorial
Download Telegram
Стильный Java. Код который работает всегда и везде, Год 2021, Формат: Издательский pdf+epub

В современном мире разработки успешность приложения уже не определяется параметром «просто работает». Хороший программист должен знать возможности языка, практические приемы проектирования и платформенные средства для достижения максимальной производительности и жизнеспособности программ. Эта книга написана для разработчиков, которые хотят создавать качественный софт. Затронуты все ключевые показатели ПО: скорость, затраты памяти, надежность, удобочитаемость, потоковая безопасность, универсальность и элегантность. Реальные задачи и прикладные примеры кода на Java помогут надежно усвоить концепции.

Пройдя все этапы создания центрального проекта книги, вы сможете уверенно выбрать правильный путь оптимизации собственного приложения.
9👍3🔥3
CopyOnWriteArrayList

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

Основное отличие этой коллекции в том, что все модифицирующие операции (добавление, удаление элементов) не изменяют существующий массив, а создают его копию.
Это позволяет избежать необходимости синхронизации для потокобезопасного чтения.

CopyOnWriteArrayList полезен в ситуациях, когда чтение данных происходит гораздо чаще, чем изменение. Например, при реализации общего кэша в многопоточном приложении.
🔥15👍102
Бесплатный практический вебинар — Java: с чего начать карьеру в программировании?

Когда: 29 февраля в 19:00 по мск.

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

На практике познакомимся с синтаксисом языка и напишем программу, которую часто дают новичкам на техническом интервью.

🎁 Всем, кто зарегистрировался — Гайд «Как заговорить на сленге IT-специалистов», а каждому участнику — Карта компетенций Java-разработчика. 

Погрузитесь в основы Java и задайте вопросы опытному разработчику!
👍83😁3
ООП в языке Java. Сборник заданий и тематических примеров (2023) PDF

Сборник заданий предназначен для проработки приемов объектно-ориентированного программирования в языке Java. Издание содержит задачи на обработку массивов, реализацию интерфейсов, наследование, использование коллекций, дженериков и лямбда-выражений. В каждой теме приводятся примеры решения типовых задач и варианты индивидуальные заданий. Издание ориентировано в первую очередь на тех, кто не имеет опыта практического программирования на языке Java и адресуется студентам, а также всем, кто хотел бы научиться приемам программирования стандартных задач.
👍163🔥2
⁉️ Как стать разработчиком на Spring в 2024?

Узнайте на бесплатном практическом уроке от OTUS, где опытный эксперт приоткроет закулисье нашего курса и расскажет:

✔️ как грамотно выбрать итоговый проект, чтобы использовать его для портфолио и получить максимум практических навыков;
✔️ какие требования мы предъявляем к проектам студентов;
✔️ как проходит реализация проектов.

📢📢 Занятие пройдёт 28 февраля в 20:00 мск и будет приурочено к старту курса «Разработчик на Spring Framework».
Доступна рассрочка на обучение!

➡️ Пройдите короткий тест прямо сейчас, чтобы занять место на открытом уроке и получить запись: https://otus.pw/QdWTl/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍43🔥3
Класс StringJoiner

Класс StringJoiner предназначен для построения строки путем соединения элементов из коллекции.
Он позволяет указать разделитель, префикс и суффикс результирующей строки.

StringJoiner часто используется при необходимости преобразовать коллекцию объектов в строку.

В примере StringJoiner используется как раз для объединения имен в строку с разделителем и добавлением префикса/суффикса.
👍20🔥42
💥 Проверь себя – пройди тест по ИБ

Ответишь успешно — пройдешь на курс «Внедрение и работа в DevSecOps» от Отус по специальной цене со скидкой.

❗️На курсе ты научишься интегрировать в CI/CD, использовать инструменты ИБ и обеспечивать безопасность в непрерывном процессе разработки и продакшена.

Именно эти навыки дадут мощное конкурентное преимущество IT-специалистам и повысят твою востребованность и доход!

➡️ ПРОЙТИ ТЕСТ: https://otus.pw/E90k/

💥 Пройдете тест и бонусом получишь:
– Подборку видео уроков от руководителя курса "Роль уязвимостей"
– Доступ к записям лучших вебинаров курса
– Скидку на онлайн-курс «Внедрение и работа в DevSecOps»

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍54🔥2
Проблема квадрата/прямоугольника, объяснение и решение

В ролике о принципе подстановки Барбары Лисков я привёл в качестве примера его нарушения проблему квадрата/прямоугольника, но не предложил способов её решения. В этом ролике я ещё раз рассказываю об этой проблеме и предлагаю решение.
7👍3🔥2
🔝 Как разрабатывать приложения на любом фреймворке?

📡Расскажет Сергей Окатов, кандидат физ.мат наук, руководитель курса Kotlin Backend Developer.Professional на примере Spring и Ktor на открытом уроке от OTUS.

🔥На занятии: 
- узнаем про подход framework-agnostic и зачем он нужен; 
- разработаем приложение на Kotlin/Spring и Ktor;
- выполним интеграцию бизнес-логики в оба приложения;
- проанализируем плюсы и минусы подхода.

‼️Бесплатный урок пройдет 26 февраля в 19:00 по Москве в рамках курса «Kotlin Backend Developer. Professional». Обновленная программа обучения позволит прикоснуться к большому числу инструментов разработки современных, гибких, высокопроизводительных серверных приложений на языке Kotlin. Доступна рассрочка на обучение!

➡️Зарегистрируйтесь и пройдите тест прямо сейчас, чтобы занять место на открытом уроке и получить запись: https://otus.pw/28B5/

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8KDRAj
👍63🔥2
Интерфейс UnaryOperator

Интерфейс UnaryOperator предназначен для представления функций, которые принимают один аргумент и возвращают результат того же типа, что и аргумент.
Он является специализированным функциональным интерфейсом, входящим в пакет java.util.function.

UnaryOperator часто используется в stream API для применения функций к элементам потока.

В примере UnaryOperator используется для преобразования строк в верхний регистр с помощью метода map().
👍193🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Приглашаем на Infra Meetup #3 — митап про надежность от Яндекс Такси и Техплатформы Екома и Райдтеха

На митапе поделимся тремя докладами об инструментах надежности в Такси, платформе биллинга Екома и Райдтеха и возможностях фреймворка userver для поддержания отказоустойчивости. В конце митапа участников ждет нетворкинг и экскурсия по питерскому офису.

Формат: офлайн или онлайн
Место встречи: Санкт-Петербург, БЦ «Бенуа»
Дата и время: 29 февраля, 18:00

Бесплатно. Количество офлайн мест ограничено. Регистрация обязательна

Подробнее

Реклама. ООО "Яндекс.Такси", ИНН: 7704340310
4🔥3👍2
BeanPostProcessor

BeanPostProcessor — это интерфейс в Spring Framework, который позволяет разработчикам расширять логику создания бинов. BeanPostProcessors вызываются после того, как бин был создан и проинициализирован, но до того, как он будет зарегистрирован в контейнере Spring.

BeanPostProcessors имеют два метода обратного вызова:
postProcessBeforeInitialization(Object bean, String beanName): вызывается перед тем, как будет вызван метод init() бина.
postProcessAfterInitialization(Object bean, String beanName): вызывается после того, как будет вызван метод init() бина.
20👍9🔥4
💪 Как Java-разработчику повысить квалификацию и увеличить доход в 2024?

Освоить JVM с профилированием и оптимизацией приложений в облаках на онлайн-курсе «Java Developer. Advanced» от OTUS.

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

На курсе вас ждут:

▫️ живые вебинары с возможностью задать вопросы экспертам;
▫️много практики и сильные проекты для портфолио;
▫️поддержка профессионального комьюнити;
▫️ рассрочка на комфортных условиях.

🤝 Проверьте свои навыки пройдя тест и получите специальную цену: https://otus.pw/UDpn/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍42🔥2
Шаблонный метод - Шаблоны проектирования в деталях

Шаблонный метод - поведенческий шаблон проектирования, используемый в тех случаях, когда в рамках класса требуется реализовать некоторую логику, делегируя реализацию её деталей классам-наследникам.

В рамках серии роликов "Шаблоны проектирования в деталях" автор рассказывает о популярных шаблонах проектирования с примерами кода на языке программирования Java.
👍8🔥52😁1
Сделайте новый шаг в своей карьере: приглашаем на курс по 1C разработке мобильного приложения

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

Именно этому в Слёрме начнут учить уже в феврале — на курсе "1С разработчик: мобильное приложение + интеграция".

🌀 Вы научитесь создавать и интегрировать мобильные приложения для бизнес-решений на платформе 1С;

🔮 На реальных примерах разберёте создание HTTP-сервисов с помощью RPC;

☕️Создадите мобильное приложение с расширенным функционалом.

Курс идет 6 недель в формате потока:

Все задания и итоговый проект проверяют спикеры курса и готовят подробное код-ревью.

На время потока будет создан чат. В нём вы сможете задать любой вопрос по разработке на 1С и оперативно получить ответ.

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

Узнать программу курса и записаться на поток вы можете по ссылке.

Реклама. ООО «Слёрм» г. Лиски, ОГРН 1193668020545
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥3👍1
Метод insert()

Метод insert() используется для вставки элемента в список в заданную позицию. Он принадлежит интерфейсу List и его реализациям, таким как ArrayList.

Этот метод вставляет указанный элемент element по заданному индексу index и сдвигает все последующие элементы вправо.

*Индексы начинаются с 0.
*Если индекс меньше 0 или больше размера списка, будет выброшено исключение.
👍143🔥3😁1
Индивидуальное обучение с наставником!

Обучение до Middle Java Developer станет еще результативнее – мы обновили формат курса и теперь только практические занятия с senior-менторами по индивидуальной программе.

Что это значит?

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

Что остается из важного?

• База знаний «Middle Java Dev 2024»
• Актуальная теория по Spring, Kafka, CI/CD, Базам данных и Kubernetes на платформе TeachBase.
• Код-ревью, обсуждение реальных задач наставников.
• 15 ментор-сессий на протяжении курса

☄️ В завершении обучения проводим аттестацию, учим оформлять CV и выводим на собеседование в «Цифровые Привычки».

Записаться на обучение можно на сайте: https://clck.ru/392Y3Q

Запросить консультацию, записаться на интервью и обсудить индивидуальную программу обучения можно в нашем telegram-боте

Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid: 2Vtzqwf4pLa
Please open Telegram to view this post
VIEW IN TELEGRAM
👍74😁2🎉1🤩1
SocketHandler

SocketHandler — это класс в Java, который используется для отправки сообщений журнала на сервер журнала. Он наследуется от класса Handler и реализует интерфейс StreamHandler.
👍174🔥3😁1
🔥 Постоянно тушишь пожары по причине неоптимально заложенных основ БД?

Онлайн курс «Базы данных» от OTUS поможет на практике освоить все необходимые навыки для профессиональной работы с реляционными и нереляционными базами данных: PostgreSQL, MySQL, Redis, MongoDB, Cassandra, NoSQL, Clickhouse

Будет полезно, если:
— вам пришлось учиться всему самим, есть «серые зоны» в каком-то из блоков, например работа с индексами или оптимизация БД
— ваш набор компетенций не складывается в единую и устойчивую модель работы с БД

Программу ведут профессионалы из таких компаний, как Wildberries, 1C-СТАРТ, X5 Group etc

На 2024 год по данным job-сайтов на рынке дефицит профессионалов, отвечающих  возросшим требованиям работодателей 

Ответьте на 20 вопросов и проверьте, насколько вам необходимо обучение на продвинутом курсе «Базы данных» от OTUS.

На курсе осталось всего 3 свободных места!
👉https://otus.pw/dERk/?erid=LjN8KSZ5e
👍83🔥2🎅1
LambdaMetafactory

LambdaMetafactory — это класс в Java, который используется для создания объектов функциональных интерфейсов.

Как работает LambdaMetafactory:

1. LambdaMetafactory используется для создания CallSite, который представляет собой фабричный метод, возвращающий обработчик целевого метода.
2. Обработчик метода — это реализация функционального интерфейса, которая использует invokeExact для вызова целевого метода.
3. Если в лямбда-выражении есть захваченные переменные, то invokeExact принимает эти переменные как фактические параметры.
4. В Oracle JRE 8 metafactory динамически генерирует Java-класс, используя ObjectWeb Asm, который и создает класс-реализацию функционального интерфейса.
👍16🔥42
System.arraycopy

System.arraycopy используется для копирования элементов из одного массива в другой. Этот метод предоставляет эффективный способ копирования данных между массивами. Синтаксис System.arraycopy:

public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length)

Параметры метода включают:

src: Исходный массив, из которого вы хотите скопировать элементы.
srcPos: Начальная позиция в исходном массиве, с которой начнется копирование.
dest: Целевой массив, в который вы хотите скопировать элементы.
destPos: Начальная позиция в целевом массиве, куда будут скопированы элементы.
length: Количество элементов, которое вы хотите скопировать.
16👍10🔥2🎉1🎅1