Что такое абстрактный метод в языке Java?
Абстрактный метод – это метод без тела. Вы просто объявляете метод, не определяя его, с использованием ключевого слова abstract в объявлении метода. Все объявленные внутри интерфейса в языке Java методы – по умолчанию абстрактные. Пример абстрактного метода в языке Java представлен на картинке.
Теперь для реализации этого метода необходимо расширить абстрактный класс и этот метод переопределить.
Абстрактный метод – это метод без тела. Вы просто объявляете метод, не определяя его, с использованием ключевого слова abstract в объявлении метода. Все объявленные внутри интерфейса в языке Java методы – по умолчанию абстрактные. Пример абстрактного метода в языке Java представлен на картинке.
Теперь для реализации этого метода необходимо расширить абстрактный класс и этот метод переопределить.
❤17👍2
Бесплатный практический вебинар — Java: с чего начать карьеру в программировании?
⏰ Когда: 23 января в 19:00 по мск.
Расскажем за 2 часа, как освоить базовые навыки программирования на Java, найти удаленную работу и расти в профессии.
На практике познакомимся с синтаксисом языка и напишем программу, которую часто дают новичкам на техническом интервью.
🎁 Всем, кто зарегистрировался — Гайд «Как заговорить на сленге IT-специалистов», а каждому участнику — Карта компетенций Java-разработчика.
Погрузитесь в основы Java и задайте вопросы опытному разработчику!
Реклама. АНПОО "ХЕКСЛЕТ КОЛЛЕДЖ". ИНН 7839056670.
⏰ Когда: 23 января в 19:00 по мск.
Расскажем за 2 часа, как освоить базовые навыки программирования на Java, найти удаленную работу и расти в профессии.
На практике познакомимся с синтаксисом языка и напишем программу, которую часто дают новичкам на техническом интервью.
🎁 Всем, кто зарегистрировался — Гайд «Как заговорить на сленге IT-специалистов», а каждому участнику — Карта компетенций Java-разработчика.
Погрузитесь в основы Java и задайте вопросы опытному разработчику!
Реклама. АНПОО "ХЕКСЛЕТ КОЛЛЕДЖ". ИНН 7839056670.
❤5👍3
Расскажите про вложенные классы. В каких случаях они применяются?
Класс называется вложенным (Nested class), если он определен внутри другого класса. Вложенный класс должен создаваться только для того, чтобы обслуживать обрамляющий его класс. Если вложенный класс оказывается полезен в каком-либо ином контексте, он должен стать классом верхнего уровня. Вложенные классы имеют доступ ко всем (в том числе приватным) полям и методам внешнего класса, но не наоборот. Из-за этого разрешения использование вложенных классов приводит к некоторому нарушению инкапсуляции.
Существуют четыре категории вложенных классов:
• Static nested class (Статический вложенный класс);
• Member inner class (Простой внутренний класс);
• Local inner class (Локальный класс);
• Anonymous inner class (Анонимный класс).
Такие категории классов, за исключением первого, также называют внутренними (Inner class). Внутренние классы ассоциируются не с внешним классом, а с экземпляром внешнего.
Каждая из категорий имеет рекомендации по своему применению. Если вложенный класс должен быть виден за пределами одного метода или он слишком длинный для того, чтобы его можно было удобно разместить в границах одного метода и если каждому экземпляру такого класса необходима ссылка на включающий его экземпляр, то используется нестатический внутренний класс. В случае, если ссылка на обрамляющий класс не требуется - лучше сделать такой класс статическим. Если класс необходим только внутри какого-то метода и требуется создавать экземпляры этого класса только в этом методе, то используется локальный класс. А, если к тому же применение класса сводится к использованию лишь в одном месте и уже существует тип, характеризующий этот класс, то рекомендуется делать его анонимным классом.
Класс называется вложенным (Nested class), если он определен внутри другого класса. Вложенный класс должен создаваться только для того, чтобы обслуживать обрамляющий его класс. Если вложенный класс оказывается полезен в каком-либо ином контексте, он должен стать классом верхнего уровня. Вложенные классы имеют доступ ко всем (в том числе приватным) полям и методам внешнего класса, но не наоборот. Из-за этого разрешения использование вложенных классов приводит к некоторому нарушению инкапсуляции.
Существуют четыре категории вложенных классов:
• Static nested class (Статический вложенный класс);
• Member inner class (Простой внутренний класс);
• Local inner class (Локальный класс);
• Anonymous inner class (Анонимный класс).
Такие категории классов, за исключением первого, также называют внутренними (Inner class). Внутренние классы ассоциируются не с внешним классом, а с экземпляром внешнего.
Каждая из категорий имеет рекомендации по своему применению. Если вложенный класс должен быть виден за пределами одного метода или он слишком длинный для того, чтобы его можно было удобно разместить в границах одного метода и если каждому экземпляру такого класса необходима ссылка на включающий его экземпляр, то используется нестатический внутренний класс. В случае, если ссылка на обрамляющий класс не требуется - лучше сделать такой класс статическим. Если класс необходим только внутри какого-то метода и требуется создавать экземпляры этого класса только в этом методе, то используется локальный класс. А, если к тому же применение класса сводится к использованию лишь в одном месте и уже существует тип, характеризующий этот класс, то рекомендуется делать его анонимным классом.
👍27❤3🔥2
⚡️ Прокачай Java-скилы с Холдингом Т1 ⚡️
Приглашаем Java-разработчиков с опытом работы от года в Открытую школу от лидера* российского ИТ-рынка — Холдинга Т1🔝
Подтянем знания и навыки, лучших позовем в команду.
Как всё устроено❓
1️⃣ подай заявку
2️⃣ пройди входное тестирование
Для интенсива достаточно выделить 8 часов в неделю: 4 на вебинары + 4 на практику. Гибкий график, без отрыва от работы. Продолжительность — 1 месяц, а старт уже в январе.
Принимаем заявки до 24 января❗️
*По версии CNews Analytics 2022, TAdviser 2021 и RAEX 2023
Реклама. ООО "ГК "ИННОТЕХ". ИНН 9703073496.
Приглашаем Java-разработчиков с опытом работы от года в Открытую школу от лидера* российского ИТ-рынка — Холдинга Т1🔝
Подтянем знания и навыки, лучших позовем в команду.
Как всё устроено❓
1️⃣ подай заявку
2️⃣ пройди входное тестирование
Для интенсива достаточно выделить 8 часов в неделю: 4 на вебинары + 4 на практику. Гибкий график, без отрыва от работы. Продолжительность — 1 месяц, а старт уже в январе.
Принимаем заявки до 24 января❗️
*По версии CNews Analytics 2022, TAdviser 2021 и RAEX 2023
Реклама. ООО "ГК "ИННОТЕХ". ИНН 9703073496.
👍4❤3🔥3
Получаем наиболее распространенный элемент в списке
Сделать это можно с помощью следующего фрагмента кода, подробнее о котором можно почитать здесь.
Сделать это можно с помощью следующего фрагмента кода, подробнее о котором можно почитать здесь.
🔥35👍16❤2
Какими инструментами нужно владеть для работы с высоконагруженной архитектурой?
Расскажем на бесплатном практическом уроке «Роль Tarantool в высоконагруженной архитектуре» от OTUS.
На вебинаре разберём:
- особенности, функционал и преимущества Tarantool;
- архитектурные шаблоны и примеры его применения;
- итоги и вопросы.
Урок будет полезен для разработчиков, сисадминов и архитекторов, интересующихся высоконагруженными системами.
Занятие пройдёт 31 января в 20:00 мск и будет приурочено к старту курса «Highload Architect». Доступна рассрочка на обучение!
Пройдите короткое тестирование прямо сейчас, чтобы занять место на открытом уроке: https://otus.pw/92o8/
Расскажем на бесплатном практическом уроке «Роль Tarantool в высоконагруженной архитектуре» от OTUS.
На вебинаре разберём:
- особенности, функционал и преимущества Tarantool;
- архитектурные шаблоны и примеры его применения;
- итоги и вопросы.
Урок будет полезен для разработчиков, сисадминов и архитекторов, интересующихся высоконагруженными системами.
Занятие пройдёт 31 января в 20:00 мск и будет приурочено к старту курса «Highload Architect». Доступна рассрочка на обучение!
Пройдите короткое тестирование прямо сейчас, чтобы занять место на открытом уроке: https://otus.pw/92o8/
👍5❤2🔥2
В чем отличия между TreeSet и HashSet?
Основное отличие между TreeSet и HashSet заключается в том, что TreeSet хранит элементы в отсортированном порядке, в то время как порядок хранения элементов в HashSet не определен. TreeSet также обеспечивает быстрый поиск и извлечение элементов в отсортированном порядке.
Основное отличие между TreeSet и HashSet заключается в том, что TreeSet хранит элементы в отсортированном порядке, в то время как порядок хранения элементов в HashSet не определен. TreeSet также обеспечивает быстрый поиск и извлечение элементов в отсортированном порядке.
🔥22👍7
Java-разработчики, вас зовут в Тинькофф
Участвуйте в Java Weekend Offer, если ваш опыт больше 3 лет. Пройдите все этапы собеседования за выходные и, если все понравится, получите оффер.
Сможете решать сложные задачи, расти в сильной команде, работать на топовом стеке и пользоваться бенефитами.
Выбирайте удобную дату и пробуйте свои силы. Оставьте заявку до 14 февраля
АО «Тинькофф Банк», ИНН 7710140679
Участвуйте в Java Weekend Offer, если ваш опыт больше 3 лет. Пройдите все этапы собеседования за выходные и, если все понравится, получите оффер.
Сможете решать сложные задачи, расти в сильной команде, работать на топовом стеке и пользоваться бенефитами.
Выбирайте удобную дату и пробуйте свои силы. Оставьте заявку до 14 февраля
АО «Тинькофф Банк», ИНН 7710140679
❤9👍3
Apache Commons CLI
Apache Commons CLI (Commons Command Line Interface) — это библиотека для обработки аргументов командной строки в Java. Она предоставляет удобный способ определения и обработки аргументов командной строки для ваших Java-приложений. Библиотека Apache Commons CLI упрощает работу с аргументами командной строки, включая разбор аргументов, создание справки и обработку различных опций командной строки.
Apache Commons CLI (Commons Command Line Interface) — это библиотека для обработки аргументов командной строки в Java. Она предоставляет удобный способ определения и обработки аргументов командной строки для ваших Java-приложений. Библиотека Apache Commons CLI упрощает работу с аргументами командной строки, включая разбор аргументов, создание справки и обработку различных опций командной строки.
👍25❤7🔥3
На бесплатном практическом уроке «Основы работы с Spring Data JDBC» от OTUS и Александра Фисунова — Senior Kotlin Developer в SSP Software на проекте ВТБ.
На вебинаре:
- разберемся, как работать с реляционными базами данных из Spring Boot приложения с использованием Spring Data JDBC;
- проведем небольшое сравнение с модулем Spring Data JPA;
- ответим на все возникающие вопросы.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3🔥2
Давайте сгенерируем строку из случайных символов на Java и затем сохраним её в текстовый файл. Строка должна быть очень большой (более 100 миллионов символов), чтобы мы могли легко заметить разницу во времени, которое требуется на сохранение файла.
Рассмотрим 3 варианта: обычный FileWriter, FileWriter с буферизацией и неблокирующее сохранение файла с помощью пакета java.nio. В конце подведём итоги.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Как сохранить большой текстовый файл на Java наиболее оптимальным образом
#devmark #java #file Давайте сгенерируем строку из случайных символов на Java и затем сохраним её в текстовый файл. Строка должна быть очень большой (более 100 миллионов символов), чтобы мы могли легко заметить разницу во времени, которое требуется на сохранение…
👍17
Как архитекторам и разработчикам попасть в крупный инновационный проект?
Изучить микросервисную архитектуру под руководством топовых специалистов крупнейших компаний всего за 5 месяцев на онлайн-курсе от OTUS.
Программа идеально подходит архитекторам, разработчикам, системным аналитикам, администраторам и DevOps, которые хотят выйти на новый карьерный уровень. Доступна рассрочка на обучение.
Курс нацелен на глубокое изучение темы и получение практических навыков, в рамках обучения вы рассмотрите работу с очень популярными сейчас инструментами – Kubernetes и Docker.
Переходите на сайт, чтобы записаться на 2 пробных бесплатныx открытых урока:
✅ «CAP-теорема и управление ожиданиями пользователей» (регистрация на урок без тестирования)
✅ «Паттерны RESTful API» (регистрация на урок через тестирование)
Изучить микросервисную архитектуру под руководством топовых специалистов крупнейших компаний всего за 5 месяцев на онлайн-курсе от OTUS.
Программа идеально подходит архитекторам, разработчикам, системным аналитикам, администраторам и DevOps, которые хотят выйти на новый карьерный уровень. Доступна рассрочка на обучение.
Курс нацелен на глубокое изучение темы и получение практических навыков, в рамках обучения вы рассмотрите работу с очень популярными сейчас инструментами – Kubernetes и Docker.
Переходите на сайт, чтобы записаться на 2 пробных бесплатныx открытых урока:
✅ «CAP-теорема и управление ожиданиями пользователей» (регистрация на урок без тестирования)
✅ «Паттерны RESTful API» (регистрация на урок через тестирование)
👍5🔥2
Реверс массива
Реверс массива в Java означает изменение порядка элементов массива на противоположный. То есть, элементы, которые изначально были в начале массива, становятся в конце, и наоборот.
Реверс массива может быть полезным во многих ситуациях программирования. Например, это может потребоваться для изменения порядка элементов перед их обработкой или выводом, или для выполнения действий, которые требуют доступа к элементам массива в обратном порядке.
Реверс массива в Java означает изменение порядка элементов массива на противоположный. То есть, элементы, которые изначально были в начале массива, становятся в конце, и наоборот.
Реверс массива может быть полезным во многих ситуациях программирования. Например, это может потребоваться для изменения порядка элементов перед их обработкой или выводом, или для выполнения действий, которые требуют доступа к элементам массива в обратном порядке.
👍21❤6😁2🎅2
Освойте востребованный фреймворк для создания приложений на Java, чтобы выйти на новый профессиональный уровень.
Что вы получите:
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
charBuffer
Метод charBuffer() используется для получения буфера символов из строки. Он принадлежит классу String.
Этот метод возвращает объект CharBuffer, который представляет последовательность символов строки.
CharBuffer позволяет эффективно читать и манипулировать символами строки без создания копий.
В этом примере создается строка «Hello». Затем из этой строки получаем буфер символов методом charBuffer().
В цикле посимвольно читаем из буфера символы и выводим их на экран.
Метод charBuffer() используется для получения буфера символов из строки. Он принадлежит классу String.
Этот метод возвращает объект CharBuffer, который представляет последовательность символов строки.
CharBuffer позволяет эффективно читать и манипулировать символами строки без создания копий.
В этом примере создается строка «Hello». Затем из этой строки получаем буфер символов методом charBuffer().
В цикле посимвольно читаем из буфера символы и выводим их на экран.
❤15👍8
Разберитесь в RESTful API и усильте свое резюме
На открытом практическом уроке от OTUS, где вы вместе с опытным экспертом:
- рассмотрите уровни зрелости REST;
- обсудите концепцию HATEOAS;
- изучите различные паттерны REST, включая их реализацию в форматах json-api и odata;
- научитесь генерировать клиент к сервису по openapi idl.
Встречаемся 6 февраля в 20:00 мск в рамках курса «Microservice Architecture». Доступна рассрочка на обучение!
Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок: https://otus.pw/Popod/
На открытом практическом уроке от OTUS, где вы вместе с опытным экспертом:
- рассмотрите уровни зрелости REST;
- обсудите концепцию HATEOAS;
- изучите различные паттерны REST, включая их реализацию в форматах json-api и odata;
- научитесь генерировать клиент к сервису по openapi idl.
Встречаемся 6 февраля в 20:00 мск в рамках курса «Microservice Architecture». Доступна рассрочка на обучение!
Пройдите короткий тест прямо сейчас, чтобы посетить бесплатный урок: https://otus.pw/Popod/
👍6☃3❤3
unmodifiableMap
UnmodifiableMap используется для создания неизменяемого представления отображения, это позволяет предоставить доступ к отображению, не давая возможности изменить его.
Как видно из примера, при попытке изменить неизменяемое отображение unmodifiableMap выбрасывается исключение UnsupportedOperationException. Это гарантирует, что исходное отображение не будет случайно изменено.
UnmodifiableMap используется для создания неизменяемого представления отображения, это позволяет предоставить доступ к отображению, не давая возможности изменить его.
Как видно из примера, при попытке изменить неизменяемое отображение unmodifiableMap выбрасывается исключение UnsupportedOperationException. Это гарантирует, что исходное отображение не будет случайно изменено.
👍23🔥5❤4
Средства обнаружения действий внутреннего нарушителя (PAM и другие решения)
Расскажет Александр Горячев — Инженер по информационной безопасности инфраструктуры в BHFT. Встречаемся на бесплатном открытом уроке от OTUS.
💻На вебинаре рассмотрим:
- расскажем о видах внутренних угроз и их потенциальных последствиях;
- углубимся в понятие привилегированных учётных записей, изучим принципы работы систем управления привилегированными учётными записями (PAM);
- расскажем про современные технологии и решения для обнаружения и предотвращения внутренних угроз.
Занятие пройдёт 31 января в 20:00 мск и будет приурочено к старту курса «Внедрение и работа в DevSecOps». Доступна рассрочка на обучение!
👉Чтобы занять место на уроке и получить запись, регистрируйтесь прямо сейчас: https://otus.pw/peUNC/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Расскажет Александр Горячев — Инженер по информационной безопасности инфраструктуры в BHFT. Встречаемся на бесплатном открытом уроке от OTUS.
💻На вебинаре рассмотрим:
- расскажем о видах внутренних угроз и их потенциальных последствиях;
- углубимся в понятие привилегированных учётных записей, изучим принципы работы систем управления привилегированными учётными записями (PAM);
- расскажем про современные технологии и решения для обнаружения и предотвращения внутренних угроз.
Занятие пройдёт 31 января в 20:00 мск и будет приурочено к старту курса «Внедрение и работа в DevSecOps». Доступна рассрочка на обучение!
👉Чтобы занять место на уроке и получить запись, регистрируйтесь прямо сейчас: https://otus.pw/peUNC/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
👍5❤1🔥1
Какие существуют особенности использования вложенных классов: статических и внутренних? В чем заключается разница между ними?
• Вложенные классы могут обращаться ко всем членам обрамляющего класса, в том числе и приватным.
• Для создания объекта статического вложенного класса объект внешнего класса не требуется.
• Из объекта статического вложенного класса нельзя обращаться к не статическим членам обрамляющего класса напрямую, а только через ссылку на экземпляр внешнего класса.
• Обычные вложенные классы не могут содержать статических методов, блоков инициализации и классов. Статические вложенные классы - могут.
• В объекте обычного вложенного класса хранится ссылка на объект внешнего класса. Внутри статической такой ссылки нет. Доступ к экземпляру обрамляющего класса осуществляется через указание
• Вложенные классы могут обращаться ко всем членам обрамляющего класса, в том числе и приватным.
• Для создания объекта статического вложенного класса объект внешнего класса не требуется.
• Из объекта статического вложенного класса нельзя обращаться к не статическим членам обрамляющего класса напрямую, а только через ссылку на экземпляр внешнего класса.
• Обычные вложенные классы не могут содержать статических методов, блоков инициализации и классов. Статические вложенные классы - могут.
• В объекте обычного вложенного класса хранится ссылка на объект внешнего класса. Внутри статической такой ссылки нет. Доступ к экземпляру обрамляющего класса осуществляется через указание
.this
после его имени. Например: Outer.this
.👍19😁1🎉1
Как пройти собеседование в компанию мечты? ☄️
26 января проведем техническое собеседование на позицию Senior Java Developer в «Цифровые Привычки», 350.000₽+
В прямом эфире:
А после эфира поделимся чек-листом, который поможет учесть все требования 2024 года при подготовке к собеседованию.
Интервьюер – Роберт Мазипов. Java Architect с опытом программирования на Java 4 года. Преподаватель на курсе Senior Java Developer.
Больше — в прямом эфире!
Регистрация по ссылке: https://clck.ru/38B35F
Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid: 2VtzqxHFvRk
26 января проведем техническое собеседование на позицию Senior Java Developer в «Цифровые Привычки», 350.000₽+
В прямом эфире:
•
Разберем реальное CV; •
Обсудим, на что обращают внимание рекрутеры, а на что — интервьюеры; •
Расскажем о частых ошибках на собеседовании и как не допустить их.А после эфира поделимся чек-листом, который поможет учесть все требования 2024 года при подготовке к собеседованию.
Интервьюер – Роберт Мазипов. Java Architect с опытом программирования на Java 4 года. Преподаватель на курсе Senior Java Developer.
Больше — в прямом эфире!
Регистрация по ссылке: https://clck.ru/38B35F
Реклама. ООО "Платформа непрерывного обучения" ИНН 7839405924
erid: 2VtzqxHFvRk
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤4🔥2