Сила Java 21! 🚀
Приготовьтесь к невероятным изменениям, Java 20 заложила основу для революционных улучшений, и теперь пришло время рассказать, что приготовила для нас Java 21. https://theankitdabhi.medium.com/power-of-java-21-819ca7cf32a1
Приготовьтесь к невероятным изменениям, Java 20 заложила основу для революционных улучшений, и теперь пришло время рассказать, что приготовила для нас Java 21. https://theankitdabhi.medium.com/power-of-java-21-819ca7cf32a1
Medium
Power of Java 21! 🚀
Prepare for some incredible changes, Java 20 has laid the groundwork for revolutionary improvements, and now it’s time to unveil what Java…
Подводные камни, которых следует избегать при переключении на виртуальные потоки
В этом посте давайте узнаем о ловушках, которых следует избегать при переключении с потоков платформы Java на виртуальные потоки:
1. Избегайте синхронизированных блоков/методов
2. Избегайте пулов потоков, чтобы ограничить доступ к ресурсам
3. Уменьшите использование ThreadLocal
https://blog.fastthread.io/2023/02/28/pitfalls-to-avoid-when-switching-to-virtual-threads/
В этом посте давайте узнаем о ловушках, которых следует избегать при переключении с потоков платформы Java на виртуальные потоки:
1. Избегайте синхронизированных блоков/методов
2. Избегайте пулов потоков, чтобы ограничить доступ к ресурсам
3. Уменьшите использование ThreadLocal
https://blog.fastthread.io/2023/02/28/pitfalls-to-avoid-when-switching-to-virtual-threads/
Fast thread
Pitfalls to avoid when switching to Virtual threads
Java virtual thread is a new feature available from JDK 19. It has potential to improve the application’s availability, throughput and code quality on top of reducing memory consumption. If you are…
Bazel — это проект с открытым исходным кодом, изначально созданный Google, доработанный и протестированный в течение многих лет для запуска ресурсоемких, критически важных сервисов и приложений. Это отличный выбор для создания и тестирования проектов. Усовершенствованное выполнение распределенного кэширования Bazel создает быстрые добавочные и настраиваемые сборки, перестраивая только то, что необходимо. Он работает на нескольких языках и платформах, таких как Java, Go и JavaScript, а также в операционных системах, таких как IOS, Android, Linux и Windows.
Bazel автоматизирует сборку и тестирование программного обеспечения для таких задач, как запуск компиляторов и компоновщиков для создания исполняемых программ и библиотек, таких как преобразование файла JAVA в исполняемый файл JAR. Bazel можно сравнить с такими инструментами, как Apache Maven , Apache Ant , GNU Make или Gradle , но он превосходит всех благодаря многоязычной и мультиплатформенной поддержке.
https://github.com/bazelbuild/bazel/
Bazel автоматизирует сборку и тестирование программного обеспечения для таких задач, как запуск компиляторов и компоновщиков для создания исполняемых программ и библиотек, таких как преобразование файла JAVA в исполняемый файл JAR. Bazel можно сравнить с такими инструментами, как Apache Maven , Apache Ant , GNU Make или Gradle , но он превосходит всех благодаря многоязычной и мультиплатформенной поддержке.
https://github.com/bazelbuild/bazel/
GitHub
GitHub - bazelbuild/bazel: a fast, scalable, multi-language and extensible build system
a fast, scalable, multi-language and extensible build system - bazelbuild/bazel
Изучение интригующих дополнений Java 21: открытие новых функций (часть 1)
В Java 21 будет представлено несколько интригующих дополнений, расширяющих возможности языка.
В этой статье мы обсудим несколько примечательных особенностей, а также дадим обзор их функциональных возможностей и потенциальных вариантов использования.
https://foojay.io/today/exploring-java-21s-intriguing-additions-unveiling-new-features-part-1/
В Java 21 будет представлено несколько интригующих дополнений, расширяющих возможности языка.
В этой статье мы обсудим несколько примечательных особенностей, а также дадим обзор их функциональных возможностей и потенциальных вариантов использования.
https://foojay.io/today/exploring-java-21s-intriguing-additions-unveiling-new-features-part-1/
foojay
Exploring Java 21's Intriguing Additions (Part 1)
Learn about a few notable features that stand out in the upcoming Java 21, in an overview of their functionalities and potential use cases.
👍3
Java versus Go
Разработчики могут выбирать из множества языков программирования, каждый из которых имеет свой уникальный набор функций, сильных и слабых сторон. Два из этих вариантов включают Java и Golang. В этом руководстве мы рассмотрим каждый из этих языков и изучим, чем они отличаются друг от друга, чтобы помочь вам выбрать правильный вариант для вашего программного проекта или карьеры. https://www.developer.com/java/java-versus-go/
Разработчики могут выбирать из множества языков программирования, каждый из которых имеет свой уникальный набор функций, сильных и слабых сторон. Два из этих вариантов включают Java и Golang. В этом руководстве мы рассмотрим каждый из этих языков и изучим, чем они отличаются друг от друга, чтобы помочь вам выбрать правильный вариант для вашего программного проекта или карьеры. https://www.developer.com/java/java-versus-go/
Все плохое в Java хорошо для вас
Одна из моих любимых вещей в Java — это ее тенденция двигаться медленно и обдуманно. Он не дает нам сразу то, что мы хотим. Команда Java понимает требования и изучает другие реализации, а затем учится на них.
Я бы сказал, что движущая философия Java заключается в том, что ранняя пташка проглатывается змеей.
https://dev.to/codenameone/everything-bad-in-java-is-good-for-you-3fhd
Одна из моих любимых вещей в Java — это ее тенденция двигаться медленно и обдуманно. Он не дает нам сразу то, что мы хотим. Команда Java понимает требования и изучает другие реализации, а затем учится на них.
Я бы сказал, что движущая философия Java заключается в том, что ранняя пташка проглатывается змеей.
https://dev.to/codenameone/everything-bad-in-java-is-good-for-you-3fhd
🔥2👍1
Управление Java-приложениями на базе ИИ с помощью API Management
https://dev.to/apisix/managing-ai-powered-java-app-with-api-management-12d1
https://dev.to/apisix/managing-ai-powered-java-app-with-api-management-12d1
DEV Community
Managing AI-powered Java App With API Management
In this article, we will explore how to integrate OpenAI's ChatGPT APIs with a Spring Boot...
Как конвертировать документы Excel и CSV в HTML на Java
Преобразование документов в HTML делает их универсально совместимыми и открывает возможности для их настройки с помощью динамических элементов.
https://dzone.com/articles/how-to-convert-excel-and-csv-documents-to-html-in
Преобразование документов в HTML делает их универсально совместимыми и открывает возможности для их настройки с помощью динамических элементов.
https://dzone.com/articles/how-to-convert-excel-and-csv-documents-to-html-in
DZone
How to Convert Excel and CSV Documents to HTML in Java
Converting documents to HTML makes them universally compatible and opens up opportunities to customize them with dynamic elements.
👎3
Интересная ошибка параллелизма
Ошибки параллелизма - это, пожалуй, самый коварный вид ошибок 1. Они коварны, непостоянны, их трудно воспроизвести, и они любят заявлять о себе только тогда и там, где вы меньше всего ожидаете (обычно в процессе производства). Однако это только делает их еще более интересными! Добавьте к этому чувство победы, которое вы испытываете, когда ловите и разгадываете одну из них. Итак, давайте посмотрим, как я это сделал ;).
https://mizosoft.github.io/2023/06/22/an-interesting-concurrency-bug.html
Ошибки параллелизма - это, пожалуй, самый коварный вид ошибок 1. Они коварны, непостоянны, их трудно воспроизвести, и они любят заявлять о себе только тогда и там, где вы меньше всего ожидаете (обычно в процессе производства). Однако это только делает их еще более интересными! Добавьте к этому чувство победы, которое вы испытываете, когда ловите и разгадываете одну из них. Итак, давайте посмотрим, как я это сделал ;).
https://mizosoft.github.io/2023/06/22/an-interesting-concurrency-bug.html
Умная пакетная обработка в Java
В этом уроке мы разберемся с шаблоном интеллектуальной пакетной обработки. Сначала мы рассмотрим микропакетную обработку и ее плюсы и минусы, а затем посмотрим, как интеллектуальная пакетная обработка может облегчить ее проблемы. Мы также рассмотрим несколько примеров обоих шаблонов с использованием простых структур данных Java. https://www.baeldung.com/java-smart-batching
Все о загрузчиках классов Java
Вот краткий обзор трех типов загрузчиков классов и всего, что вам нужно знать для работы с ними в ваших программах на Java. https://www.infoworld.com/article/3700054/all-about-java-class-loaders.html#tk.rss_java
Java в Visual Studio Code — июнь 2023 г.
https://devblogs.microsoft.com/java/java-on-visual-studio-code-june-2023/
В этом уроке мы разберемся с шаблоном интеллектуальной пакетной обработки. Сначала мы рассмотрим микропакетную обработку и ее плюсы и минусы, а затем посмотрим, как интеллектуальная пакетная обработка может облегчить ее проблемы. Мы также рассмотрим несколько примеров обоих шаблонов с использованием простых структур данных Java. https://www.baeldung.com/java-smart-batching
Все о загрузчиках классов Java
Вот краткий обзор трех типов загрузчиков классов и всего, что вам нужно знать для работы с ними в ваших программах на Java. https://www.infoworld.com/article/3700054/all-about-java-class-loaders.html#tk.rss_java
Java в Visual Studio Code — июнь 2023 г.
https://devblogs.microsoft.com/java/java-on-visual-studio-code-june-2023/
Baeldung
Smart Batching in Java | Baeldung
Learn about task batching techniques in Java and understand how the smart batching technique can help address the shortcomings of micro batching.
Как я удалил более 1000 строк кода с помощью Spring Retry
https://levelup.gitconnected.com/how-i-deleted-more-than-1000-lines-of-code-using-spring-retry-9118de29060
Развертывание приложения Spring Boot на K8S 🌻
https://medium.com/@rajani103/deploying-spring-boot-application-on-k8s-25d64c218def
https://levelup.gitconnected.com/how-i-deleted-more-than-1000-lines-of-code-using-spring-retry-9118de29060
Развертывание приложения Spring Boot на K8S 🌻
https://medium.com/@rajani103/deploying-spring-boot-application-on-k8s-25d64c218def
Medium
How I deleted more than 1000 lines of code using Spring Retry
Comprehensive guide to refactor code using Spring Retry
Три способа локального запуска Java с помощью HTTPS
Если вы разрабатываете веб-приложение, скорее всего, вы хотите, чтобы среда разработки была как можно ближе к рабочей среде. Одним из часто упускаемых из виду различий между локальными серверами разработки и рабочими серверами является использование безопасности транспортного уровня (TLS) или защищенного протокола передачи гипертекста (HTTPS). В этом посте я расскажу о трех различных вариантах быстрого запуска вашего локального Java-приложения с TLS!
https://developer.okta.com/blog/2022/01/31/local-https-java
Если вы разрабатываете веб-приложение, скорее всего, вы хотите, чтобы среда разработки была как можно ближе к рабочей среде. Одним из часто упускаемых из виду различий между локальными серверами разработки и рабочими серверами является использование безопасности транспортного уровня (TLS) или защищенного протокола передачи гипертекста (HTTPS). В этом посте я расскажу о трех различных вариантах быстрого запуска вашего локального Java-приложения с TLS!
https://developer.okta.com/blog/2022/01/31/local-https-java
Checkstyle — это инструмент разработки, помогающий программистам писать код Java, соответствующий стандарту кодирования.
https://github.com/checkstyle/checkstyle
https://github.com/checkstyle/checkstyle
GitHub
GitHub - checkstyle/checkstyle: Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard.…
Checkstyle is a development tool to help programmers write Java code that adheres to a coding standard. By default it supports the Google Java Style Guide and Sun Code Conventions, but is highly co...
Строка в массив в Java — как преобразовать строки в массивы
Эта статья познакомит вас с различными методами Java для преобразования строк в массивы. При рассмотрении нескольких стратегий мы обсудим их синтаксис, применение, преимущества и недостатки. Знание того, как использовать эти методы, позволит вам выбрать тот, который лучше всего соответствует вашим требованиям к программированию.
https://www.freecodecamp.org/news/string-to-array-in-java-how-to-convert-a-string-to-an-array-in-java/
Эта статья познакомит вас с различными методами Java для преобразования строк в массивы. При рассмотрении нескольких стратегий мы обсудим их синтаксис, применение, преимущества и недостатки. Знание того, как использовать эти методы, позволит вам выбрать тот, который лучше всего соответствует вашим требованиям к программированию.
https://www.freecodecamp.org/news/string-to-array-in-java-how-to-convert-a-string-to-an-array-in-java/
Распараллелить цикл for в Java
Иногда нам может понадобиться обработать большое количество элементов в цикле for . Выполнение этого последовательно может занять много времени и привести к недостаточному использованию системы.
В этом руководстве мы изучим различные способы распараллеливания цикла for в Java для повышения производительности приложения в таких случаях. https://www.baeldung.com/java-for-loop-parallel
Иногда нам может понадобиться обработать большое количество элементов в цикле for . Выполнение этого последовательно может занять много времени и привести к недостаточному использованию системы.
В этом руководстве мы изучим различные способы распараллеливания цикла for в Java для повышения производительности приложения в таких случаях. https://www.baeldung.com/java-for-loop-parallel
Baeldung
Parallelize for Loop in Java | Baeldung
Learn different ways to parallelize a for loop in Java.
👍1
Потоковая обработка данных с помощью Kafka Streams: архитектура и ключевые концепции.
При реализации потоковой обработки и анализа данных может возникнуть необходимость агрегирования записей для объединения нескольких независимых поток данных или обогащения какой-либо модели данных. Для этой цели может использоваться Kafka Streams, которая позволяет выполнять обработку данных в режиме реального времени.
В этой статье мы рассмотрим основные компоненты Kafka Streams и теоретические аспекты их использования. Мы будем использовать последние версии технологий, доступных на сегодня: Kafka 3.4.0 и Java 17 в качестве языка программированию. Для снижения входного порога мы будем использовать только нативные возможности Kafka и Kafka Streams, и не будем рассматривать решения с использованием различных фреймворков вроде Spring.
Читать далее https://habr.com/ru/articles/747658/
При реализации потоковой обработки и анализа данных может возникнуть необходимость агрегирования записей для объединения нескольких независимых поток данных или обогащения какой-либо модели данных. Для этой цели может использоваться Kafka Streams, которая позволяет выполнять обработку данных в режиме реального времени.
В этой статье мы рассмотрим основные компоненты Kafka Streams и теоретические аспекты их использования. Мы будем использовать последние версии технологий, доступных на сегодня: Kafka 3.4.0 и Java 17 в качестве языка программированию. Для снижения входного порога мы будем использовать только нативные возможности Kafka и Kafka Streams, и не будем рассматривать решения с использованием различных фреймворков вроде Spring.
Читать далее https://habr.com/ru/articles/747658/
Хабр
Потоковая обработка данных с помощью Kafka Streams: архитектура и ключевые концепции
При реализации потоковой обработки и анализа данных может возникнуть необходимость агрегирования записей для объединения нескольких независимых поток данных или обогащения какой-либо модели данных....
Прожарка java.lang.String.
Давайте абьюзить баг в java.lang.String, который позволит делать очень странные строки. Мы сделаем "Hello World", который не начинается с "Hello" и покажем, что не все пустые строки равны между собой. Научимся прожаривать строки в чужих классах.
Читать далее. https://habr.com/ru/companies/bar/articles/747528/
Давайте абьюзить баг в java.lang.String, который позволит делать очень странные строки. Мы сделаем "Hello World", который не начинается с "Hello" и покажем, что не все пустые строки равны между собой. Научимся прожаривать строки в чужих классах.
Читать далее. https://habr.com/ru/companies/bar/articles/747528/
Хабр
Прожарка java.lang.String
Давайте абьюзить баг в java.lang.String , который позволит делать очень странные строки. Мы сделаем "Hello World", который не начинается с "Hello" и покажем, что не все пустые строки...
Интерактивное руководство по изучению Java
Пошаговое руководство, как стать Java-разработчиком в 2023 году
https://roadmap.sh/java
Пошаговое руководство, как стать Java-разработчиком в 2023 году
https://roadmap.sh/java
roadmap.sh
Learn to become a modern Java developer
Community driven, articles, resources, guides, interview questions, quizzes for java development. Learn to become a modern Java developer by following the steps, skills, resources and guides listed in this roadmap.
Могут ли потоки заменить циклы в Java?
Выпуск Java 8 стал знаменательным событием в истории Java. Были введены потоки и лямбда-выражения, и теперь они широко используются. Если вы не знаете о Streams или никогда о нем не слышали, ничего страшного. В большинстве случаев циклы удовлетворят ваши потребности, и у вас не возникнет проблем без потоков.
Тогда зачем нам Streams? Могут ли они заменить или иметь преимущества перед циклами? В этой статье мы рассмотрим код, сравним производительность и посмотрим, насколько хороши потоки в качестве замены циклов. https://medium.com/better-programming/can-streams-replace-loops-in-java-f56d4461743a
Выпуск Java 8 стал знаменательным событием в истории Java. Были введены потоки и лямбда-выражения, и теперь они широко используются. Если вы не знаете о Streams или никогда о нем не слышали, ничего страшного. В большинстве случаев циклы удовлетворят ваши потребности, и у вас не возникнет проблем без потоков.
Тогда зачем нам Streams? Могут ли они заменить или иметь преимущества перед циклами? В этой статье мы рассмотрим код, сравним производительность и посмотрим, насколько хороши потоки в качестве замены циклов. https://medium.com/better-programming/can-streams-replace-loops-in-java-f56d4461743a
Medium
Can Streams Replace Loops in Java?
Code readability, performance, and limitations of Streams