Строка в массив в 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
Forwarded from Тестирование
Как эффективно тестировать зависящий от времени код: стратегии Unit и Spring
Изучите стратегии надежного тестирования кода, зависящего от времени, в том числе методы уменьшения ненадежности тестов и обеспечения точного управления временем в наборах тестов.
Этот пост раскрывает основную причину проблемы и, как мы увидим, представляет простое решение, которое в то же время позволяет нам писать более надежные тесты и лучше контролировать аспекты, связанные со временем, в наших приложениях Java.
https://jonasg.io/posts/how-to-effectively-test-time-dependent-code/
Изучите стратегии надежного тестирования кода, зависящего от времени, в том числе методы уменьшения ненадежности тестов и обеспечения точного управления временем в наборах тестов.
Этот пост раскрывает основную причину проблемы и, как мы увидим, представляет простое решение, которое в то же время позволяет нам писать более надежные тесты и лучше контролировать аспекты, связанные со временем, в наших приложениях Java.
https://jonasg.io/posts/how-to-effectively-test-time-dependent-code/
Spring WebFlux — одна из самых популярных сред для реактивного программирования на Java. Вот практический обзор использования WebFlux с Reactor.
https://www.infoworld.com/article/3702629/reactive-java-with-spring-webflux-and-reactor.html#tk.rss_java
В этом руководстве мы углубимся в процесс форматирования данных JSON в Java, чтобы улучшить его читабельность.
https://www.baeldung.com/java-json-pretty-print
https://www.infoworld.com/article/3702629/reactive-java-with-spring-webflux-and-reactor.html#tk.rss_java
В этом руководстве мы углубимся в процесс форматирования данных JSON в Java, чтобы улучшить его читабельность.
https://www.baeldung.com/java-json-pretty-print
InfoWorld
Reactive Java with Spring WebFlux and Reactor
Spring WebFlux is one of the most popular frameworks for reactive programming in Java. Here's a hands-on look at using WebFlux with Reactor.
В этой статье мы рассмотрим JeroMQ , чистую реализацию ZeroMQ на Java . Посмотрим, что это такое и что он может сделать для нас в наших приложениях.
ZeroMQ — это инфраструктура обмена сообщениями, которая не требует настройки каких-либо реальных инфраструктурных сервисов.
https://www.baeldung.com/java-jeromq-zeromq
ZeroMQ — это инфраструктура обмена сообщениями, которая не требует настройки каких-либо реальных инфраструктурных сервисов.
https://www.baeldung.com/java-jeromq-zeromq
Baeldung
Introduction to JeroMQ | Baeldung
A quick and practical guide to JeroMQ, a pure Java implementation of ZeroMQ.
JetBrains запускает платформу качества кода Qodana
Qodana — единственная на рынке платформа для обеспечения качества кода, которая использует проверки, встроенные в IDE JetBrains, и распространяет интеллектуальные возможности этих IDE на сервер CI. https://www.developer-tech.com/news/2023/jul/20/jetbrains-launches-code-quality-platform-qodana/
Qodana — единственная на рынке платформа для обеспечения качества кода, которая использует проверки, встроенные в IDE JetBrains, и распространяет интеллектуальные возможности этих IDE на сервер CI. https://www.developer-tech.com/news/2023/jul/20/jetbrains-launches-code-quality-platform-qodana/
Вам действительно нужны классы сущностей?
Сущности скучны, без них иногда можно сэкономить время
https://medium.com/better-programming/do-you-really-need-entity-classes-d9656534ea82
Сущности скучны, без них иногда можно сэкономить время
https://medium.com/better-programming/do-you-really-need-entity-classes-d9656534ea82
Что нового в IntelliJ IDEA 2023.2
IntelliJ IDEA 2023.2 представляет AI Assistant, чтобы улучшить вашу разработку с набором функций на основе AI. https://www.jetbrains.com/idea/whatsnew/
IntelliJ IDEA 2023.2 представляет AI Assistant, чтобы улучшить вашу разработку с набором функций на основе AI. https://www.jetbrains.com/idea/whatsnew/
JetBrains
What's New in IntelliJ IDEA
Explore IntelliJ IDEA's latest features and updates to elevate your professional Java and Kotlin development experience.
Работа со Spring boot и Apache Kafka
В современном быстро меняющемся мире компании должны быть гибкими и реагировать на меняющиеся тенденции рынка и требования клиентов. Именно здесь появляются Spring Boot и Apache Kafka, поскольку они обеспечивают мощную комбинацию для создания масштабируемых приложений в реальном времени. https://medium.com/@sergeomoffo1/working-with-spring-boot-and-apache-kafka-430877d4795d
В современном быстро меняющемся мире компании должны быть гибкими и реагировать на меняющиеся тенденции рынка и требования клиентов. Именно здесь появляются Spring Boot и Apache Kafka, поскольку они обеспечивают мощную комбинацию для создания масштабируемых приложений в реальном времени. https://medium.com/@sergeomoffo1/working-with-spring-boot-and-apache-kafka-430877d4795d
Структуры данных массива (серия из 4 частей)
1) Структура данных массива: с эскизами и примерами
2) Сильные и слабые стороны массива, алгоритмы вставки и удаления с помощью Big-O
3) Как построить структуру данных, подобную массиву?
4) Сравнение динамических массивов и традиционных массивов с иллюстрациями и примерами
1) Структура данных массива: с эскизами и примерами
2) Сильные и слабые стороны массива, алгоритмы вставки и удаления с помощью Big-O
3) Как построить структуру данных, подобную массиву?
4) Сравнение динамических массивов и традиционных массивов с иллюстрациями и примерами
DEV Community
Array Data Structure: With Sketches and Examples
Introduction Arrays are built in most programming languages. They are the most fundamental...
Разница между загрузкой и инициализацией классов в Java на любопытном примере.
Привет, сегодняшняя статья будет о некоторых тонкостях загрузки и инициализации классов и немного о производительности (совсем чуть-чуть и в самом конце).
Поводом для написания статьи стал вопрос на StackOverflow. Откройте, но не торопитесь читать ответ ;)
Читать дальше → https://habr.com/ru/articles/740156
Привет, сегодняшняя статья будет о некоторых тонкостях загрузки и инициализации классов и немного о производительности (совсем чуть-чуть и в самом конце).
Поводом для написания статьи стал вопрос на StackOverflow. Откройте, но не торопитесь читать ответ ;)
Читать дальше → https://habr.com/ru/articles/740156
Хабр
Разница между загрузкой и инициализацией классов в Java на любопытном примере
Привет, сегодняшняя статья будет о некоторых тонкостях загрузки и инициализации классов и немного о производительности (совсем чуть-чуть и в самом конце). Поводом для написания статьи стал вопрос на...
JavaDoc: добро или необходимое зло?.
При создании проекта А мы вложили много сил в JavaDoc. Многим казалось это излишним. Затем проект А заморозили и начали новый – проект Б. При этом переиспользовали много кода из проекта А, вместе с JavaDoc. Рассказ о том, принёс ли JavaDoc пользу (спойлер: да). А также немного слов о том, где усилия по JavaDoc всё-таки были избыточны.
Читать далее https://habr.com/ru/companies/X5Tech/articles/752338/
При создании проекта А мы вложили много сил в JavaDoc. Многим казалось это излишним. Затем проект А заморозили и начали новый – проект Б. При этом переиспользовали много кода из проекта А, вместе с JavaDoc. Рассказ о том, принёс ли JavaDoc пользу (спойлер: да). А также немного слов о том, где усилия по JavaDoc всё-таки были избыточны.
Читать далее https://habr.com/ru/companies/X5Tech/articles/752338/
Хабр
JavaDoc: добро или необходимое зло?
Привет! Меня зовут Андрей Костров, я старший разработчик в X5 Tech. При создании проекта А мы вложили много сил в JavaDoc. Многим казалось это излишним. Затем проект А заморозили и начали новый –...
Руководство по Hibernate 6
Hibernate 6 — это серьезная переработка самого популярного и многофункционального решения ORM в мире. Редизайн коснулся почти каждой подсистемы Hibernate, включая API, аннотации сопоставления и язык запросов. Этот новый Hibernate более мощный, более надежный и более безопасный.
С таким количеством улучшений очень трудно подытожить значение этой работы. Но выделяются следующие общие темы. Спящий режим 6:
наконец, использует достижения в реляционных базах данных за последнее десятилетие, обновляя язык запросов для поддержки множества новых конструкций в современных диалектах SQL,
демонстрирует гораздо более согласованное поведение в разных базах данных, значительно улучшая переносимость и генерируя намного более качественный DDL из диалектно-независимого кода,
улучшает отчеты об ошибках за счет более тщательной проверки запросов перед доступом к базе данных,
улучшает типобезопасность аннотаций сопоставления O/R, уточняет разделение API, SPI и внутренней реализации, а также исправляет некоторые давние архитектурные недостатки,
удаляет или осуждает устаревшие API, закладывая основу для будущей эволюции, и
гораздо лучше использует Javadoc, предоставляя разработчикам гораздо больше информации.
Hibernate 6 и Hibernate Reactive теперь являются основными компонентами Quarkus 3, самой интересной новой среды для облачной разработки на Java, а Hibernate остается предпочтительным решением для сохраняемости почти для каждой крупной платформы или сервера Java.
К сожалению, изменения в Hibernate 6 устарели, большая часть информации о Hibernate, которая доступна в книгах, сообщениях в блогах и на stackoverflow.
С другой стороны, руководство пользователя Hibernate предоставляет множество подробностей о многих аспектах Hibernate, но с таким количеством информации трудно добиться удобочитаемости.
Таким образом, это новое каноническое руководство по Hibernate. Мы не пытаемся охватить здесь все детали Hibernate, поэтому это руководство следует использовать в сочетании с обширным Javadoc , доступным для Hibernate 6. Мы также не обсуждаем язык запросов Hibernate. Таким образом, это введение следует использовать вместе с родственным документом A guide to Hibernate Query Language 6 .
https://docs.jboss.org/hibernate/orm/6.3/introduction/html_single/Hibernate_Introduction.html
Hibernate 6 — это серьезная переработка самого популярного и многофункционального решения ORM в мире. Редизайн коснулся почти каждой подсистемы Hibernate, включая API, аннотации сопоставления и язык запросов. Этот новый Hibernate более мощный, более надежный и более безопасный.
С таким количеством улучшений очень трудно подытожить значение этой работы. Но выделяются следующие общие темы. Спящий режим 6:
наконец, использует достижения в реляционных базах данных за последнее десятилетие, обновляя язык запросов для поддержки множества новых конструкций в современных диалектах SQL,
демонстрирует гораздо более согласованное поведение в разных базах данных, значительно улучшая переносимость и генерируя намного более качественный DDL из диалектно-независимого кода,
улучшает отчеты об ошибках за счет более тщательной проверки запросов перед доступом к базе данных,
улучшает типобезопасность аннотаций сопоставления O/R, уточняет разделение API, SPI и внутренней реализации, а также исправляет некоторые давние архитектурные недостатки,
удаляет или осуждает устаревшие API, закладывая основу для будущей эволюции, и
гораздо лучше использует Javadoc, предоставляя разработчикам гораздо больше информации.
Hibernate 6 и Hibernate Reactive теперь являются основными компонентами Quarkus 3, самой интересной новой среды для облачной разработки на Java, а Hibernate остается предпочтительным решением для сохраняемости почти для каждой крупной платформы или сервера Java.
К сожалению, изменения в Hibernate 6 устарели, большая часть информации о Hibernate, которая доступна в книгах, сообщениях в блогах и на stackoverflow.
С другой стороны, руководство пользователя Hibernate предоставляет множество подробностей о многих аспектах Hibernate, но с таким количеством информации трудно добиться удобочитаемости.
Таким образом, это новое каноническое руководство по Hibernate. Мы не пытаемся охватить здесь все детали Hibernate, поэтому это руководство следует использовать в сочетании с обширным Javadoc , доступным для Hibernate 6. Мы также не обсуждаем язык запросов Hibernate. Таким образом, это введение следует использовать вместе с родственным документом A guide to Hibernate Query Language 6 .
https://docs.jboss.org/hibernate/orm/6.3/introduction/html_single/Hibernate_Introduction.html
👍4👎1
Принципы проектирования SOLID
SOLID: принцип единой ответственности с примерами
https://dev.to/ggorantala/solid-single-responsibility-principle-with-examples-h0f
Что такое принципы проектирования SOLID https://dev.to/ggorantala/what-are-solid-design-principles-1n22
SOLID: принцип единой ответственности с примерами
https://dev.to/ggorantala/solid-single-responsibility-principle-with-examples-h0f
Что такое принципы проектирования SOLID https://dev.to/ggorantala/what-are-solid-design-principles-1n22
👍3
Исчерпывающее руководство по одномерным массивам в Java
Для хранения данных, используемых при работе программы, применяются переменные того или иного типа. Например, если требуется сохранить имя игрока, то создается переменная String name, если целочисленное значение, то int number и т. д. Когда таких значений немного или их количество заранее известно, то для них приемлемо использовать отдельные переменные.
Но что делать, когда в программе задействовано не одно, а 10 чисел, или их количество становится известно только на этапе запуска приложения, когда пользователь вводит его с клавиатуры? Или в какой-то игре может участвовать разное количество игроков, устанавливаемое при ее старте. В таких ситуациях отдельными переменными уже не обойтись, т. к. их точное количество будет невозможно определить. Да и, если все же попытаться это сделать, код станет громоздким и не универсальным, а работа с ним будет крайне ограниченной из-за невозможности использования цикла для автоматизированной обработки данных.
Вот тут-то и приходит на выручку такая структура данных как массив, которая позволяет хранить в себе значения одного типа, что значительно упрощает их обработку. https://habr.com/ru/articles/753638/
Для хранения данных, используемых при работе программы, применяются переменные того или иного типа. Например, если требуется сохранить имя игрока, то создается переменная String name, если целочисленное значение, то int number и т. д. Когда таких значений немного или их количество заранее известно, то для них приемлемо использовать отдельные переменные.
Но что делать, когда в программе задействовано не одно, а 10 чисел, или их количество становится известно только на этапе запуска приложения, когда пользователь вводит его с клавиатуры? Или в какой-то игре может участвовать разное количество игроков, устанавливаемое при ее старте. В таких ситуациях отдельными переменными уже не обойтись, т. к. их точное количество будет невозможно определить. Да и, если все же попытаться это сделать, код станет громоздким и не универсальным, а работа с ним будет крайне ограниченной из-за невозможности использования цикла для автоматизированной обработки данных.
Вот тут-то и приходит на выручку такая структура данных как массив, которая позволяет хранить в себе значения одного типа, что значительно упрощает их обработку. https://habr.com/ru/articles/753638/
👍2