Как остановить поток Java без использования Thread.stop()? Если вы читаете это, вы, вероятно, задаетесь вопросом, почему, и самое главное: как мне остановить поток, если я не могу просто полагаться на метод Thread#stop() , который устарел… начиная с Java 1.2?
Быстрый ответ заключается в том, что вместо этого следует использовать прерывания, потому что Thread#stop небезопасен.
Но если вы хотите понять, почему и как… продолжайте читать. https://shly.link/KwPdM
Быстрый ответ заключается в том, что вместо этого следует использовать прерывания, потому что Thread#stop небезопасен.
Но если вы хотите понять, почему и как… продолжайте читать. https://shly.link/KwPdM
Forwarded from Академия Кода
Дочерние классы в массивах
В Java полиморфизм позволяет нам помещать экземпляры разных классов, которые имеют общий родительский класс, вместе в массив или ArrayList. Например, если у нас есть родительский класс Animal с дочерними классами Cat, Dog и Pig, мы можем настроить массив с экземплярами каждого животного, а затем перебрать список животных, чтобы выполнить одно и то же действие над каждым.
Подписывайтесь на канал 👉@coddy_academy
#java
В Java полиморфизм позволяет нам помещать экземпляры разных классов, которые имеют общий родительский класс, вместе в массив или ArrayList. Например, если у нас есть родительский класс Animal с дочерними классами Cat, Dog и Pig, мы можем настроить массив с экземплярами каждого животного, а затем перебрать список животных, чтобы выполнить одно и то же действие над каждым.
Подписывайтесь на канал 👉@coddy_academy
#java
Полиморфизм и динамическое связывание в Java
Узнайте о полиморфизме в Java и двух типах: времени компиляции и времени выполнения. Кроме того, мы рассмотрим демонстрации того, как добиться статического и динамического связывания. https://shly.link/X11hz
Узнайте о полиморфизме в Java и двух типах: времени компиляции и времени выполнения. Кроме того, мы рассмотрим демонстрации того, как добиться статического и динамического связывания. https://shly.link/X11hz
dzone.com
Polymorphism and Dynamic Binding in Java - DZone Java
Learn about polymorphism in Java and its two types: compile-time and runtime. Then take a look at examples of how to achieve static and dynamic binding.
Forwarded from Библиотека Java разработчика
Что такое synchronized?
Можно применять как модификатор метода, и как самостоятельный оператор с блоком кода. Выполняет код при захваченном мониторе объекта. В виде оператора объект указывается явно. В виде модификатора нестатического метода используется
Один из основных инструментов обеспечения потокобезопасности. Одновременно выполняется не более одного блока
Блок
Можно применять как модификатор метода, и как самостоятельный оператор с блоком кода. Выполняет код при захваченном мониторе объекта. В виде оператора объект указывается явно. В виде модификатора нестатического метода используется
this
, статического – .class
текущего класса.Один из основных инструментов обеспечения потокобезопасности. Одновременно выполняется не более одного блока
synchronized
на одном и том же объекте. Такая блокировка называется intrinsic lock или monitor lock, подробно рассматривается в Java Concurrency in Practice 2.3.1.Блок
synchronized
также необходим для использования методов wait, notify, notifyAll.Лучшие функции Kotlin, которые я больше всего ценю как Java-разработчик
Я работал бэкенд-разработчиком Java почти 5 лет своей карьеры и до сих пор остаюсь бэкенд-разработчиком, но в прошлом году я перешел на Kotlin в качестве основного языка для всех своих новых проектов. Недавно мне было поручено обновить устаревший проект Java, и я обнаружил, что меня раздражает отсутствие некоторых функций Kotlin, поэтому здесь я пишу свой список лучших функций Kotlin, которые мне нравятся больше всего. https://shly.link/zVXeK
Я работал бэкенд-разработчиком Java почти 5 лет своей карьеры и до сих пор остаюсь бэкенд-разработчиком, но в прошлом году я перешел на Kotlin в качестве основного языка для всех своих новых проектов. Недавно мне было поручено обновить устаревший проект Java, и я обнаружил, что меня раздражает отсутствие некоторых функций Kotlin, поэтому здесь я пишу свой список лучших функций Kotlin, которые мне нравятся больше всего. https://shly.link/zVXeK
Medium
Best Kotlin features that I value most as Java Developer
I was working as Java Backend Developer for almost 5 years of my career and I am still a BackEnd Developer but last year I moved to Kotlin…
👍1
Giuseppe_Bonocore_Hands_On_Software_Architecture_with_Java_Learn.pdf
11.4 MB
Hands-On Software Architecture with Java - Learn key architectural techniques and strategies to design efficient and elegant Java applications (2022) PDF
This book starts with the fundamentals of architecture and takes you through the basic components of application architecture. You'll cover the different types of software architectural patterns and application integration patterns and learn about their most widespread implementation in Java. You'll then explore cloud-native architectures and best practices for enhancing existing applications to better suit a cloud-enabled world. Later, the book highlights some cross-cutting concerns and the importance of monitoring and tracing for planning the evolution of the software, foreseeing predictable maintenance, and troubleshooting. The book concludes with an analysis of the current status of software architectures in Java programming and offers insights into transforming your architecture to reduce technical debt.
This book starts with the fundamentals of architecture and takes you through the basic components of application architecture. You'll cover the different types of software architectural patterns and application integration patterns and learn about their most widespread implementation in Java. You'll then explore cloud-native architectures and best practices for enhancing existing applications to better suit a cloud-enabled world. Later, the book highlights some cross-cutting concerns and the importance of monitoring and tracing for planning the evolution of the software, foreseeing predictable maintenance, and troubleshooting. The book concludes with an analysis of the current status of software architectures in Java programming and offers insights into transforming your architecture to reduce technical debt.
👍1
👋 Мы — команда айтишников. В текущих условиях компания не может работать как работала, и мы решили переехать всей командой.
💬 Создали канал для таких же, как мы, — тех, кто хочет уехать. Собираем всё самое полезное про релокацию. Рассказываем, с чем столкнулись сами, ищем лайфхаки и способы похачить систему (например, нашли несколько способов, как жить за границей на рубли).
👨💻 А вообще, мы HR-IT-чувачки (то есть без лишней скромности профи в сфере трудоустройства) и сейчас готовим новый проект: будем помогать айтишникам организовать переезд и устроиться на работу в валюте. И ещё сверху грант будем давать💰
👉 Что для этого нужно? Пока что — присоединиться к каналу RelocationDev и следить за новостями😉 Скоро обо всём расскажем — в мельчайших подробностях.
💬 Создали канал для таких же, как мы, — тех, кто хочет уехать. Собираем всё самое полезное про релокацию. Рассказываем, с чем столкнулись сами, ищем лайфхаки и способы похачить систему (например, нашли несколько способов, как жить за границей на рубли).
👨💻 А вообще, мы HR-IT-чувачки (то есть без лишней скромности профи в сфере трудоустройства) и сейчас готовим новый проект: будем помогать айтишникам организовать переезд и устроиться на работу в валюте. И ещё сверху грант будем давать💰
👉 Что для этого нужно? Пока что — присоединиться к каналу RelocationDev и следить за новостями😉 Скоро обо всём расскажем — в мельчайших подробностях.
Настройка VS Code для разработки на Java
В документах VS Code есть руководство по Java , которое охватывает все сверху донизу. Я расскажу, как прошел процесс настройки, с некоторыми пояснениями, удобными для начинающих, и посмотрю, как VS Code работает с приложениями Spring Boot. https://shly.link/dev0RXs
В документах VS Code есть руководство по Java , которое охватывает все сверху донизу. Я расскажу, как прошел процесс настройки, с некоторыми пояснениями, удобными для начинающих, и посмотрю, как VS Code работает с приложениями Spring Boot. https://shly.link/dev0RXs
Security Warning: Your Java Attack Surface Just Got Bigger (Brian Vermeer)
Атака на облачные Java-приложения и их защита
Доклад на Английском!
Создание облачных Java-приложений сопряжено с рисками, связанных с использованием внешних библиотек, что в итоге может привести к уязвимостям в вашем коде.
В приведенном докладе рассказывается о распространенных угрозах, включая недавно обнаруженные проблемы в Log4j. Самое главное, вы узнаете, как защитить свое приложение.
https://youtu.be/YXJyZ4tIE6Y
Атака на облачные Java-приложения и их защита
Доклад на Английском!
Создание облачных Java-приложений сопряжено с рисками, связанных с использованием внешних библиотек, что в итоге может привести к уязвимостям в вашем коде.
В приведенном докладе рассказывается о распространенных угрозах, включая недавно обнаруженные проблемы в Log4j. Самое главное, вы узнаете, как защитить свое приложение.
https://youtu.be/YXJyZ4tIE6Y
YouTube
Security Warning: Your Java Attack Surface Just Got Bigger (Brian Vermeer)
Building cloud-native Java applications is undoubtedly awesome.
However, it comes with undeniable new risks. Next to your own code, you are relying on so many other things.
Blindly depending on open-source libraries and Docker images can form a massive…
However, it comes with undeniable new risks. Next to your own code, you are relying on so many other things.
Blindly depending on open-source libraries and Docker images can form a massive…
Руководство программиста по сниппетам
JEP 413 добавляет функцию JavaDoc для улучшения поддержки примеров кода в документации API для JDK 18 и более поздних версий. Это руководство содержит информацию о том, как использовать эту функцию, используя ряд простых примеров. https://shly.link/8nsd1
JEP 413 добавляет функцию JavaDoc для улучшения поддержки примеров кода в документации API для JDK 18 и более поздних версий. Это руководство содержит информацию о том, как использовать эту функцию, используя ряд простых примеров. https://shly.link/8nsd1
Oracle
Programmer's Guide to Snippets
Вышла Java 18
Вышла общедоступная версия Java 18. В этот релиз попало более 2000 закрытых задач и 9 JEP'ов.
https://shly.link/habrs6zS
Вышла общедоступная версия Java 18. В этот релиз попало более 2000 закрытых задач и 9 JEP'ов.
https://shly.link/habrs6zS
Habr
Вышла Java 18
Вышла общедоступная версия Java 18. В этот релиз попало более 2000 закрытых задач и 9 JEP'ов. Release Notes можно посмотреть здесь. Изменения API можно посмотреть по этой ссылке.
Ссылки на...
Ссылки на...
5 вещей, которые вы, вероятно, не знали о параллелизме в Java
В то время как потоки полезны, они ужасны для многих разработчиков. Вот пять интересных концепций многопоточности для начинающих и средних разработчиков.
https://shly.link/yRMFo
В то время как потоки полезны, они ужасны для многих разработчиков. Вот пять интересных концепций многопоточности для начинающих и средних разработчиков.
https://shly.link/yRMFo
DZone
5 Things You Probably Didn't Know About Java Concurrency
While threads are helpful, they may be dreadful to many developers. Discover 5 interesting threading concepts beginner and intermediate developers may not know.
Не можете продлить нужный сервис, оплатить хостинг или получить деньги из-за рубежа?
Ребята из rk.finaxe.ru тоже столкнулись с данной проблемой и запустили сервис, в котором граждане РФ могут оформить онлайн карту Visa или Mastercard в банке Казахстана.
Для чего это нужно:
— Оплата любых зарубежных сервисов и покупок
— Получение денег из-за рубежа
— Использование в путешествиях
Весь процесс проходит онлайн, от вас потребуется только загранпаспорт, даже вставать с дивана не понадобится!
Оформить заявку и ознакомиться с FAQ можно в боте:
https://t.me/Robokazakh_bot
Ребята из rk.finaxe.ru тоже столкнулись с данной проблемой и запустили сервис, в котором граждане РФ могут оформить онлайн карту Visa или Mastercard в банке Казахстана.
Для чего это нужно:
— Оплата любых зарубежных сервисов и покупок
— Получение денег из-за рубежа
— Использование в путешествиях
Весь процесс проходит онлайн, от вас потребуется только загранпаспорт, даже вставать с дивана не понадобится!
Оформить заявку и ознакомиться с FAQ можно в боте:
https://t.me/Robokazakh_bot
Функциональный интерфейс, подробно описанный в Java 8
В этой статье рассмотрим функциональный интерфейс, представленный в Java 8.
https://shly.link/L3C6n
В этой статье рассмотрим функциональный интерфейс, представленный в Java 8.
https://shly.link/L3C6n
dzone.com
Functional Interface Explained in Detail - DZone Java
In this article, explore functional interface introduced in Java 8.
Spring4Shell: уязвимость ядра Spring RCE
В конце 2021 года Интернет был взорван из-за падения Zero-day, уязвимости удаленного выполнения кода, также известной как Log4Shell , в Apache Log4j2. Уязвимость была обнаружена командой безопасности Alibaba Cloud.
Сегодня исследователи обнаружили еще одну уязвимость, которая может нанести серьезный ущерб множеству приложений. На данный момент для этой уязвимости нет идентификатора CVE, но мы можем назвать ее Spring4Shell . Уязвимость существует в ядре Spring с версией JDK выше или равной 9.0. https://shly.link/AXPJY
В конце 2021 года Интернет был взорван из-за падения Zero-day, уязвимости удаленного выполнения кода, также известной как Log4Shell , в Apache Log4j2. Уязвимость была обнаружена командой безопасности Alibaba Cloud.
Сегодня исследователи обнаружили еще одну уязвимость, которая может нанести серьезный ущерб множеству приложений. На данный момент для этой уязвимости нет идентификатора CVE, но мы можем назвать ее Spring4Shell . Уязвимость существует в ядре Spring с версией JDK выше или равной 9.0. https://shly.link/AXPJY
Cyber Kendra
SpringShell: Spring Core RCE 0-day Vulnerability
Spring4Shell: Spring core RCE vulnerability
👍3
Введение в парсинг веб-страниц с помощью Java
Есть ли веб-сайт, с которого вы хотели бы регулярно получать данные в структурированном виде, но этот сайт еще не предлагает стандартизированный API, такой как интерфейс JSON REST? Не волнуйтесь, на помощь приходит парсинг
https://shly.link/ohacS
Есть ли веб-сайт, с которого вы хотели бы регулярно получать данные в структурированном виде, но этот сайт еще не предлагает стандартизированный API, такой как интерфейс JSON REST? Не волнуйтесь, на помощь приходит парсинг
https://shly.link/ohacS
Scrapingbee
Introduction to Web Scraping With Java | ScrapingBee
This article will show you the setup to start web scraping with Java. It will teach you the basic techniques to fetch and parse data with Java and htmlUnit.
Для чего используется оператор assert?
Assert (Утверждение) — это специальная конструкция, позволяющая проверять предположения о значениях произвольных данных в произвольном месте программы. Утверждение может автоматически сигнализировать об обнаружении некорректных данных, что обычно приводит к аварийному завершению программы с указанием места обнаружения некорректных данных.
Утверждения существенно упрощают локализацию ошибок в коде. Даже проверка результатов выполнения очевидного кода может оказаться полезной при последующем рефакторинге, после которого код может стать не настолько очевидным и в него может закрасться ошибка.
Обычно утверждения оставляют включенными во время разработки и тестирования программ, но отключают в релиз-версиях программ.
Т.к. утверждения могут быть удалены на этапе компиляции либо во время исполнения программы, они не должны менять поведение программы. Если в результате удаления утверждения поведение программы может измениться, то это явный признак неправильного использования assert. Таким образом, внутри assert нельзя вызывать методы, изменяющие состояние программы, либо внешнего окружения программы.
В Java проверка утверждений реализована с помощью оператора
Assert (Утверждение) — это специальная конструкция, позволяющая проверять предположения о значениях произвольных данных в произвольном месте программы. Утверждение может автоматически сигнализировать об обнаружении некорректных данных, что обычно приводит к аварийному завершению программы с указанием места обнаружения некорректных данных.
Утверждения существенно упрощают локализацию ошибок в коде. Даже проверка результатов выполнения очевидного кода может оказаться полезной при последующем рефакторинге, после которого код может стать не настолько очевидным и в него может закрасться ошибка.
Обычно утверждения оставляют включенными во время разработки и тестирования программ, но отключают в релиз-версиях программ.
Т.к. утверждения могут быть удалены на этапе компиляции либо во время исполнения программы, они не должны менять поведение программы. Если в результате удаления утверждения поведение программы может измениться, то это явный признак неправильного использования assert. Таким образом, внутри assert нельзя вызывать методы, изменяющие состояние программы, либо внешнего окружения программы.
В Java проверка утверждений реализована с помощью оператора
assert
, который имеет форму: [Выражение типа boolean];
или assert [Выражение типа boolean] : [Выражение любого типа, кроме void];
Во время выполнения программы в том случае, если поверка утверждений включена, вычисляется значение булевского выражения, и если его результат false
, то генерируется исключение java.lang.AssertionError
. В случае использования второй формы оператора assert выражение после двоеточия задаёт детальное сообщение о произошедшей ошибке (вычисленное выражение будет преобразовано в строку и передано конструктору AssertionError
).Spring Boot 2.6.6 уже доступен
Версия Spring Framework в этом выпуске включает исправление для CVE-2022-22965 .
https://shly.link/98fJZ
Версия Spring Framework в этом выпуске включает исправление для CVE-2022-22965 .
https://shly.link/98fJZ
spring.io
Spring Boot 2.6.6 available now
<p>On behalf of the team and everyone who has contributed, I’m happy to announce that Spring Boot <code>2.6.6</code> has been released and is now available from Maven Central.</p>
<p>The Spring Framework version in this release includes a fix for <a href…
<p>The Spring Framework version in this release includes a fix for <a href…
👍3
how-build-android-apps-kotlin.pdf
21.1 MB
How to Build Android Apps with Kotlin
Автор: Alex Forrester, Eran Boudjnah, Alexandru Dumbravan, Jomar Tigcal
Год издания: 2021
What you will learn
Create maintainable and scalable apps using Kotlin
Understand the Android development lifecycle
Simplify app development with Google architecture components
Use standard libraries for dependency injection and data parsing
Apply the repository pattern to retrieve data from outside sources
Publish your app on the Google Play store
Автор: Alex Forrester, Eran Boudjnah, Alexandru Dumbravan, Jomar Tigcal
Год издания: 2021
What you will learn
Create maintainable and scalable apps using Kotlin
Understand the Android development lifecycle
Simplify app development with Google architecture components
Use standard libraries for dependency injection and data parsing
Apply the repository pattern to retrieve data from outside sources
Publish your app on the Google Play store
Оптимизация производительности функции AWS Lambda для Java
В этом посте показано, как оптимизировать производительность функций AWS Lambda , написанных на Java, без изменения кода функции. https://shly.link/1Fny6
В этом посте показано, как оптимизировать производительность функций AWS Lambda , написанных на Java, без изменения кода функции. https://shly.link/1Fny6
Amazon
Optimizing AWS Lambda function performance for Java | Amazon Web Services
This post is written by Mark Sailes, Senior Specialist Solutions Architect. This blog post shows how to optimize the performance of AWS Lambda functions written in Java, without altering any of the function code. It shows how Java virtual machine (JVM) settings…