Можно ли наследовать аннотацию?
Можно понять этот вопрос по-разному. Если имеется в виду, передается ли аннотация класса-родителя классу-наследнику, ответ – по умолчанию нет. Но наследование можно включить, если на объявлении аннотации поставить мета-аннотацию @Inherited. Это работает только для классов, переопределенные методы нужно аннотировать заново.
Другой возможный смысл вопроса – наследование самих типов-аннотаций. Аннотация, как класс или интерфейс представляется в системе ссылочным типом, она тоже компилируется в .class-файл. Вы можете создать переменную с типом, скажем, java.lang.Override.
Но в отличие от других ссылочных типов, объявление аннотации (@interface) не может иметь секций extends или implements. Это ограничение добавлено просто чтобы не усложнять систему типов. В скомпилированном коде все типы-аннотации – это интерфейсы, унаследованные от Annotation.
Можно понять этот вопрос по-разному. Если имеется в виду, передается ли аннотация класса-родителя классу-наследнику, ответ – по умолчанию нет. Но наследование можно включить, если на объявлении аннотации поставить мета-аннотацию @Inherited. Это работает только для классов, переопределенные методы нужно аннотировать заново.
Другой возможный смысл вопроса – наследование самих типов-аннотаций. Аннотация, как класс или интерфейс представляется в системе ссылочным типом, она тоже компилируется в .class-файл. Вы можете создать переменную с типом, скажем, java.lang.Override.
Но в отличие от других ссылочных типов, объявление аннотации (@interface) не может иметь секций extends или implements. Это ограничение добавлено просто чтобы не усложнять систему типов. В скомпилированном коде все типы-аннотации – это интерфейсы, унаследованные от Annotation.
Java для сисадминов
Эта статья написана в основном для системных администраторов Java-приложений (DevOps-инженеров, SRE и других производных специализаций). Вероятнее всего, Java-разработчики уже все это прекрасно знают. Хотя Junior Java-разработчикам эта информация может помочь систематизировать знания.
Статья не претендует на полноту или полную непогрешимость. Во-первых, нельзя объять необъятное. Во-вторых, все меняется и проверенные истины могут перестать быть истинами в новых версиях. В сети существует множество статей об устройствах Java, однако в этой статье в блоге ЛАНИТ я стремился сделать выжимку основных моментов, необходимых для администраторов Java-приложений. Для более глубокого погружения в тот или иной вопрос потребуется обратиться к другим источникам.
Читать статью
Эта статья написана в основном для системных администраторов Java-приложений (DevOps-инженеров, SRE и других производных специализаций). Вероятнее всего, Java-разработчики уже все это прекрасно знают. Хотя Junior Java-разработчикам эта информация может помочь систематизировать знания.
Статья не претендует на полноту или полную непогрешимость. Во-первых, нельзя объять необъятное. Во-вторых, все меняется и проверенные истины могут перестать быть истинами в новых версиях. В сети существует множество статей об устройствах Java, однако в этой статье в блоге ЛАНИТ я стремился сделать выжимку основных моментов, необходимых для администраторов Java-приложений. Для более глубокого погружения в тот или иной вопрос потребуется обратиться к другим источникам.
Читать статью
🚀 Спроектируйте ленту друзей ВКонтакте в прямом эфире!
📌 System Design interview — особенная секция собеседований разработчиков, где проверяется знание плюсов и минусов различных подходов при проектировании архитектуры, умение уточнять требования, а также способность кандидата проектировать сложные распределенные системы.
🗓 18 марте в 18:00 по МСК пройдет бесплатный открытый урок по проектированию ленты друзей ВКонтакте в прямом эфире.
Чему вы научитесь:
- проводить анализ требований;
- оценивать нагрузку на систему;
- проектировать ленту друзей ВКонтакте;
- проходить собеседования.
➡️ Регистрация на открытый урок ⬅️
📌 System Design interview — особенная секция собеседований разработчиков, где проверяется знание плюсов и минусов различных подходов при проектировании архитектуры, умение уточнять требования, а также способность кандидата проектировать сложные распределенные системы.
🗓 18 марте в 18:00 по МСК пройдет бесплатный открытый урок по проектированию ленты друзей ВКонтакте в прямом эфире.
Чему вы научитесь:
- проводить анализ требований;
- оценивать нагрузку на систему;
- проектировать ленту друзей ВКонтакте;
- проходить собеседования.
➡️ Регистрация на открытый урок ⬅️
Java developer (middle, senior)
#офис #полныйдень
Локация: Новосибирск, Москва
Требования:
- Опыт Backend разработки на Java, Kotlin, Scala
Будет плюсом:
- знание BigData
- знакомство с фреймворками (Spark, Flink, Nifi, Kafka)
Откликнуться: @Svetlanakachar
#офис #полныйдень
Локация: Новосибирск, Москва
Требования:
- Опыт Backend разработки на Java, Kotlin, Scala
Будет плюсом:
- знание BigData
- знакомство с фреймворками (Spark, Flink, Nifi, Kafka)
Откликнуться: @Svetlanakachar
#вопросы_с_собеседований
Что такое busy spin?
Что такое busy spin?
busy spin – это техника, которую программисты используют, чтобы заставить поток ожидать при определённом условии. В отличие от традиционных методов wait(), sleep() или yield(), которые подразумевают уступку процессорного времени, этот метод вместо уступки выполняет пустой цикл. Это необходимо, для того, чтобы сохранить кэш процессора, т.к. в многоядерных системах, существует вероятность, что приостановленный поток продолжит своё выполнение уже на другом ядре, а это повлечет за собой перестройку состояния процессорного кэша, которая является достаточно затратной процедурой.Как Junior разработчику найти свою первую работу?
Легко! Ребята из codereview помогают джунам с трудоустройством👇
1. Разработают стратегию поиска, расскажут где искать, на какие вакансии откликаться и сколько откликов делать
2. Составят тебе крутое резюме и помогут с оформлением LInkedIn и Github, чтобы ты начал получать приглашения на собеседования
3. Каждую неделю будут проводить с тобой Mock Interview: технические и поведенческие интервью + помогут с самопрезентацией
4. Будут сами помогать тебе с поиском вакансий и организовывать собеседования в компании партнеры
5. В течение полугода будут сопровождать тебя, пока ты не получишь оффер
🔥 Самое крутое - основную часть можно оплатить после трудоустройства с первой зп!
🚀 За год они трудоустроили более 150 разработчиков, со средней зарплатой 120 тыс., которые сейчас работают в Сбере, OZON, VK, Яндекс и других IT компаниях👨🏼💻
👉 Оставляй заявку на бесплатную консультацию с нашим HR или Senior разработчиком
✌️Let’s go искать работу вместе!
Легко! Ребята из codereview помогают джунам с трудоустройством👇
1. Разработают стратегию поиска, расскажут где искать, на какие вакансии откликаться и сколько откликов делать
2. Составят тебе крутое резюме и помогут с оформлением LInkedIn и Github, чтобы ты начал получать приглашения на собеседования
3. Каждую неделю будут проводить с тобой Mock Interview: технические и поведенческие интервью + помогут с самопрезентацией
4. Будут сами помогать тебе с поиском вакансий и организовывать собеседования в компании партнеры
5. В течение полугода будут сопровождать тебя, пока ты не получишь оффер
🔥 Самое крутое - основную часть можно оплатить после трудоустройства с первой зп!
🚀 За год они трудоустроили более 150 разработчиков, со средней зарплатой 120 тыс., которые сейчас работают в Сбере, OZON, VK, Яндекс и других IT компаниях👨🏼💻
👉 Оставляй заявку на бесплатную консультацию с нашим HR или Senior разработчиком
✌️Let’s go искать работу вместе!
Просто ли стать Java-разработчиком? Нет. Всем ли подойдет IT? Тоже нет. Стоит ли попробовать? Да.
Если вы хотите стать востребованным разработчиком, вам нужно не просто научиться писать код. А в первую очередь сформировать инженерное мышление.
На этом построен процесс обучения на Хекслете. На профессии «Java-разработчик» вас ждет не только теория, но и много практики:
✔️ Сотни упражнений в браузере.
✔️ 5 проектов для портфолио на GitHub.
✔️ 150 тестовых заданий от наших партнёров.
✔️ Вебинары, сессии лайвкодинга с наставником 1-2 раза в неделю.
Сделайте шаг к карьере IT-специалиста уже сегодня! Переходите по ссылке выше и начните обучение!
🎁 Пройдите первые 10 бесплатных уроков из профессии и получите дополнительно скидку 10% на курс!
Если вы хотите стать востребованным разработчиком, вам нужно не просто научиться писать код. А в первую очередь сформировать инженерное мышление.
На этом построен процесс обучения на Хекслете. На профессии «Java-разработчик» вас ждет не только теория, но и много практики:
✔️ Сотни упражнений в браузере.
✔️ 5 проектов для портфолио на GitHub.
✔️ 150 тестовых заданий от наших партнёров.
✔️ Вебинары, сессии лайвкодинга с наставником 1-2 раза в неделю.
Сделайте шаг к карьере IT-специалиста уже сегодня! Переходите по ссылке выше и начните обучение!
🎁 Пройдите первые 10 бесплатных уроков из профессии и получите дополнительно скидку 10% на курс!
👩💻 В новом выпуске #JEPCafe José Paumard рассказывает о Vector API, который может значительно ускорить вычисления, используя SIMD-возможности вашего процессора.
Рассмотрены следующие темы:
✔️ Знакомство с функциями SIMD
✔️ Векторные параллельные вычисления
✔️ Создание векторов из массивов
и др.
Приятного просмотра!
Рассмотрены следующие темы:
✔️ Знакомство с функциями SIMD
✔️ Векторные параллельные вычисления
✔️ Создание векторов из массивов
и др.
Приятного просмотра!
YouTube
Learn how to write fast Java code with the Vector API - JEP Café #18
The Vector API can tremendously speed up computations by using the SIMD capabilities of your CPU. Learn how parallel computing works on a SIMD machine, how the Java Vector API gives you access to these capabilities, and how you can structure your code to…
Как Junior разработчику найти свою первую работу?
Легко! Ребята из codereview помогают джунам с трудоустройством👇
1. Разработают стратегию поиска, расскажут где искать, на какие вакансии откликаться и сколько откликов делать
2. Составят тебе крутое резюме и помогут с оформлением LInkedIn и Github, чтобы ты начал получать приглашения на собеседования
3. Каждую неделю будут проводить с тобой Mock Interview: технические и поведенческие интервью + помогут с самопрезентацией
4. Будут сами помогать тебе с поиском вакансий и организовывать собеседования в компании партнеры
5. В течение полугода будут сопровождать тебя, пока ты не получишь оффер
🔥 Самое крутое - основную часть можно оплатить после трудоустройства с первой зп!
🚀 За год они трудоустроили более 150 разработчиков, со средней зарплатой 120 тыс., которые сейчас работают в Сбере, OZON, VK, Яндекс и других IT компаниях👨🏼💻
👉 Оставляй заявку на бесплатную консультацию с нашим HR или Senior разработчиком
✌️Let’s go искать работу вместе!
Легко! Ребята из codereview помогают джунам с трудоустройством👇
1. Разработают стратегию поиска, расскажут где искать, на какие вакансии откликаться и сколько откликов делать
2. Составят тебе крутое резюме и помогут с оформлением LInkedIn и Github, чтобы ты начал получать приглашения на собеседования
3. Каждую неделю будут проводить с тобой Mock Interview: технические и поведенческие интервью + помогут с самопрезентацией
4. Будут сами помогать тебе с поиском вакансий и организовывать собеседования в компании партнеры
5. В течение полугода будут сопровождать тебя, пока ты не получишь оффер
🔥 Самое крутое - основную часть можно оплатить после трудоустройства с первой зп!
🚀 За год они трудоустроили более 150 разработчиков, со средней зарплатой 120 тыс., которые сейчас работают в Сбере, OZON, VK, Яндекс и других IT компаниях👨🏼💻
👉 Оставляй заявку на бесплатную консультацию с нашим HR или Senior разработчиком
✌️Let’s go искать работу вместе!
#Вопросы_с_собеседования
Какой оператор позволяет принудительно выбросить исключение?
Это оператор throw.
Какой оператор позволяет принудительно выбросить исключение?
Это оператор throw.
Чистый код Java: как его написать? Лучшие практики от экспертов
азработка программного обеспечения — сложное ремесло.
Всегда есть множество способов написания определенных частей кода или разработки новых функций. В конечном счете, они могут делать одно и то же, но некоторые из них могут быть на несколько порядков эффективнее и проще для понимания, чем другие.
Разработчики должны выяснить, какой подход будет работать лучше всего и как писать качественный чистый код.
В этой статье мы сосредоточимся на написании чистого кода на Java. Почему так важно писать легко читаемый код? Каковы лучшие практики разработки кода на Java? Продолжайте читать, чтобы узнать!
https://stratoflow.com/java-clean-code/
азработка программного обеспечения — сложное ремесло.
Всегда есть множество способов написания определенных частей кода или разработки новых функций. В конечном счете, они могут делать одно и то же, но некоторые из них могут быть на несколько порядков эффективнее и проще для понимания, чем другие.
Разработчики должны выяснить, какой подход будет работать лучше всего и как писать качественный чистый код.
В этой статье мы сосредоточимся на написании чистого кода на Java. Почему так важно писать легко читаемый код? Каковы лучшие практики разработки кода на Java? Продолжайте читать, чтобы узнать!
https://stratoflow.com/java-clean-code/
Stratoflow
Java Clean Code: How to Write It? Best Practices From Experts - Stratoflow
Why is it so important to write clean code? What are the best practices for developing code in Java? Learn more about Java clean code.
Get Programming with Scala
Автор: Daniela Sfregola
Год издания: 2021
#scala #java #english
Скачать книгу
Автор: Daniela Sfregola
Год издания: 2021
#scala #java #english
Скачать книгу
This media is not supported in your browser
VIEW IN TELEGRAM
Тут вакансия для Java-разработчиков от подписчиков — ребят из Финтеха Яндекса. Обещает давать интересные задачи, уважать и баловать. Стоит присмотреться 👀
Работать нужно с сервисами, которые уже заслужили доверие миллионов и продолжают активно развиваться. Java-разработчик будет заниматься продуктовым движком, бизнес-логикой и инфраструктурой. Для этого пригодятся знания Kotlin, Spring Boot, Kubernetes, Grafana + Prometheus, YDB, PostgreSQL, ClickHouse и Kafka.
Финтех Яндекса — молодой сервис, где не любят бюрократию и сложные процессы. Здесь легко придумывать новое, менять готовое, да хоть сразу предлагать идеи CEO (если получится его поймать). Работать можно и из дома, и из офиса в Москве или Белграде.
Всяческие корпоративные блага прилагаются. Подробности на сайте, и там же можно ответить на один вопрос — и сразу попасть в Телеграм с рекрутёром
Работать нужно с сервисами, которые уже заслужили доверие миллионов и продолжают активно развиваться. Java-разработчик будет заниматься продуктовым движком, бизнес-логикой и инфраструктурой. Для этого пригодятся знания Kotlin, Spring Boot, Kubernetes, Grafana + Prometheus, YDB, PostgreSQL, ClickHouse и Kafka.
Финтех Яндекса — молодой сервис, где не любят бюрократию и сложные процессы. Здесь легко придумывать новое, менять готовое, да хоть сразу предлагать идеи CEO (если получится его поймать). Работать можно и из дома, и из офиса в Москве или Белграде.
Всяческие корпоративные блага прилагаются. Подробности на сайте, и там же можно ответить на один вопрос — и сразу попасть в Телеграм с рекрутёром
Java developer (middle)
#удаленка
ЗП: 150 000 ₽
Компания: DreamSoft
Обязанности:
● Проектирование и разработка интерфейсов приложений/ключевых технологических и прикладных микросервисов платформы
● Внедрение новой функциональности
● Написание unit и интеграционных тестов
● Оптимизация скорости работы приложений
● Участие в разработке концепций, архитектурных решений и подходов
● Участие в развитии CI/CD процессов
● Проведение Code Review
Требования:
● Опыт разработки приложений на Java от 5+ лет
● Опыт разработки Enterprise-решений с использованием Spring framework / Spring Boot / Spring WebFlux
● Опыт использования брокера сообщений Kafka
● Опыт использования PostgreSQL
● Опыт использования NoSQL решений Redis, Elastic
● Опыт работы с k8s / OpenShift / Nomad / Docker Swarm или другими схожими технологиями
● Опыт использования Docker или других контейнеров
● Опыт работы с git
#удаленка
ЗП: 150 000 ₽
Компания: DreamSoft
Обязанности:
● Проектирование и разработка интерфейсов приложений/ключевых технологических и прикладных микросервисов платформы
● Внедрение новой функциональности
● Написание unit и интеграционных тестов
● Оптимизация скорости работы приложений
● Участие в разработке концепций, архитектурных решений и подходов
● Участие в развитии CI/CD процессов
● Проведение Code Review
Требования:
● Опыт разработки приложений на Java от 5+ лет
● Опыт разработки Enterprise-решений с использованием Spring framework / Spring Boot / Spring WebFlux
● Опыт использования брокера сообщений Kafka
● Опыт использования PostgreSQL
● Опыт использования NoSQL решений Redis, Elastic
● Опыт работы с k8s / OpenShift / Nomad / Docker Swarm или другими схожими технологиями
● Опыт использования Docker или других контейнеров
● Опыт работы с git
Kotlin заходит в Telegram!
Рассказываем про Kotlin — молодой язык родом из Питера, который вовсю теснит Java в мобильной и бэкенд-разработке.
Его официально поддерживает Google, используют Jira и Adobe, а разработчики топовых приложений для Android переписывают на Kotlin свои продукты. Советуем подписаться, чтобы узнавать больше!
Рассказываем про Kotlin — молодой язык родом из Питера, который вовсю теснит Java в мобильной и бэкенд-разработке.
Его официально поддерживает Google, используют Jira и Adobe, а разработчики топовых приложений для Android переписывают на Kotlin свои продукты. Советуем подписаться, чтобы узнавать больше!
👩💻 GraphQL в Spring Boot и проблема N + 1
GraphQL - это стандарт клиент-серверного взаимодействия, который позволяет гибко запрашивать данные с сервера. Основное отличие от традиционных REST-запросов состоит в том, что клиент сам выбирает, какие поля он будет запрашивать у сервера, тогда как REST предполагает заранее определённый фиксированный формат. При этом сервер будет подгружать из хранилища ровно те поля, которые необходимы и ничуть не больше.
Относительно недавно в Spring Boot появился компонент для работы c GraphQL и мы сделаем проект на его основе. Для удобства отладки также подключим отладочный веб-интерфейс graphiql.
Ещё рассмотрим проблему N+1, когда для каждого элемента результирующего списка выполняется дополнительный запрос.
GraphQL - это стандарт клиент-серверного взаимодействия, который позволяет гибко запрашивать данные с сервера. Основное отличие от традиционных REST-запросов состоит в том, что клиент сам выбирает, какие поля он будет запрашивать у сервера, тогда как REST предполагает заранее определённый фиксированный формат. При этом сервер будет подгружать из хранилища ровно те поля, которые необходимы и ничуть не больше.
Относительно недавно в Spring Boot появился компонент для работы c GraphQL и мы сделаем проект на его основе. Для удобства отладки также подключим отладочный веб-интерфейс graphiql.
Ещё рассмотрим проблему N+1, когда для каждого элемента результирующего списка выполняется дополнительный запрос.
Производительность различных типов индексов в БД
Знаете ли вы, что композитные (многоколоночные) индексы работают в 10 раз быстрее чем комбинированные индексы? 😳
А знаете ли вы, почему при этом в Postgres выигрыш больше, чем в MySQL?
Если ваши ответы отрицательные, то предложенная сегодня восполнит эти пробелы.
Приятного чтения!
Читать статью
Знаете ли вы, что композитные (многоколоночные) индексы работают в 10 раз быстрее чем комбинированные индексы? 😳
А знаете ли вы, почему при этом в Postgres выигрыш больше, чем в MySQL?
Если ваши ответы отрицательные, то предложенная сегодня восполнит эти пробелы.
Приятного чтения!
Читать статью
#статья
Топ 5 проектов на Java для начинающих!
Программирование похоже на езду на велосипеде; вы можете читать о том, как это сделать, весь день, но лучший способ начать — это попрактиковаться.
Специально для вас собрали 5 идей проектов на Java!
Ещё больше интересных статей и полезной информации вы можете читать на нашем Яндекс Дзен канале!
Топ 5 проектов на Java для начинающих!
Программирование похоже на езду на велосипеде; вы можете читать о том, как это сделать, весь день, но лучший способ начать — это попрактиковаться.
Специально для вас собрали 5 идей проектов на Java!
Ещё больше интересных статей и полезной информации вы можете читать на нашем Яндекс Дзен канале!
😎Сегодня на рынке труда знание Clojure — навык редкий, но высокооплачиваемый. Хотите расширить свой арсенал навыков? OTUS подготовил для вас продвинутый онлайн-курс «Clojure Developer». За 5 месяцев обучения вы научитесь писать код на Clojure, а в конце вас ждет выпускной проект — создание программы с помощью Clojure для вашего портфолио.
👉Пройдите вступительный тест из 20 вопросов и займите место в группе по спеццене!
🎫Возможна оплата курса в рассрочку
✍Хотите протестировать учебный процесс заранее? Регистрируйтесь на бесплатные вебинары курса:
— «Интерактивная разработка на языке Clojure»: https://otus.pw/pHRx/
— «Разработка скриптов на Clojure»: https://otus.pw/Cfcj/
— «Пишем игру «Game Of Life» на Clojure»: https://otus.pw/MZ8J/
👉Пройдите вступительный тест из 20 вопросов и займите место в группе по спеццене!
🎫Возможна оплата курса в рассрочку
✍Хотите протестировать учебный процесс заранее? Регистрируйтесь на бесплатные вебинары курса:
— «Интерактивная разработка на языке Clojure»: https://otus.pw/pHRx/
— «Разработка скриптов на Clojure»: https://otus.pw/Cfcj/
— «Пишем игру «Game Of Life» на Clojure»: https://otus.pw/MZ8J/