Какие знания отличают востребованного программиста?
Расскажет Евгений Волосатов – профессиональный программист, преподаватель языка Java и автор курсов по C#, Java и PHP.
Встречаемся на бесплатном практическом уроке «Алгоритм Дейкстры», где мы:
✅ рассмотрим самый оптимальный алгоритм поиска кратчайшего пути во взвешенном графе;
✅ покажем, как он работает «на пальцах»;
✅ запрограммируем и продемонстрируем его работу на языке;
✅ сделаем обзор второй половины программы курса «Алгоритмы и структуры данных».
После урока вы сможете продолжить обучение на курсе в рассрочку на специальных условиях.
Занятие пройдёт 17 января в 20:00 мск. Для бесплатного участия регистрируйтесь прямо сейчас: https://otus.pw/NVlh6/
Расскажет Евгений Волосатов – профессиональный программист, преподаватель языка Java и автор курсов по C#, Java и PHP.
Встречаемся на бесплатном практическом уроке «Алгоритм Дейкстры», где мы:
✅ рассмотрим самый оптимальный алгоритм поиска кратчайшего пути во взвешенном графе;
✅ покажем, как он работает «на пальцах»;
✅ запрограммируем и продемонстрируем его работу на языке;
✅ сделаем обзор второй половины программы курса «Алгоритмы и структуры данных».
После урока вы сможете продолжить обучение на курсе в рассрочку на специальных условиях.
Занятие пройдёт 17 января в 20:00 мск. Для бесплатного участия регистрируйтесь прямо сейчас: https://otus.pw/NVlh6/
👍8❤3🔥2🎅2
Структуры данных и алгоритмы в Java (2013) PDF
Второе издание одной из самых авторитетных книг по программированию посвящено использованию структур данных и алгоритмов. Алгоритмы - это основа программирования, определяющая, каким образом разрабатываемое программное обеспечение будет использовать структуры данных. На четких и простых программных примерах автор объясняет эту сложную тему, предлагая читателям написать собственные программы и на практике усвоить полученные знания.
Второе издание одной из самых авторитетных книг по программированию посвящено использованию структур данных и алгоритмов. Алгоритмы - это основа программирования, определяющая, каким образом разрабатываемое программное обеспечение будет использовать структуры данных. На четких и простых программных примерах автор объясняет эту сложную тему, предлагая читателям написать собственные программы и на практике усвоить полученные знания.
🔥22👍7
Возможно ли при переопределении метода изменить: модификатор доступа, возвращаемый тип, тип аргумента или их количество, имена аргументов или их порядок; убирать, добавлять, изменять порядок следования элементов секции throws?
При переопределении метода сужать модификатор доступа не разрешается, т.к. это приведёт к нарушению принципа подстановки Барбары Лисков. Расширение уровня доступа возможно.
Можно изменять все, что не мешает компилятору понять какой метод родительского класса имеется в виду:
• Изменять тип возвращаемого значения при переопределении метода разрешено только в сторону сужения типа (вместо родительского класса - наследника).
• При изменении типа, количества, порядка следования аргументов вместо переопределения будет происходить
• Секцию throws метода можно не указывать, но стоит помнить, что она остаётся действительной, если уже определена у метода родительского класса. Так же, возможно добавлять новые исключения, являющиеся наследниками от уже объявленных или исключения
При переопределении метода сужать модификатор доступа не разрешается, т.к. это приведёт к нарушению принципа подстановки Барбары Лисков. Расширение уровня доступа возможно.
Можно изменять все, что не мешает компилятору понять какой метод родительского класса имеется в виду:
• Изменять тип возвращаемого значения при переопределении метода разрешено только в сторону сужения типа (вместо родительского класса - наследника).
• При изменении типа, количества, порядка следования аргументов вместо переопределения будет происходить
overloading
(перегрузка) метода.• Секцию throws метода можно не указывать, но стоит помнить, что она остаётся действительной, если уже определена у метода родительского класса. Так же, возможно добавлять новые исключения, являющиеся наследниками от уже объявленных или исключения
RuntimeException
. Порядок следования таких элементов при переопределении значения не имеет.👍23🔥3❤2
Как получить доступ к переопределенным методам родительского класса?
С помощью ключевого слова
С помощью ключевого слова
super
мы можем обратиться к любому члену родительского класса - методу или полю, если они не определены с модификатором private
.super.method();
👍28❤1🔥1
🔥Есть очень эффективный инструмент для создания тестов на Java
Освойте его на бесплатном практическом уроке «Пишем тесты на Java с помощью Cucumber Framework» от OTUS. На вебинаре:- познакомимся с библиотекой Cucumber;- научимся писать тесты с помощью нее;- ответим на все возникающие вопросы.
⏰Занятие пройдёт 17 января в 20:00 мск и будет приурочено к старту курса «Java QA Engineer. Professional». Доступна рассрочка на обучение!
💪Пройдите короткое тестирование прямо сейчас, чтобы занять место на открытом уроке и получить запись: https://otus.ru/lessons/java-qa-pro/?utm_source=telegram&utm_medium=cpc&utm_campaign=jqa&utm_term=javalib&utm_content=lesson-17-01-2024#event-3820
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8KMFFi
Освойте его на бесплатном практическом уроке «Пишем тесты на Java с помощью Cucumber Framework» от OTUS. На вебинаре:- познакомимся с библиотекой Cucumber;- научимся писать тесты с помощью нее;- ответим на все возникающие вопросы.
⏰Занятие пройдёт 17 января в 20:00 мск и будет приурочено к старту курса «Java QA Engineer. Professional». Доступна рассрочка на обучение!
💪Пройдите короткое тестирование прямо сейчас, чтобы занять место на открытом уроке и получить запись: https://otus.ru/lessons/java-qa-pro/?utm_source=telegram&utm_medium=cpc&utm_campaign=jqa&utm_term=javalib&utm_content=lesson-17-01-2024#event-3820
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8KMFFi
👍6❤3
Как разделить строку на части?
В Java можно разделить строку на части с помощью метода split() класса String. Метод split() разбивает исходную строку на массив строк, используя заданный разделитель.
В этом примере исходная строка «Это пример строки для разделения» разбивается на части с помощью пробела в качестве разделителя. Однако, если у вас есть другой разделитель (например, запятая или точка с запятой), просто замените значение переменной delimiter на соответствующий разделитель в вашем случае.
В Java можно разделить строку на части с помощью метода split() класса String. Метод split() разбивает исходную строку на массив строк, используя заданный разделитель.
В этом примере исходная строка «Это пример строки для разделения» разбивается на части с помощью пробела в качестве разделителя. Однако, если у вас есть другой разделитель (например, запятая или точка с запятой), просто замените значение переменной delimiter на соответствующий разделитель в вашем случае.
❤15👍9🔥1
CyclicBarrier
CyclicBarrier (циклический барьер) — это один из механизмов синхронизации в языке программирования Java, предоставляемый пакетом java.util.concurrent. Он позволяет группе потоков синхронизироваться на определенной точке выполнения, после чего они могут продолжить выполнение параллельно.
CyclicBarrier представляет собой барьер, который блокирует выполнение всех потоков до тех пор, пока все потоки не достигнут этой точки. Как только все потоки достигли барьера, он разблокируется, и все потоки выполняют свою работу.
CyclicBarrier (циклический барьер) — это один из механизмов синхронизации в языке программирования Java, предоставляемый пакетом java.util.concurrent. Он позволяет группе потоков синхронизироваться на определенной точке выполнения, после чего они могут продолжить выполнение параллельно.
CyclicBarrier представляет собой барьер, который блокирует выполнение всех потоков до тех пор, пока все потоки не достигнут этой точки. Как только все потоки достигли барьера, он разблокируется, и все потоки выполняют свою работу.
👍32🔥5❤3
Ответишь — пройдешь на продвинутый курс "Java Developer. Professional" от OTUS по специальной цене + получишь доступ к записям открытых уроков курса курса🎁 .
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Исключение в static блоке кода
Если в статическом блоке инициализации возникнет исключение, то это приведет к ошибке при инициализации класса.
Решить эту проблему можно двумя способами:
1. Перехватить исключение с помощью try-catch в этом же статическом блоке.
2. Перехватить исключение в последующем методе, куда оно будет выброшено, если не обрабатывать исключение в статическом блоке.
Как видно из примера, исключение из статического блока перехватывается в нем же блоком try-catch.
После этого класс инициализируется успешно, и его статический метод можно вызвать.
Если не обрабатывать исключение в статическом блоке, то оно будет выброшено дальше и его можно будет поймать в методе main, как показано в примере.
Если в статическом блоке инициализации возникнет исключение, то это приведет к ошибке при инициализации класса.
Решить эту проблему можно двумя способами:
1. Перехватить исключение с помощью try-catch в этом же статическом блоке.
2. Перехватить исключение в последующем методе, куда оно будет выброшено, если не обрабатывать исключение в статическом блоке.
Как видно из примера, исключение из статического блока перехватывается в нем же блоком try-catch.
После этого класс инициализируется успешно, и его статический метод можно вызвать.
Если не обрабатывать исключение в статическом блоке, то оно будет выброшено дальше и его можно будет поймать в методе main, как показано в примере.
❤13👍7
Как инженеру и разработчику усилить резюме?
Изучить востребованный инструмент Apache Kafka! Начните знакомство с ним на бесплатном практическом уроке от Евгения Непомнящего – разработчика в IT Sense.
💻На вебинаре:
- узнаете про особенности Kafka и ее устройство;
- познакомитесь с основными утилитами;
- рассмотрите базовое API для работы с Kafka.
Занятие пройдёт 23 января в 20:00 мск и будет приурочено к старту курса «Apache Kafka». Программа доступна в рассрочку!
👉Регистрируйтесь прямо сейчас, чтобы принять участие в открытом уроке и получить запись: https://otus.pw/tLXe/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Изучить востребованный инструмент Apache Kafka! Начните знакомство с ним на бесплатном практическом уроке от Евгения Непомнящего – разработчика в IT Sense.
💻На вебинаре:
- узнаете про особенности Kafka и ее устройство;
- познакомитесь с основными утилитами;
- рассмотрите базовое API для работы с Kafka.
Занятие пройдёт 23 января в 20:00 мск и будет приурочено к старту курса «Apache Kafka». Программа доступна в рассрочку!
👉Регистрируйтесь прямо сейчас, чтобы принять участие в открытом уроке и получить запись: https://otus.pw/tLXe/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
❤4👍3🔥2
«Обработка тысяч одновременных записей и обеспечение согласованности данных»
• Разберем уровни изоляции транзакций
• Физический состав работы с базой данных
• Locks: pessimistic, optimistic & advisory
Рассмотрим потенциальные проблемы при работе со связкой java->database. Выполним тысячи апдейтов над одними и теми же строками и покажем наиболее распространенные подходы для достижения согласованности и производительности.
Ведущий: Роман Оборин, Senior Software Engineer
Опыт программирования на Java — 6 лет (Tesco, BNP paribas, Natera)
Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid: 2Vtzqv2gxCV
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤3🔥2
Метод split
Метод split() используется для разбиения строки на подстроки по заданному разделителю. Он принимает один параметр — регулярное выражение, по которому будет производиться разбиение строки и возвращает массив строк (String[]), содержащий подстроки.
Если в качестве разделителя передать пробел (» «), то строка разбивается по пробелам на отдельные слова. Также можно указать число в качестве второго параметра, это будет лимит количества элементов.
Метод split() используется для разбиения строки на подстроки по заданному разделителю. Он принимает один параметр — регулярное выражение, по которому будет производиться разбиение строки и возвращает массив строк (String[]), содержащий подстроки.
Если в качестве разделителя передать пробел (» «), то строка разбивается по пробелам на отдельные слова. Также можно указать число в качестве второго параметра, это будет лимит количества элементов.
👍21🔥2🎉2
Бесплатный практический вебинар — Java: с чего начать карьеру в программировании?
⏰ Когда: 23 января в 19:00 по мск.
Расскажем за 2 часа, как освоить базовые навыки программирования на Java, найти удаленную работу и расти в профессии.
На практике познакомимся с синтаксисом языка и напишем программу, которую часто дают новичкам на техническом интервью.
🎁 Всем, кто зарегистрировался — Гайд «Как заговорить на сленге IT-специалистов», а каждому участнику — Карта компетенций Java-разработчика.
Погрузитесь в основы Java и задайте вопросы опытному разработчику!
Реклама. АНПОО "ХЕКСЛЕТ КОЛЛЕДЖ". ИНН 7839056670.
⏰ Когда: 23 января в 19:00 по мск.
Расскажем за 2 часа, как освоить базовые навыки программирования на Java, найти удаленную работу и расти в профессии.
На практике познакомимся с синтаксисом языка и напишем программу, которую часто дают новичкам на техническом интервью.
🎁 Всем, кто зарегистрировался — Гайд «Как заговорить на сленге IT-специалистов», а каждому участнику — Карта компетенций Java-разработчика.
Погрузитесь в основы Java и задайте вопросы опытному разработчику!
Реклама. АНПОО "ХЕКСЛЕТ КОЛЛЕДЖ". ИНН 7839056670.
👍4
Где разрешена инициализация статических/нестатических полей?
• Статические поля можно инициализировать при объявлении, в статическом или нестатическом блоке инициализации.
• Нестатические поля можно инициализировать при объявлении, в нестатическом блоке инициализации или в конструкторе.
• Статические поля можно инициализировать при объявлении, в статическом или нестатическом блоке инициализации.
• Нестатические поля можно инициализировать при объявлении, в нестатическом блоке инициализации или в конструкторе.
🔥11👍5❤1🍾1🎄1
Проверь насколько хорошо ты знаешь Java и готов освоить Spring!
Ответишь — пройдешь на продвинутый курс "Разработчик на Spring Framework" от OTUS по специальной цене.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2
Ожидания пользователей > реальное приложение – почему так?
Расскажет опытный эксперт на бесплатном практическом уроке «CAP-теорема и управление ожиданиями пользователей» от OTUS.
На вебинаре разберём:
1. Введение в CAP-теорему
2. Технические ограничения и ожидания пользователей
3. Реальные кейсы и способы решения
Урок будет полезен для разработчиков, сисадминов, аналитиков, DevOps и архитекторов.
Занятие пройдёт 23 января в 20:00 мск и будет приурочено к старту курса «Microservice Architecture». Доступна рассрочка на обучение.
Для бесплатного участия регистрируйтесь прямо сейчас: https://otus.pw/y0t7/
Расскажет опытный эксперт на бесплатном практическом уроке «CAP-теорема и управление ожиданиями пользователей» от OTUS.
На вебинаре разберём:
1. Введение в CAP-теорему
2. Технические ограничения и ожидания пользователей
3. Реальные кейсы и способы решения
Урок будет полезен для разработчиков, сисадминов, аналитиков, DevOps и архитекторов.
Занятие пройдёт 23 января в 20:00 мск и будет приурочено к старту курса «Microservice Architecture». Доступна рассрочка на обучение.
Для бесплатного участия регистрируйтесь прямо сейчас: https://otus.pw/y0t7/
👍6❤2🔥2
Можно ли объявить метод абстрактным и статическим одновременно?
Нет. В таком случае компилятор выдаст ошибку:
Нет. В таком случае компилятор выдаст ошибку:
"Illegal combination of modifiers: ‘abstract’ and ‘static’"
. Модификатор abstract
говорит, что метод будет реализован в другом классе, а static
наоборот указывает, что этот метод будет доступен по имени класса.👍20❤3
Где разрешена инициализация статических/нестатических полей?
• Статические поля можно инициализировать при объявлении, в статическом или нестатическом блоке инициализации.
• Нестатические поля можно инициализировать при объявлении, в нестатическом блоке инициализации или в конструкторе.
• Статические поля можно инициализировать при объявлении, в статическом или нестатическом блоке инициализации.
• Нестатические поля можно инициализировать при объявлении, в нестатическом блоке инициализации или в конструкторе.
👍15❤3🔥2
Брокеры сообщений – что это и зачем они нужны?
Узнайте на бесплатном практическом уроке от OTUS, где опытный эксперт разберет:
- какие проблемы решают брокеры сообщений;
- основные понятия в теме;
- применение брокеров в микросервисной архитектуре;
- почему именно RabbitMQ;
- почему не Каfka и в чем разница.
Встречаемся 25 января в 20:00 мск в рамках курса «RabbitMQ для разработчиков и администраторов». Доступна рассрочка на обучение!
Регистрируйтесь прямо сейчас, чтобы посетить бесплатный урок и получить запись: https://otus.pw/LDoh/
Узнайте на бесплатном практическом уроке от OTUS, где опытный эксперт разберет:
- какие проблемы решают брокеры сообщений;
- основные понятия в теме;
- применение брокеров в микросервисной архитектуре;
- почему именно RabbitMQ;
- почему не Каfka и в чем разница.
Встречаемся 25 января в 20:00 мск в рамках курса «RabbitMQ для разработчиков и администраторов». Доступна рассрочка на обучение!
Регистрируйтесь прямо сейчас, чтобы посетить бесплатный урок и получить запись: https://otus.pw/LDoh/
👍5❤3