Java
1.64K subscribers
223 photos
5 videos
3 files
901 links
Программирование на Java.

По всем вопросам: @un_ixtime
Download Telegram
Сила Java 21! 🚀

Приготовьтесь к невероятным изменениям, Java 20 заложила основу для революционных улучшений, и теперь пришло время рассказать, что приготовила для нас Java 21. https://theankitdabhi.medium.com/power-of-java-21-819ca7cf32a1
Подводные камни, которых следует избегать при переключении на виртуальные потоки

В этом посте давайте узнаем о ловушках, которых следует избегать при переключении с потоков платформы Java на виртуальные потоки:

1. Избегайте синхронизированных блоков/методов

2. Избегайте пулов потоков, чтобы ограничить доступ к ресурсам

3. Уменьшите использование ThreadLocal

https://blog.fastthread.io/2023/02/28/pitfalls-to-avoid-when-switching-to-virtual-threads/
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/
Изучение интригующих дополнений Java 21: открытие новых функций (часть 1)

В Java 21 будет представлено несколько интригующих дополнений, расширяющих возможности языка.

В этой статье мы обсудим несколько примечательных особенностей, а также дадим обзор их функциональных возможностей и потенциальных вариантов использования.

https://foojay.io/today/exploring-java-21s-intriguing-additions-unveiling-new-features-part-1/
👍3
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
🔥2👍1
Как конвертировать документы Excel и CSV в HTML на Java

Преобразование документов в HTML делает их универсально совместимыми и открывает возможности для их настройки с помощью динамических элементов.

https://dzone.com/articles/how-to-convert-excel-and-csv-documents-to-html-in
👎3
Интересная ошибка параллелизма


Ошибки
параллелизма - это, пожалуй, самый коварный вид ошибок 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

Если вы разрабатываете веб-приложение, скорее всего, вы хотите, чтобы среда разработки была как можно ближе к рабочей среде. Одним из часто упускаемых из виду различий между локальными серверами разработки и рабочими серверами является использование безопасности транспортного уровня (TLS) или защищенного протокола передачи гипертекста (HTTPS). В этом посте я расскажу о трех различных вариантах быстрого запуска вашего локального Java-приложения с TLS!


https://developer.okta.com/blog/2022/01/31/local-https-java
Строка в массив в 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
👍1
Потоковая обработка данных с помощью Kafka Streams: архитектура и ключевые концепции.

При реализации потоковой обработки и анализа данных может возникнуть необходимость агрегирования записей для объединения нескольких независимых поток данных или обогащения какой-либо модели данных. Для этой цели может использоваться Kafka Streams, которая позволяет выполнять обработку данных в режиме реального времени. 

В этой статье мы рассмотрим основные компоненты Kafka Streams и теоретические аспекты их использования. Мы будем использовать последние версии технологий, доступных на сегодня: Kafka 3.4.0 и Java 17 в качестве языка программированию. Для снижения входного порога мы будем использовать только нативные возможности Kafka и Kafka Streams, и не будем рассматривать решения с использованием различных фреймворков вроде Spring.

Читать далее https://habr.com/ru/articles/747658/
Прожарка java.lang.String.

Давайте абьюзить баг в java.lang.String, который позволит делать очень странные строки. Мы сделаем "Hello World", который не начинается с "Hello" и покажем, что не все пустые строки равны между собой. Научимся прожаривать строки в чужих классах.

Читать далее. https://habr.com/ru/companies/bar/articles/747528/
Могут ли потоки заменить циклы в Java?

Выпуск Java 8 стал знаменательным событием в истории Java. Были введены потоки и лямбда-выражения, и теперь они широко используются. Если вы не знаете о Streams или никогда о нем не слышали, ничего страшного. В большинстве случаев циклы удовлетворят ваши потребности, и у вас не возникнет проблем без потоков.

Тогда зачем нам Streams? Могут ли они заменить или иметь преимущества перед циклами? В этой статье мы рассмотрим код, сравним производительность и посмотрим, насколько хороши потоки в качестве замены циклов. https://medium.com/better-programming/can-streams-replace-loops-in-java-f56d4461743a