Как ведут себя конфликтующие импорты?
• Классы текущего пакета доступны без импорта. Если импортируется другой класс, совпадающий с классом-соседом по пакету – сосед перекрывается. Будет использован импортированный класс, без ошибки.
• Если в class-файле существует несколько разных классов с одинаковыми именами, объявленных здесь же или импортированных – это приводит к ошибке компиляции.
• Импортировать один и тот же класс несколько раз допускается. Будет всего лишь warning о неиспользуемом импорте.
• Для статических импортов констант действуют те же правила. Обычные и статические импорты не конфликтуют друг с другом – для выбора достаточно контекста использования.
• Чтобы применять несколько классов/констант с одинаковыми именами в одном файле, придется обойтись без импортов. Нужно будет обращаться по их полным именам, с указанием пакета.
• Классы текущего пакета доступны без импорта. Если импортируется другой класс, совпадающий с классом-соседом по пакету – сосед перекрывается. Будет использован импортированный класс, без ошибки.
• Если в class-файле существует несколько разных классов с одинаковыми именами, объявленных здесь же или импортированных – это приводит к ошибке компиляции.
• Импортировать один и тот же класс несколько раз допускается. Будет всего лишь warning о неиспользуемом импорте.
• Для статических импортов констант действуют те же правила. Обычные и статические импорты не конфликтуют друг с другом – для выбора достаточно контекста использования.
• Чтобы применять несколько классов/констант с одинаковыми именами в одном файле, придется обойтись без импортов. Нужно будет обращаться по их полным именам, с указанием пакета.
👍16❤5🔥1
Что такое Reflection?
Рефлексия (Reflection) - это механизм получения данных о программе во время её выполнения (runtime). В Java Reflection осуществляется с помощью Java Reflection API, состоящего из классов пакетов
• Определение класса объекта;
• Получение информации о модификаторах класса, полях, методах, конструкторах и суперклассах;
• Определение интерфейсов, реализуемых классом;
• Создание экземпляра класса;
• Получение и установка значений полей объекта;
• Вызов методов объекта;
• Создание нового массива.
Рефлексия (Reflection) - это механизм получения данных о программе во время её выполнения (runtime). В Java Reflection осуществляется с помощью Java Reflection API, состоящего из классов пакетов
java.lang и java.lang.reflect.
Возможности Java Reflection API:• Определение класса объекта;
• Получение информации о модификаторах класса, полях, методах, конструкторах и суперклассах;
• Определение интерфейсов, реализуемых классом;
• Создание экземпляра класса;
• Получение и установка значений полей объекта;
• Вызов методов объекта;
• Создание нового массива.
👍11🔥9❤5
Эффективный Java. Тюнинг кода на Java 8, 11 и дальше (2021) PDF, EPUB
Вы сможете разобраться в производительности приложений Java в контексте как JVM, так и платформы Java, освоите средства, функции и процессы, которые могут повысить производительность в LTS-версиях Java, и познакомитесь с новыми возможностями (такими как предварительная компиляция и экспериментальные уборщики мусора).
В этой книге вы:
- Узнаете, как платформы и компиляторы Java влияют на производительность.
- Разберетесь c механизмом уборки мусора.
- Освоите четыре принципа получения наилучших результатов при тестировании производительности.
- Научитесь пользоваться JDK и другими инструментами оценки производительности.
- Узнаете как настройка и приемы программирования позволяют минимизировать последствия уборки мусора.
- Научитесь решать проблемы производительности средствами Java API.
- Поймете, как улучшить производительность приложений баз данных Java.
Вы сможете разобраться в производительности приложений Java в контексте как JVM, так и платформы Java, освоите средства, функции и процессы, которые могут повысить производительность в LTS-версиях Java, и познакомитесь с новыми возможностями (такими как предварительная компиляция и экспериментальные уборщики мусора).
В этой книге вы:
- Узнаете, как платформы и компиляторы Java влияют на производительность.
- Разберетесь c механизмом уборки мусора.
- Освоите четыре принципа получения наилучших результатов при тестировании производительности.
- Научитесь пользоваться JDK и другими инструментами оценки производительности.
- Узнаете как настройка и приемы программирования позволяют минимизировать последствия уборки мусора.
- Научитесь решать проблемы производительности средствами Java API.
- Поймете, как улучшить производительность приложений баз данных Java.
👍23❤4🔥3😁1🎉1
Spring Security кроме аутентификации и авторизации предоставляет инструменты для противодействия эксплойтам, например, межсайтовой подделки запросов (Cross-site Resource Forgery; CSRF).
В этом ролике автор расскажет о природе CSRF-атак, продемонстрирует несколько примеров, а так же расскажет о том, как можно защититься от них, в том числе при помощи Spring Security.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Cross-Site Resource Forgery (CSRF) - Spring Security
Spring Security кроме аутентификации и авторизации предоставляет инструменты для противодействия эксплойтам, например, межсайтовой подделки запросов (Cross-site Resource Forgery; CSRF).
В этом ролике я расскажу о природе CSRF-атак, продемонстрирую несколько…
В этом ролике я расскажу о природе CSRF-атак, продемонстрирую несколько…
👍16❤5🔥2
Классические задачи Computer Science на языке Java (2021) PDF, EPUB
Cтолкнулись с «неразрешимой» проблемой при разработке программного обеспечения? Скорее всего, кто-то уже справился с этой задачей, и вы можете не ломать голову. Дэвид Копец собрал наиболее полезные готовые решения, принципы и алгоритмы. «Классические задачи Computer Science на языке Java» — это мастер-класс по программированию, содержащий 55 практических примеров, затрагивающих самые актуальные темы: базовые алгоритмы, ограничения, искусственный интеллект и многое другое.
В этой книге:
- Рекурсия, мемоизация и битовые манипуляции.
- Поисковые, графовые и генетические алгоритмы.
- Проблемы ограничений.
- Кластеризация методом k-среднего, нейронные сети и состязательный поиск.
Cтолкнулись с «неразрешимой» проблемой при разработке программного обеспечения? Скорее всего, кто-то уже справился с этой задачей, и вы можете не ломать голову. Дэвид Копец собрал наиболее полезные готовые решения, принципы и алгоритмы. «Классические задачи Computer Science на языке Java» — это мастер-класс по программированию, содержащий 55 практических примеров, затрагивающих самые актуальные темы: базовые алгоритмы, ограничения, искусственный интеллект и многое другое.
В этой книге:
- Рекурсия, мемоизация и битовые манипуляции.
- Поисковые, графовые и генетические алгоритмы.
- Проблемы ограничений.
- Кластеризация методом k-среднего, нейронные сети и состязательный поиск.
👍21❤5🔥2
Зачем нужен equals(). Чем он отличается от операции ==?
Метод
При сравнении объектов с помощью
Метод
equals() - определяет отношение эквивалентности объектов.При сравнении объектов с помощью
== сравнение происходит лишь между ссылками. При сравнении по переопределённому разработчиком equals() - по внутреннему состоянию объектов.👍21🔥7❤3
Git. Практическое руководство. Управление и контроль версий в разработке программного обеспечения (2021) PDF
Git в настоящее время нужен практически всем программистам, которые занимаются разработкой программного обеспечения. Git - это система управления версиями, с помощью которой вы сможете вести и контролировать разработку нескольких версий одного приложения, осуществлять совместную разработку одного приложения несколькими разработчиками.
Git в настоящее время нужен практически всем программистам, которые занимаются разработкой программного обеспечения. Git - это система управления версиями, с помощью которой вы сможете вести и контролировать разработку нескольких версий одного приложения, осуществлять совместную разработку одного приложения несколькими разработчиками.
👍21❤5
WebSocket + Jetty
В данном видео автор запускает WebSocket сервер на базе Jetty, без Spring.
Иногда хочется не целый каравай, а просто хлеб с маслом.
Вот и автору понадобился простой java проект с socket-сервером, без необходимости тащить спринг.
В данном видео автор запускает WebSocket сервер на базе Jetty, без Spring.
Иногда хочется не целый каравай, а просто хлеб с маслом.
Вот и автору понадобился простой java проект с socket-сервером, без необходимости тащить спринг.
YouTube
WebSocket + Jetty.
#maven #java #jetty #websocket
Запускаем WebSocket сервер на базе Jetty, без Spring.
Иногда хочется не целый каравай, а просто хлеб с маслом.
Вот и мне понадобился простой java проект с socket-сервером, без необходимости тащить спринг.
Sources: https:…
Запускаем WebSocket сервер на базе Jetty, без Spring.
Иногда хочется не целый каравай, а просто хлеб с маслом.
Вот и мне понадобился простой java проект с socket-сервером, без необходимости тащить спринг.
Sources: https:…
🔥9❤7👍6
Введение в объектно-ориентированный дизайн с Java (2022) PDF
Эта книга ориентирована на тех, кто уже знаком с языком программирования Java и хотел бы углубить свои знания и изучить объектно-ориентированный анализ и проектирование программного обеспечения. Вы познакомитесь с основными принципами и паттернами объектно-ориентированного дизайна, используемыми при разработке программных систем Java. Вы научитесь моделировать системы Java с помощью UML диаграмм, познакомитесь с основными понятиями и принципами объектно-ориентированного подхода, изучите порождающие, структурные и поведенческие шаблоны проектирования. Вы узнаете, как создавать модульное, гибкое и многоразовое программное обеспечение, применяя объектно-ориентированные принципы и шаблоны проектирования.
Эта книга ориентирована на тех, кто уже знаком с языком программирования Java и хотел бы углубить свои знания и изучить объектно-ориентированный анализ и проектирование программного обеспечения. Вы познакомитесь с основными принципами и паттернами объектно-ориентированного дизайна, используемыми при разработке программных систем Java. Вы научитесь моделировать системы Java с помощью UML диаграмм, познакомитесь с основными понятиями и принципами объектно-ориентированного подхода, изучите порождающие, структурные и поведенческие шаблоны проектирования. Вы узнаете, как создавать модульное, гибкое и многоразовое программное обеспечение, применяя объектно-ориентированные принципы и шаблоны проектирования.
👍11❤5🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥43👍13❤3🤩2❤🔥1
Техника «10 тестов в день» – одна из самых эффективных в изучении Java.
Канал Java Guru выложил в открытый доступ тесты, которые дают на собеседованиях в топовые компании, вроде Яндекс и MailRu.
➤ Открываете задачку – выбираете вариант – видите правильный ответ и детальное объяснение к нему. Так вы усвоите на 50% больше знаний в сжатые сроки.
Подписывайтесь и качайте свои скиллы: @javatasks
Канал Java Guru выложил в открытый доступ тесты, которые дают на собеседованиях в топовые компании, вроде Яндекс и MailRu.
➤ Открываете задачку – выбираете вариант – видите правильный ответ и детальное объяснение к нему. Так вы усвоите на 50% больше знаний в сжатые сроки.
Подписывайтесь и качайте свои скиллы: @javatasks
👍8❤3🔥1
Testing Spring Boot Applications Demystified: Avoiding Pitfalls, Implementing Recipes, and Embracing Best Practices (2023) True PDF, ePUB, mobi
Unravel the complexities of testing Spring Boot applications.
Gain insights, best practices, practical tips and avoid common pitfalls to write comprehensive and effective tests to become more productive. Demystify Spring Boot testing and deliver robust & maintainable applications. Start your testing journey today!
Whether you’re a seasoned developer or just starting your journey with Spring Boot, this ebook is designed to unravel the complexities of testing Spring Boot applications and empower you to become more productive and confident in your testing efforts. Testing plays a crucial role in software development, allowing you to catch bugs, ensure your code functions as intended, and provide confidence in the reliability and stability of your applications.
Unravel the complexities of testing Spring Boot applications.
Gain insights, best practices, practical tips and avoid common pitfalls to write comprehensive and effective tests to become more productive. Demystify Spring Boot testing and deliver robust & maintainable applications. Start your testing journey today!
Whether you’re a seasoned developer or just starting your journey with Spring Boot, this ebook is designed to unravel the complexities of testing Spring Boot applications and empower you to become more productive and confident in your testing efforts. Testing plays a crucial role in software development, allowing you to catch bugs, ensure your code functions as intended, and provide confidence in the reliability and stability of your applications.
👍11❤5🔥1
Какими свойствами обладает порождаемое equals() отношение эквивалентности?
• Рефлексивность: для любой ссылки на значение
• Симметричность: для любых ссылок на значения
• Транзитивность: для любых ссылок на значения
• Непротиворечивость: для любых ссылок на значения
Для любой ненулевой ссылки на значение
• Рефлексивность: для любой ссылки на значение
x, x.equals(x) вернет true;• Симметричность: для любых ссылок на значения
x и y, x.equals(y) должно вернуть true, тогда и только тогда, когда y.equals(x) возвращает true.• Транзитивность: для любых ссылок на значения
x, y и z, если x.equals(y) и y.equals(z) возвращают true, тогда и x.equals(z) вернёт true;• Непротиворечивость: для любых ссылок на значения
х и у, если несколько раз вызвать х.equals(y), постоянно будет возвращаться значение true либо постоянно будет возвращаться значение false при условии, что никакая информация, используемая при сравнении объектов, не поменялась.Для любой ненулевой ссылки на значение
х выражение х.equals(null) должно возвращать false.👍27❤4🔥3
Изучаем принципы SOLID на примерах с Java
Друзья, мы уже не раз рассматривали принципы SOLID, но почему бы их не повторить снова?
Предложенная статья на примерах покажет реализацию этих принципов на языке Java.
Практика, здравствуй! 😊
Читать статью
Друзья, мы уже не раз рассматривали принципы SOLID, но почему бы их не повторить снова?
Предложенная статья на примерах покажет реализацию этих принципов на языке Java.
Практика, здравствуй! 😊
Читать статью
❤25👍7
Правила переопределения метода Object.equals().
1. Использование оператора
2. Использование оператор
3. Приведение аргумента к правильному типу. Поскольку эта операция следует за проверкой
4. Обход всех значимых полей класса и проверка того, что значение поля в текущем объекте и значение того же поля в проверяемом на эквивалентность аргументе соответствуют друг другу. Если проверки для всех полей прошли успешно, возвращается результат
По окончанию переопределения метода
1. Использование оператора
== для проверки, является ли аргумент ссылкой на указанный объект. Если является, возвращается true. Если сравниваемый объект == null, должно вернуться false.2. Использование оператор
instanceof и вызова метода getClass() для проверки, имеет ли аргумент правильный тип. Если не имеет, возвращается false.3. Приведение аргумента к правильному типу. Поскольку эта операция следует за проверкой
instanceof она гарантированно будет выполнена.4. Обход всех значимых полей класса и проверка того, что значение поля в текущем объекте и значение того же поля в проверяемом на эквивалентность аргументе соответствуют друг другу. Если проверки для всех полей прошли успешно, возвращается результат
true, в противном случае - false.По окончанию переопределения метода
equals() следует проверить: является ли порождаемое отношение эквивалентности рефлексивным, симметричным, транзитивным и непротиворечивым? Если ответ отрицательный, метод подлежит соответствующей правке.👍15❤3🔥1
❓Java Guru - вопросы и задачи с собеседований. Канал с помощью которого ты точно получишь оффер!
👩💻 Android Developer - канал для андроид разработчиков! Статьи, вопросы и задачи с собеседований, лайфхаки.
👩💻 Kotlin Developer - самый топовый канал для котлин разработчика!
📕 Книги для Java программиста - канал с книгами по Java. Постоянно выходят новинки как на русском так и на английском языке!
📰 Java News - канал с последними новостями из мира Java!
📕 Книги для Java программиста - канал с книгами по Java. Постоянно выходят новинки как на русском так и на английском языке!
📰 Java News - канал с последними новостями из мира Java!
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥1🤩1
Apache Flink и Apache Spark широко используются в качестве следующего поколения вычислительных движков для потоковой передачи больших данных. Основываясь на превосходном опыте в сочетании с лучшими практиками, мы извлекли параметры развертывания задачи и времени выполнения в файлы конфигурации. Таким образом, простой в использовании RuntimeContext с готовыми соединителями упростит и повысит эффективность разработки задач. Это снижает затраты на обучение и барьеры для разработки, поэтому разработчики могут сосредоточиться на бизнес-логике. С другой стороны, предприятиям может быть сложно использовать Flink & Spark, если на этапе развертывания нет профессиональной платформы управления для задач Flink & Spark. StreamPark предоставляет такую профессиональную платформу для управления задачами, включая разработку задач, планирование, интерактивные запросы, развертывание, эксплуатацию, обслуживание и т. д.
@javalib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Если equals() переопределен, есть ли какие-либо другие методы, которые следует переопределить?
Равные объекты должны возвращать одинаковые хэш коды. При переопределении
Равные объекты должны возвращать одинаковые хэш коды. При переопределении
equals() нужно обязательно переопределять и метод hashCode().👍30
15 советов для развития экспертизы в Java
Предложенная сегодня статья достаточно детально, подробно и обоснованно расписывает необходимые шаги, которые нужно предпринять, чтобы стать экспертом в Java. 😃
Приятного чтения!
Читать статью
Предложенная сегодня статья достаточно детально, подробно и обоснованно расписывает необходимые шаги, которые нужно предпринять, чтобы стать экспертом в Java. 😃
Приятного чтения!
Читать статью
👍9☃1