Дамп потока — простой инструмент для отладки Java-приложений в продакшене
Мы все были там. Приложение ведет себя неправильно в производственной среде, мы понятия не имеем, что оно делает, и оно не воспроизводится ни в каких непроизводственных средах. Мы проверили журналы и другую телеметрию, но они ничего нам не говорят. Что делать?
На самом деле есть одна вещь, которую мы должны сделать перед тем, как приступить к делу (больше логирования, трассировки, профилирования и т. д.). Возьмите дамп потока. Он расскажет нам, что на самом деле делает приложение . Никакой лжи, полуправды или догадок; факты.
Этот пост в блоге объяснит основы дампа потока, как его получить и покажет пару примеров того, как могут выглядеть интересные дампы.
https://blogg.bekk.no/thread-dump-the-simple-tool-for-debugging-java-applications-in-production-1cfed0d0d120
Мы все были там. Приложение ведет себя неправильно в производственной среде, мы понятия не имеем, что оно делает, и оно не воспроизводится ни в каких непроизводственных средах. Мы проверили журналы и другую телеметрию, но они ничего нам не говорят. Что делать?
На самом деле есть одна вещь, которую мы должны сделать перед тем, как приступить к делу (больше логирования, трассировки, профилирования и т. д.). Возьмите дамп потока. Он расскажет нам, что на самом деле делает приложение . Никакой лжи, полуправды или догадок; факты.
Этот пост в блоге объяснит основы дампа потока, как его получить и покажет пару примеров того, как могут выглядеть интересные дампы.
https://blogg.bekk.no/thread-dump-the-simple-tool-for-debugging-java-applications-in-production-1cfed0d0d120
👍1
Лучшие инструменты для мобильной разработки на Java
В сегодняшнем руководстве по программированию мы рассмотрим некоторые из наиболее широко используемых инструментов Java для создания мобильных приложений. К ним относятся специализированные продукты, предназначенные исключительно для разработки мобильных приложений, а также более общие интегрированные среды разработки (IDE), которые можно использовать для создания как настольных, так и мобильных приложений.
https://www.developer.com/java/java-mobile-development-tools/
В сегодняшнем руководстве по программированию мы рассмотрим некоторые из наиболее широко используемых инструментов Java для создания мобильных приложений. К ним относятся специализированные продукты, предназначенные исключительно для разработки мобильных приложений, а также более общие интегрированные среды разработки (IDE), которые можно использовать для создания как настольных, так и мобильных приложений.
https://www.developer.com/java/java-mobile-development-tools/
Developer.com
Best Tools for Java Mobile Development | Developer.com
We highlight some of the best tools for mobile app development, targeted at Java developers. Learn about mobile app tools.
10+ основных лучших практик Java для написания высококачественного кода
В этом сообщении блога мы рассмотрим некоторые важные рекомендации по программированию на Java для опытных и новых разработчиков. Давайте сразу перейдем к списку.
https://www.c-sharpcorner.com/blogs/10-essential-java-best-practices-for-writing-highquality-code
В этом сообщении блога мы рассмотрим некоторые важные рекомендации по программированию на Java для опытных и новых разработчиков. Давайте сразу перейдем к списку.
https://www.c-sharpcorner.com/blogs/10-essential-java-best-practices-for-writing-highquality-code
C-Sharpcorner
10+ Essential Java Best Practices for Writing High-Quality Code
This blog discusses essential best practices for writing high-quality Java code. From naming conventions to exception handling, it covers key principles and techniques that can help make your Java code more efficient, readable, and maintainable. Whether you're…
❤1
AWS Lambda теперь поддерживает Java 17
https://aws.amazon.com/ru/blogs/compute/java-17-runtime-now-available-on-aws-lambda/
https://aws.amazon.com/ru/blogs/compute/java-17-runtime-now-available-on-aws-lambda/
Amazon
AWS Lambda now supports Java 17 | Amazon Web Services
This post was written by Mark Sailes, Senior Specialist Solutions Architect, Serverless. You can now develop AWS Lambda functions with the Amazon Corretto distribution of Java 17. This version of Corretto comes with long-term support (LTS), which means it…
5 удивительных Java-проектов, о которых люди не знают
Проекты различного назначения на Java, которые могут оказаться полезными для систем, которые вы создаете
Сегодня я хочу поделиться с вами списком из десяти проектов с открытым исходным кодом, написанных на Java, которые могут вас заинтересовать.
https://tomaszs2.medium.com/5-awesome-java-projects-people-dont-know-about-c23be1a151c4
Проекты различного назначения на Java, которые могут оказаться полезными для систем, которые вы создаете
Сегодня я хочу поделиться с вами списком из десяти проектов с открытым исходным кодом, написанных на Java, которые могут вас заинтересовать.
https://tomaszs2.medium.com/5-awesome-java-projects-people-dont-know-about-c23be1a151c4
☕️ 5 удивительно удобных библиотек Java
Разработчики Java имеют много замечательных инструментов, облегчающих кодирование. Они могут сопоставлять объекты, сопоставлять базы данных, создавать макеты API, работать с коллекциями и легко устанавливать соединения. Ознакомьтесь со списком из 5 замечательных библиотек Java, которые вы можете использовать уже сегодня в своем проекте.
https://tomaszs2.medium.com/5-amazingly-comfortable-java-libraries-887802e240de
Разработчики Java имеют много замечательных инструментов, облегчающих кодирование. Они могут сопоставлять объекты, сопоставлять базы данных, создавать макеты API, работать с коллекциями и легко устанавливать соединения. Ознакомьтесь со списком из 5 замечательных библиотек Java, которые вы можете использовать уже сегодня в своем проекте.
https://tomaszs2.medium.com/5-amazingly-comfortable-java-libraries-887802e240de
5 удивительных Java-проектов, о которых люди не знают, часть 3 — база данных времени, микросервисы, игра и многое другое
Я возвращаюсь с третьим выпуском удивительных Java-проектов, о которых люди не знают.
https://tomaszs2.medium.com/5-awesome-java-projects-people-dont-know-about-vol-3-time-database-microservices-a-game-and-aa31daad3ff6
Я возвращаюсь с третьим выпуском удивительных Java-проектов, о которых люди не знают.
https://tomaszs2.medium.com/5-awesome-java-projects-people-dont-know-about-vol-3-time-database-microservices-a-game-and-aa31daad3ff6
Как использовать прослушиватели мыши в Java
Java позволяет программистам прослушивать события от мыши (или аналогичного устройства, такого как сенсорная панель). Существует три различных интерфейса, которые разработчики могут реализовать для различных действий при вводе с помощью мыши. Эти интерфейсы разделены таким образом, потому что отслеживание движения мыши использует больше системных ресурсов, чем другие события мыши. В этом руководстве по программированию мы узнаем, как реализовать различные прослушиватели событий мыши в ваших графических приложениях Java.
Прежде чем мы начнем, вы можете освежить свои навыки прослушивания событий. Если это так, у нас есть отличное руководство по работе с прослушивателями событий Java, которое вы должны проверить.
https://www.developer.com/java/java-mouse-listeners/
Java позволяет программистам прослушивать события от мыши (или аналогичного устройства, такого как сенсорная панель). Существует три различных интерфейса, которые разработчики могут реализовать для различных действий при вводе с помощью мыши. Эти интерфейсы разделены таким образом, потому что отслеживание движения мыши использует больше системных ресурсов, чем другие события мыши. В этом руководстве по программированию мы узнаем, как реализовать различные прослушиватели событий мыши в ваших графических приложениях Java.
Прежде чем мы начнем, вы можете освежить свои навыки прослушивания событий. Если это так, у нас есть отличное руководство по работе с прослушивателями событий Java, которое вы должны проверить.
https://www.developer.com/java/java-mouse-listeners/
Скрытые и не очень скрытые жемчужины в Java 20
Давайте посмотрим предварительную версию и инкубатор JEP в Java 20, а также множество небольших улучшений, исправлений ошибок и устаревших версий.
https://foojay.io/today/hidden-and-not-so-hidden-gems-in-java-20/
Давайте посмотрим предварительную версию и инкубатор JEP в Java 20, а также множество небольших улучшений, исправлений ошибок и устаревших версий.
https://foojay.io/today/hidden-and-not-so-hidden-gems-in-java-20/
foojay
Hidden and Not-So-Hidden Gems In Java 20 | Foojay.io
Let's see the preview and incubator JEPs in Java 20, as well as many smaller enhancements, bug fixes, and deprecations.
👍1
Настройка производительности Java
Основные методы повышения скорости и отклика приложений
https://developeandsolve.hashnode.dev/java-performance-tuning
Основные методы повышения скорости и отклика приложений
https://developeandsolve.hashnode.dev/java-performance-tuning
☕️Освоение бэкэнд-разработки с помощью Java Spring Boot: лучшие практики и профессиональные советы
https://itznihal.medium.com/mastering-backend-development-with-java-spring-boot-best-practices-and-pro-tips-3fc0f501418e
☕️Основные методы экономии памяти для программирования на Java
https://medium.com/javarevisited/basic-memory-saving-techniques-for-java-programming-6677a7237a69
https://itznihal.medium.com/mastering-backend-development-with-java-spring-boot-best-practices-and-pro-tips-3fc0f501418e
☕️Основные методы экономии памяти для программирования на Java
https://medium.com/javarevisited/basic-memory-saving-techniques-for-java-programming-6677a7237a69
Medium
Mastering Backend Development with Java Spring Boot: Best Practices and Pro Tips
Spring Boot is a widely used and very popular enterprise-level high-performance framework. Here are some best practices and a few tips you…
👍5
Как сканировать и проверять загруженные изображения в Java
В этой статьи я продемонстрирую два простых бесплатных решения, которые могут помочь в сканировании на вирусы и проверке загружаемых файлов изображений до того, как они попадут в облачное хранилище. В обоих случаях можно эффективно использовать дополнительные, готовые к выполнению примеры кода Java для структурирования вызовов API. Эти API выполняют следующие функции соответственно:
Сканировать файлы изображений на наличие вирусов
Проверить файлы изображений
Используемые в сочетании друг с другом, оба API могут помочь гарантировать, что загружаемые изображения действительны и не содержат вирусов и вредоносных программ, что значительно снижает риски, связанные с прямой загрузкой файлов изображений.
https://dzone.com/articles/how-to-scan-and-validate-image-uploads-in-java
В этой статьи я продемонстрирую два простых бесплатных решения, которые могут помочь в сканировании на вирусы и проверке загружаемых файлов изображений до того, как они попадут в облачное хранилище. В обоих случаях можно эффективно использовать дополнительные, готовые к выполнению примеры кода Java для структурирования вызовов API. Эти API выполняют следующие функции соответственно:
Сканировать файлы изображений на наличие вирусов
Проверить файлы изображений
Используемые в сочетании друг с другом, оба API могут помочь гарантировать, что загружаемые изображения действительны и не содержат вирусов и вредоносных программ, что значительно снижает риски, связанные с прямой загрузкой файлов изображений.
https://dzone.com/articles/how-to-scan-and-validate-image-uploads-in-java
DZone
How To Scan and Validate Image Uploads in Java
This article discusses the dangers of image file uploads and presents two solutions for virus scanning and validating image files respectively.
👍3
Каково состояние экосистемы Java в 2023 году?
Язык программирования Java продолжает оставаться одной из наиболее широко используемых технологий для разработки приложений.
https://www.itprotoday.com/programming-languages/what-state-java-ecosystem-2023
Параллелизм с Kafka и Spring Boot
В этой статье вы узнаете, как настроить параллелизм для потребителей Kafka с помощью Spring Boot и Spring для Kafka. Параллелизм в Spring для Kafka тесно связан с разделами и группами потребителей Kafka. Каждый потребитель в группе потребителей может получать сообщения из нескольких разделов. В то время как потребитель внутри группы использует один поток, группа потребителей использует несколько потоков для обработки сообщений. Хотя каждый потребитель является однопоточным, обработка записей может использовать несколько потоков. Мы разберем, как этого добиться с помощью Spring Boot и Spring для Kafka.
https://piotrminkowski.com/2023/04/30/concurrency-with-kafka-and-spring-boot/
Язык программирования Java продолжает оставаться одной из наиболее широко используемых технологий для разработки приложений.
https://www.itprotoday.com/programming-languages/what-state-java-ecosystem-2023
Параллелизм с Kafka и Spring Boot
В этой статье вы узнаете, как настроить параллелизм для потребителей Kafka с помощью Spring Boot и Spring для Kafka. Параллелизм в Spring для Kafka тесно связан с разделами и группами потребителей Kafka. Каждый потребитель в группе потребителей может получать сообщения из нескольких разделов. В то время как потребитель внутри группы использует один поток, группа потребителей использует несколько потоков для обработки сообщений. Хотя каждый потребитель является однопоточным, обработка записей может использовать несколько потоков. Мы разберем, как этого добиться с помощью Spring Boot и Spring для Kafka.
https://piotrminkowski.com/2023/04/30/concurrency-with-kafka-and-spring-boot/
Piotr's TechBlog
Concurrency with Kafka and Spring Boot - Piotr's TechBlog
This article will teach you how to configure concurrency for Kafka consumers with Spring Boot and Spring for Kafka
👍2
Дайте крудошлепа
Я устроился в небольшую компанию, которая сделал круд‑приложуху на 20 таблиц типа «заметки» и активно ее продавала госорганам за невменяемый бабос.
У нас был 3(три) Т‑Р-И статуса юзера. Anonym→Logined→Phone_Confirmed. Молодой талант до меня увидел в этом граф, и написал класс на 200+ строк, реализующий алгоритм Флойда‑Уоршелла, прикрутил стейт‑машину и не найдя интересных задач, c блеском прошел собес в Яндекс и свалил.
Меня наняли сеньором, и я каюсь ничерта не понял, алгоритм прекрасно работал на первой ступени, на второй давал сбои, тоскливо погуглил этот алгоритм, стер все к черту и написал: if(status==Logined & phone!=null){status=Phone_Confirmed}.
Один коллега посмотрел на меня с немой благодарностью, а начальник офигел и сказал, что код нерасширяем и захардкожен, а тот алгоритм мог пройти за время логN через тысячу вершин и по истечению испытательного урока меня уволили нах, так как мой технический уровень не соответствовал их высоким требованиям, впрочем выдали три зарплаты и я благодарен этим людям. Мой код оставили, тот так и не смогли починить.
https://habr.com/ru/articles/733400/
Я устроился в небольшую компанию, которая сделал круд‑приложуху на 20 таблиц типа «заметки» и активно ее продавала госорганам за невменяемый бабос.
У нас был 3(три) Т‑Р-И статуса юзера. Anonym→Logined→Phone_Confirmed. Молодой талант до меня увидел в этом граф, и написал класс на 200+ строк, реализующий алгоритм Флойда‑Уоршелла, прикрутил стейт‑машину и не найдя интересных задач, c блеском прошел собес в Яндекс и свалил.
Меня наняли сеньором, и я каюсь ничерта не понял, алгоритм прекрасно работал на первой ступени, на второй давал сбои, тоскливо погуглил этот алгоритм, стер все к черту и написал: if(status==Logined & phone!=null){status=Phone_Confirmed}.
Один коллега посмотрел на меня с немой благодарностью, а начальник офигел и сказал, что код нерасширяем и захардкожен, а тот алгоритм мог пройти за время логN через тысячу вершин и по истечению испытательного урока меня уволили нах, так как мой технический уровень не соответствовал их высоким требованиям, впрочем выдали три зарплаты и я благодарен этим людям. Мой код оставили, тот так и не смогли починить.
https://habr.com/ru/articles/733400/
Хабр
Дайте крудошлепа
Я устроился в небольшую компанию, которая сделал круд‑приложуху на 20 таблиц типа «заметки» и активно ее продавала госорганам за невменяемый бабос. У нас был 3(три) Т‑Р-И...
❤6💩4
Как создавать адаптивные веб-приложения с помощью Spring Boot и React: пошаговое руководство
В этой статье мы рассмотрим, почему Spring Boot и ReactJs могут быть идеальным дуэтом для создания полнофункциональных веб-приложений, а также рассмотрим процесс создания серверного приложения Spring Boot и его интеграции с интерфейсным приложением React.
https://reflectoring.io/build-responsive-web-apps-with-springboot-and-react-tutorial/
В этой статье мы рассмотрим, почему Spring Boot и ReactJs могут быть идеальным дуэтом для создания полнофункциональных веб-приложений, а также рассмотрим процесс создания серверного приложения Spring Boot и его интеграции с интерфейсным приложением React.
https://reflectoring.io/build-responsive-web-apps-with-springboot-and-react-tutorial/
👍3
Понимание GraalVM, AOT и JIT
Вы можете использовать это руководство, чтобы понять, что такое GraalVM, как он работает и чем компиляция Just-In-Time (JIT) сравнивается с компиляцией Ahead-Of-Time (AOT).
https://www.marcobehler.com/guides/graalvm-aot-jit
Вы можете использовать это руководство, чтобы понять, что такое GraalVM, как он работает и чем компиляция Just-In-Time (JIT) сравнивается с компиляцией Ahead-Of-Time (AOT).
https://www.marcobehler.com/guides/graalvm-aot-jit
Marcobehler
Understanding GraalVM, AOT & JIT
You can use this guide to understand what GraalVM is, how it works and how Just-In-Time (JIT) compilation compares to Ahead-Of-Time (AOT) compilation).
Рабочий стол Podman для Java-разработки
Установите Podman Desktop для управления контейнерами и узнайте, как использовать его для разработки Java (Spring Boot, Quarkus, Testcontainers, Buildpacks).
https://www.thomasvitale.com/podman-desktop-for-java-development/
Установите Podman Desktop для управления контейнерами и узнайте, как использовать его для разработки Java (Spring Boot, Quarkus, Testcontainers, Buildpacks).
https://www.thomasvitale.com/podman-desktop-for-java-development/
👍1
Настройка Java-приложений для низкой задержки в Linux
этой статье мы представим некоторые подходы, которые можно использовать, когда мы хотим, чтобы наши приложения использовали системные ресурсы наиболее эффективно.
https://foojay.io/today/tuning-java-applications-for-low-latency-on-linux/
этой статье мы представим некоторые подходы, которые можно использовать, когда мы хотим, чтобы наши приложения использовали системные ресурсы наиболее эффективно.
https://foojay.io/today/tuning-java-applications-for-low-latency-on-linux/
foojay
Tuning Java Applications for Low Latency on Linux | Foojay.io
An introduction to some approaches that can be taken when we want to have our applications utilise system resources most effectively.
Spring Boot 3.1 только что был выпущен🎉
https://github.com/spring-projects/spring-boot/releases/tag/v3.1.0
https://github.com/spring-projects/spring-boot/releases/tag/v3.1.0
GitHub
Release v3.1.0 · spring-projects/spring-boot
⭐ New Features
Result from SpringApplication.from(...) may need to provide access to more details in the future #35451
Ensure that Flyway uses SLF4J by default and provide a configuration property...
Result from SpringApplication.from(...) may need to provide access to more details in the future #35451
Ensure that Flyway uses SLF4J by default and provide a configuration property...
👏2
Нюансы перегрузки и переопределения в Java
Я программирую на Java уже более полувека и думал, что освоил все аспекты перегрузки и переопределения. Только когда я начал придумывать и записывать следующие крайние случаи, я понял, что знаю их не так хорошо, как мне казалось.
В попытке придать этим нюансам игровой характер, я перечислил их ниже в виде серии головоломок. Похвально, если вы разгадаете их все, не подглядывая в ответы.
https://software.rajivprab.com/2019/08/14/nuances-of-overloading-and-overriding-in-java/
Я программирую на Java уже более полувека и думал, что освоил все аспекты перегрузки и переопределения. Только когда я начал придумывать и записывать следующие крайние случаи, я понял, что знаю их не так хорошо, как мне казалось.
В попытке придать этим нюансам игровой характер, я перечислил их ниже в виде серии головоломок. Похвально, если вы разгадаете их все, не подглядывая в ответы.
https://software.rajivprab.com/2019/08/14/nuances-of-overloading-and-overriding-in-java/
❤1👎1💩1