О чем говорит ключевое слово final?
Модификатор final может применяться к переменным, параметрам методов, полям и методам класса или самим классам.
• Класс не может иметь наследников;
• Метод не может быть переопределен в классах наследниках;
• Поле не может изменить свое значение после инициализации;
• Параметры методов не могут изменять своё значение внутри метода;
• Локальные переменные не могут быть изменены после присвоения им значения.
Модификатор final может применяться к переменным, параметрам методов, полям и методам класса или самим классам.
• Класс не может иметь наследников;
• Метод не может быть переопределен в классах наследниках;
• Поле не может изменить свое значение после инициализации;
• Параметры методов не могут изменять своё значение внутри метода;
• Локальные переменные не могут быть изменены после присвоения им значения.
👍30🔥4❤2
Что вы знаете о функции main()?
Метод
Метод
main()
— точка входа в программу. В приложении может быть несколько таких методов. Если метод отсутствует, то компиляция возможна, но при запуске будет получена ошибка `Error: Main method not found
`.👍28❤4🔥4
Selenide — это фреймворк для написания удобных для чтения и поддержки автоматизированных тестов на Java.
Язык: Java
💥Stars: 1743
📝Forks: 591
https://github.com/selenide/selenide
Язык: Java
💥Stars: 1743
📝Forks: 591
https://github.com/selenide/selenide
GitHub
GitHub - selenide/selenide: Concise UI Tests with Java!
Concise UI Tests with Java! Contribute to selenide/selenide development by creating an account on GitHub.
👍18
Рабочий код != правильный код.
А вы точно пишите код правильно?
Школа программирования YKul приглашает пройти эффективное обучение Java, основанное на менторстве.
🎓Стать нашим студентом можно с любым уровнем подготовки!
💰Не нужно оплачивать весь курс сразу. При необходимости вы сможете сделать перерыв и не потерять деньги 😉
На обучении в школе YKul – все будет как на настоящей работе, только с поддержкой ментора - действующего разработчика.
Вы получите:
✅ Индивидуальный учебный план с учетом уровня вашей подготовки.
✅ Профессиональных наставников, готовых ответить на любые ваши вопросы.
✅ Сертификат об окончании школы YKuL и портфолио с готовыми кейсами - как плюс для вашего резюме.
✅ Индивидуальную поддержку нашего HR-специалиста.
❓Хотите проверить подходит ли вам формат обучения❓
➡️Запишитесь на курс: https://clck.ru/36LGuR
Первые 7 дней – бесплатно❗️
Наша глобальная цель – увеличить число компетентных программистов.
Присоединяйтесь!
Реклама: ИП Кулагин Андрей Николаевич, ИНН: 740411652688
А вы точно пишите код правильно?
Школа программирования YKul приглашает пройти эффективное обучение Java, основанное на менторстве.
🎓Стать нашим студентом можно с любым уровнем подготовки!
💰Не нужно оплачивать весь курс сразу. При необходимости вы сможете сделать перерыв и не потерять деньги 😉
На обучении в школе YKul – все будет как на настоящей работе, только с поддержкой ментора - действующего разработчика.
Вы получите:
✅ Индивидуальный учебный план с учетом уровня вашей подготовки.
✅ Профессиональных наставников, готовых ответить на любые ваши вопросы.
✅ Сертификат об окончании школы YKuL и портфолио с готовыми кейсами - как плюс для вашего резюме.
✅ Индивидуальную поддержку нашего HR-специалиста.
❓Хотите проверить подходит ли вам формат обучения❓
➡️Запишитесь на курс: https://clck.ru/36LGuR
Первые 7 дней – бесплатно❗️
Наша глобальная цель – увеличить число компетентных программистов.
Присоединяйтесь!
Реклама: ИП Кулагин Андрей Николаевич, ИНН: 740411652688
👍7🔥4😁4❤3
Конструктор по умолчанию
Конструктор по умолчанию предоставляется компилятором Java, если в классе не определен ни один другой конструктор. Конструктор по умолчанию инициализирует все поля класса значениями по умолчанию (например, 0 для числовых типов, false для типа boolean, null для ссылочных типов).
Если же в классе определен хотя бы один конструктор (с параметрами или без), компилятор не будет предоставлять конструктор по умолчанию, и его необходимо определить явно, если он нужен.
В этом примере мы определяем класс MyClass с двумя полями: x и y, а также определяем конструктор по умолчанию, который выводит сообщение при вызове. В методе main создаем экземпляр класса MyClass, используя конструктор по умолчанию, и выводим значения полей x и y, которые инициализированы значениями по умолчанию.
Конструктор по умолчанию предоставляется компилятором Java, если в классе не определен ни один другой конструктор. Конструктор по умолчанию инициализирует все поля класса значениями по умолчанию (например, 0 для числовых типов, false для типа boolean, null для ссылочных типов).
Если же в классе определен хотя бы один конструктор (с параметрами или без), компилятор не будет предоставлять конструктор по умолчанию, и его необходимо определить явно, если он нужен.
В этом примере мы определяем класс MyClass с двумя полями: x и y, а также определяем конструктор по умолчанию, который выводит сообщение при вызове. В методе main создаем экземпляр класса MyClass, используя конструктор по умолчанию, и выводим значения полей x и y, которые инициализированы значениями по умолчанию.
👍24🔥3
Инкапсуляция
Инкапсуляция — это принцип ООП, который заключается в сокрытии внутреннего представления класса от внешнего мира. Для этого используются модификаторы доступа: private, protected, public.
Обычно поля класса делаются private или protected, а методы — public. Это позволяет скрыть реализацию класса и предоставить к ней контролируемый доступ через public методы.
При запуске этой программы на выходе мы получим:
John 0
Инкапсуляция — это принцип ООП, который заключается в сокрытии внутреннего представления класса от внешнего мира. Для этого используются модификаторы доступа: private, protected, public.
Обычно поля класса делаются private или protected, а методы — public. Это позволяет скрыть реализацию класса и предоставить к ней контролируемый доступ через public методы.
При запуске этой программы на выходе мы получим:
John 0
👍31🔥6❤4
Техника «10 тестов в день» – одна из самых эффективных в изучении Java.
Канал Java Guru выложил в открытый доступ тесты, которые дают на собеседованиях в топовые компании, вроде Яндекс и MailRu.
➤ Открываете задачку – выбираете вариант – видите правильный ответ и детальное объяснение к нему. Так вы усвоите на 50% больше знаний в сжатые сроки.
Подписывайтесь и качайте свои скиллы: @javatasks
Канал Java Guru выложил в открытый доступ тесты, которые дают на собеседованиях в топовые компании, вроде Яндекс и MailRu.
➤ Открываете задачку – выбираете вариант – видите правильный ответ и детальное объяснение к нему. Так вы усвоите на 50% больше знаний в сжатые сроки.
Подписывайтесь и качайте свои скиллы: @javatasks
👍9❤3🔥2
Enterprise Social for the Java Platform: Shares, Mashups, Likes, and Ways to Integrate Social Media into Your Cloud Native Enterprise Java Applications (2024)
Learn everything you need to know about frameworks that help developers to integrate their solutions with social networks or APIs, from general purpose (Facebook, Twitter, Google, Mastodon) to specialized (LinkedIn, Xing, WhatsApp, YouTube, Instagram, Flickr, TikTok) to vertical (eToro, Fitbit, Strava). This book will teach you how to add social media features to web applications or services developed using Java, Jakarta EE, or generally running on a Java Virtual Machine (JVM).
Jam-packed with practical examples of social integration into enterprise applications, you’ll learn how to address common requirements such as social login, identity federation, single sign-on via social accounts, OpenID Connect, and mashups. You’ll also see how to leverage Java social frameworks like Facebook Business SDK, Twitter4J, Agorava, Keycloak, and Spring Security.
Learn everything you need to know about frameworks that help developers to integrate their solutions with social networks or APIs, from general purpose (Facebook, Twitter, Google, Mastodon) to specialized (LinkedIn, Xing, WhatsApp, YouTube, Instagram, Flickr, TikTok) to vertical (eToro, Fitbit, Strava). This book will teach you how to add social media features to web applications or services developed using Java, Jakarta EE, or generally running on a Java Virtual Machine (JVM).
Jam-packed with practical examples of social integration into enterprise applications, you’ll learn how to address common requirements such as social login, identity federation, single sign-on via social accounts, OpenID Connect, and mashups. You’ll also see how to leverage Java social frameworks like Facebook Business SDK, Twitter4J, Agorava, Keycloak, and Spring Security.
👍9❤5🔥2
FileChannel
FileChannel используется для работы с файлами на низкоуровневом вводе-выводе.
Основные возможности класса FileChannel:
— Чтение данных из файла и запись данных в файл.
— Работа с файлом по смещениям. Можно получить текущее смещение в файле, переместить указатель чтения/записи в нужное смещение.
— Маппинг файлов в память. Файл можно отобразить в память и работать с его содержимым как с массивом байтов.
— Блокировка частей файла. Позволяет защитить критические участки файла от одновременной записи.
— Асинхронная работа с файлами.
FileChannel эффективнее потокового ввода-вывода, т. к. избавляет от накладных расходов на создание объектов и буферизацию.
Используется в приложениях, где нужна высокая производительность работы с файлами.
FileChannel используется для работы с файлами на низкоуровневом вводе-выводе.
Основные возможности класса FileChannel:
— Чтение данных из файла и запись данных в файл.
— Работа с файлом по смещениям. Можно получить текущее смещение в файле, переместить указатель чтения/записи в нужное смещение.
— Маппинг файлов в память. Файл можно отобразить в память и работать с его содержимым как с массивом байтов.
— Блокировка частей файла. Позволяет защитить критические участки файла от одновременной записи.
— Асинхронная работа с файлами.
FileChannel эффективнее потокового ввода-вывода, т. к. избавляет от накладных расходов на создание объектов и буферизацию.
Используется в приложениях, где нужна высокая производительность работы с файлами.
👍25❤3🔥3
Отложенная инициализация
Отложенная инициализация — это паттерн проектирования, который позволяет отложить создание объекта до момента его реального использования. Он полезен, когда создание объекта требует значительных ресурсов или происходит в условиях, когда объект может не понадобиться.
В Java есть несколько способов реализации отложенной инициализации. Два наиболее распространенных подхода — это использование двойной проверки и использование внутреннего класса. На картинке мы рассмотрели использование двойной проверки (Double-Checked Locking).
Отложенная инициализация — это паттерн проектирования, который позволяет отложить создание объекта до момента его реального использования. Он полезен, когда создание объекта требует значительных ресурсов или происходит в условиях, когда объект может не понадобиться.
В Java есть несколько способов реализации отложенной инициализации. Два наиболее распространенных подхода — это использование двойной проверки и использование внутреннего класса. На картинке мы рассмотрели использование двойной проверки (Double-Checked Locking).
👍14🔥3❤2
Узнаете на бесплатном открытом уроке «Разработка REST-клиентов на Spring» от OTUS.
На эфире рассмотрим Rest Template и WebClient, SOAP-сервисы и SOAP-клиентов на Spring.
Это отличная возможность совершенно бесплатно протестировать формат обучения и задать преподавателю любые вопросы в режиме реального времени.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥2☃1
Артем вкратце расскажет об одном из аналитических сервисов своего проекта и о некоторых сложностях, с которыми его команда столкнулась в процессе разработки. Сломает стереотип о том, что Redis — это просто база для кэша. Поговорит о возможностях Redis в качестве БД для аналитики, а также о том, как с ним работать на стеке Java + Spring. Покажет схему работы с двумя БД, примеры кода и демо проекта.
В заключении спикер расскажет о том, что в команде получили на выходе (производительность), и о подводных камнях, с которыми столкнулись.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Артем Артемьев — Моментальная аналитика с помощью Spring + Redis. Это возможно?
Подробнее о Java-конференциях:
— весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— —
В каждой крупной компании есть аналитические сервисы, и компания спикера — не исключение.
Артем вкратце расскажет об одном из аналитических…
— весной — JPoint: https://jrg.su/gTrwHx
— осенью — Joker: https://jrg.su/h7yvG4
— —
В каждой крупной компании есть аналитические сервисы, и компания спикера — не исключение.
Артем вкратце расскажет об одном из аналитических…
👍11❤2🔥2
Java для всех (2020) PDF
Java — один из самых популярных и востребованных языков в мире. Алексей Васильев — автор многочисленных компьютерных бестселлеров — познакомит вас со всем необходимым для эффективной работы с этим языком. Вы изучите базовые типы, управляющие инструкции, особенности описания классов и объектов в Java, создание интерфейсов, лямбда-выражения, обобщенные классы. Каждая глава содержит примеры кода, которые в свою очередь снабжены как построчными пояснениями, так и подробным разбором примера программы. Примеры, используемые в этой книге, пригодятся вам в дальнейшей работе с языком Java. Программирование — это нестрашно! Даже если у вас нет никакого опыта, вы с легкостью освоите Java, воспользовавшись уникальной методикой Алексея Васильева, и перейдете на профессиональный уровень.
Java — один из самых популярных и востребованных языков в мире. Алексей Васильев — автор многочисленных компьютерных бестселлеров — познакомит вас со всем необходимым для эффективной работы с этим языком. Вы изучите базовые типы, управляющие инструкции, особенности описания классов и объектов в Java, создание интерфейсов, лямбда-выражения, обобщенные классы. Каждая глава содержит примеры кода, которые в свою очередь снабжены как построчными пояснениями, так и подробным разбором примера программы. Примеры, используемые в этой книге, пригодятся вам в дальнейшей работе с языком Java. Программирование — это нестрашно! Даже если у вас нет никакого опыта, вы с легкостью освоите Java, воспользовавшись уникальной методикой Алексея Васильева, и перейдете на профессиональный уровень.
👍14🔥5
В этом видео вы узнаете, как писать эффективные тесты для контроллеров в Spring Framework. Мы возьмем за основу WorkerController и на примерах покажем, как применять Mockito для модульного тестирования, настраивать MockMvc и использовать аннотации @Mock и @InjectMocks. Вы научитесь тестировать HTTP запросы, проверять статусы ответов и убедитесь в правильности возвращаемых данных. Помимо основных тестов, автор покажет бонусный трюк, как избежать ручной инициализации в тестах с помощью @WebMvcTest.
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
ТЕСТИРОВАНИЕ КОНТРОЛЛЕРОВ SPRING НА JAVA
В этом видео вы узнаете, как писать эффективные тесты для контроллеров в Spring Framework. Мы возьмем за основу WorkerController и на примерах покажем, как применять Mockito для модульного тестирования, настраивать MockMvc и использовать аннотации @Mock и…
👍20🔥6❤4
Practical Java Programming with ChatGPT: Develop, Prototype and Validate Java Applications by integrating OpenAI API and leveraging Generative AI and LLMs (2023) True ePUB
How to use ChatGPT to write fast validated Java code.
Book Description
Embark on a Fascinating Journey into AI-Powered Software Development with ChatGPT. This transformative book challenges the conventional speed of software development by showcasing a diverse array of inquiries directed at cutting-edge AI tools, including Ask AI, ChatGPT 3.5, Perplexity AI, Microsoft Bing Chatbot based on ChatGPT 4.0, and the Phed mobile app.
Diving deep into the integration of Java and ChatGPT, this book provides readers with a comprehensive understanding of their synergy in programming. Each carefully crafted question serves as a testament to ChatGPT's exceptional ability to swiftly generate Java programs.
How to use ChatGPT to write fast validated Java code.
Book Description
Embark on a Fascinating Journey into AI-Powered Software Development with ChatGPT. This transformative book challenges the conventional speed of software development by showcasing a diverse array of inquiries directed at cutting-edge AI tools, including Ask AI, ChatGPT 3.5, Perplexity AI, Microsoft Bing Chatbot based on ChatGPT 4.0, and the Phed mobile app.
Diving deep into the integration of Java and ChatGPT, this book provides readers with a comprehensive understanding of their synergy in programming. Each carefully crafted question serves as a testament to ChatGPT's exceptional ability to swiftly generate Java programs.
👍13😁10🔥4
Какие логические операции и операторы вы знаете?
•
•
•
•
•
•
•
•
•
•
•
•
•
&
: Логическое AND (И);•
&&
: Сокращённое AND;•
|
: Логическое OR (ИЛИ);•
||
: Сокращённое OR;•
^
: Логическое XOR (исключающее OR (ИЛИ));•
!
: Логическое унарное NOT (НЕ);•
&=
: AND с присваиванием;•
|=
: OR с присваиванием;•
^=
: XOR с присваиванием;•
==
: Равно;•
!=
: Не равно;•
?:
: Тернарный (троичный) условный оператор.👍34🔥5
Клиент OpenAI API на Java
Язык: Java
💥Stars: 3900
📝Forks: 1000
https://github.com/TheoKanning/openai-java
Язык: Java
💥Stars: 3900
📝Forks: 1000
https://github.com/TheoKanning/openai-java
GitHub
GitHub - TheoKanning/openai-java: OpenAI Api Client in Java
OpenAI Api Client in Java. Contribute to TheoKanning/openai-java development by creating an account on GitHub.
👍20🔥3❤2
🌟 Открываем двери в мир Scala-разработки! 🚀
Присоединяйтесь к бесплатному онлайн-занятию «Применение механизма implicits в Scala» от OTUS: регистрация
В рамках вебинара:
— Познакомимся с историей возникновения и мотивацией за разными компонентами данного механизма.
— Разберем возможности и опасности которые таят в себе implicit преобразования
— Узнаем, как использовать и для чего служат implicit параметры
— Рассмотрим правила, по которым Scala ищет подходящего implicit кандидата и какие требования к нему предъявляются.
Вебинар подойдет тем, кто имеет первичный опыт работы со Scala и хочет разобраться, как работает механизм implicit.
💼 По завершении урока вы сможете оформить полный курс в беспроцентную рассрочку
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8KJ9W9
Присоединяйтесь к бесплатному онлайн-занятию «Применение механизма implicits в Scala» от OTUS: регистрация
В рамках вебинара:
— Познакомимся с историей возникновения и мотивацией за разными компонентами данного механизма.
— Разберем возможности и опасности которые таят в себе implicit преобразования
— Узнаем, как использовать и для чего служат implicit параметры
— Рассмотрим правила, по которым Scala ищет подходящего implicit кандидата и какие требования к нему предъявляются.
Вебинар подойдет тем, кто имеет первичный опыт работы со Scala и хочет разобраться, как работает механизм implicit.
💼 По завершении урока вы сможете оформить полный курс в беспроцентную рассрочку
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8KJ9W9
👍8❤1🔥1
Java Concurrency на практике (2020) PDF, DJVU
Потоки являются фундаментальной частью платформы Java. Многоядерные процессоры — это обыденная реальность, а эффективное использование параллелизма стало необходимым для создания любого высокопроизводительного приложения. Улучшенная виртуальная машина Java, поддержка высокопроизводительных классов и богатый набор строительных блоков для задач распараллеливания стали в свое время прорывом в разработке параллельных приложений. В «Java Concurrency на практике» сами создатели прорывной технологии объясняют не только принципы работы, но и рассказывают о паттернах проектирования.
Потоки являются фундаментальной частью платформы Java. Многоядерные процессоры — это обыденная реальность, а эффективное использование параллелизма стало необходимым для создания любого высокопроизводительного приложения. Улучшенная виртуальная машина Java, поддержка высокопроизводительных классов и богатый набор строительных блоков для задач распараллеливания стали в свое время прорывом в разработке параллельных приложений. В «Java Concurrency на практике» сами создатели прорывной технологии объясняют не только принципы работы, но и рассказывают о паттернах проектирования.
👍18🔥7