Описание тега java-21

Java 21 — это набор реализаций языка Java, который будет выпущен 19 сентября 2023 года и будет включать виртуальные потоки, упорядоченные коллекции, шаблоны записей, сопоставление шаблонов для переключателей, шаблоны строк, а также безымянные классы и переменные. Используйте этот тег только для вопросов, касающихся Java 21 и ее функций. Для общих вопросов по программированию на Java следует использовать тег [java].
2 ответа

Какой @Nullable использовать в Java (начиная с 2023/JDK21)?

По состоянию на 2023/JDK21, что@Nullableиспользовать в Java? Во многих интернет-материалах даже не упоминается, какой должен быть импорт. Итак, теперь (темная) история, в каком порядке появились эти аннотации. Я надеюсь на общий ответ и из авторитет…
06 июл '23 в 15:33
1 ответ

Сопоставитель шаблонов Java 21 и Java 17

В настоящее время я пытаюсь запустить проект с Java 21, который в настоящее время без проблем работает с Java17. Для некоторых наших шаблонов регулярных выражений есть совпадения с Java21, которые не совпадают с Java17, и наоборот. Это можно воспрои…
17 ноя '23 в 15:56
1 ответ

Сбой Corretto JDK 21 Build 35: [libjvm.so+0x840016] G1ParCopyClosure<(G1Barrier)

Вопросы Вы видели или столкнулись с ошибкой, указанной ниже? Мысли или предложения относительно того, как можно это диагностировать? Если это ошибка JDK, какие предложения, куда лучше всего об этом сообщить? Среда Corretto JDK 21, сборка 35 (также п…
26 сен '23 в 06:13
2 ответа

Когда будет вызываться случай по умолчанию в переключателе для закрытой иерархии

Учитываяsealedиерархия, как показано ниже sealed interface Shape permits Rectangle, Square record Rectangle() implements Shape record Square() implements Shape СRectangle&Squareявляются записями, это по своей сути делает всю иерархию нерасширяем…
15 ноя '23 в 11:49
0 ответов

Проблема Java 21 с DateFormat.getDateTimeInstance().format(new Date())

Это мой код import java.util.Date; import java.text.DateFormat; class DateTime { public static void main(String[] args) { String dt = DateFormat.getDateTimeInstance().format(new Date()); System.out.println(dt); } } При компиляции и выполнении с помо…
03 окт '23 в 23:14
0 ответов

Spring Boot3.1.4 Использование класса Kotlin в Java: не удается найти символ

Я рассмотрел некоторые предыдущие примеры и сказал, что Kotlin необходимо упаковывать до Java. Я внес необходимые изменения, но все равно сообщил об ошибке, в которой символ не удалось найти. Это связано с версией <?xml version="1.0" encoding="UT…
25 сен '23 в 13:10
1 ответ

Как зарегистрироваться и запустить Glassfish 7.0.9 из NetBeans 19 IDE

Я выполнил новую установку JDK 21 с установленной IDE Netbeans 19.java --versionдает результатjava 21 2023-09-19 LTS Java(TM) SE Runtime Environment (build 21+35-LTS-2513) Java HotSpot(TM) 64-Bit Server VM (build 21+35-LTS-2513, mixed mode, sharing)…
01 окт '23 в 11:52
1 ответ

Проблема IntelliJ IDEA + JDK 21 с пакетом java.util.concurrent - класс TimeUnit недоступен

У меня возникла проблема, когда я пытаюсь использовать класс TimeUnit из java.util.concurrent. Это происходит с Oracle JDK 21.0.1 (конфигурации ниже) + IntelliJ IDEA 2023.1.5 (Community Edition) - последнее обновление на текущий момент (ОБНОВЛЕНИЕ: …
1 ответ

Ошибка компиляции после обновления до JDK 21 — «NoSuchFieldError: JCImport не имеет поля-члена, подходящего JCTree»

После обновления до JDK 21 в моем проекте Spring Boot возникла следующая ошибка компиляции: Fatal error compiling: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field 'com.sun.tools.javac.tree.JCTree…
1 ответ

При каких обстоятельствах виртуальные потоки расширят количество базовых потоков-носителей?

В jep444 вижу "Реализации этих операций блокировки компенсируют захват потока ОС за счет временного расширения параллелизма планировщика". При каких обстоятельствах виртуальные потоки расширят количество базовых потоков-носителей? Можете ли вы дать …
16 ноя '23 в 03:44
0 ответов

Строковые шаблоны — это функция предварительной версии в Java 21, которая не работает с Eclipse.

У меня установлен Eclipse 2023-09. JDK-21 установлен. Установлен плагин поддержки Java 21. В Eclipse установите мой проект-> Свойства-> Компилятор Java-> Включить функции предварительного просмотра. public class StringTemplate { public stat…
08 окт '23 в 21:08
0 ответов

Несовместимые изменения в дженериках в Java 21

Кто-нибудь еще заметил изменения в дженериках Java в Java 21? Мы используем Jdbi для доступа к базе данных, и при обновлении до Java 21 что-то идет не так, потому что универсальный тип больше не может быть определен. Во время отладки я заметил, что …
16 ноя '23 в 15:21
1 ответ

Запись шаблонов в Java без экземпляра или переключателя

Шаблоны записей Java 21 обещают введение деструктуризации в язык Java. Однако, похоже, он тесно связан с сопоставлением с образцом, которое можно использовать только как часть сравнения или в операторах/выражениях. Рассмотрим следующую запись. publi…
22 сен '23 в 12:53
1 ответ

Как указать XML-элемент для классов Java Record в java17

Я использую класс Java Record 17, как я могу настроить атрибуты сериализации XML, например@XmlElement @XmlRootElement public record Person(String name, int age) { // Some record body }
13 ноя '23 в 20:33
1 ответ

JavaFX 21 Колесо прокрутки мыши движется только в одном направлении в Linux Mint 21

У меня есть приложение JavaFX для Java 8, которое отлично работает в Ubuntu и Linux Mint 21. Однако при переходе на Java 21 и JavaFX 21 я обнаружил, что колесо прокрутки мыши работает только в одном направлении. В другом сообщении на форуме я нашел …
22 ноя '23 в 11:07
0 ответов

Как запретить JRE запускать неподписанные JAR-файлы?

Мне нужно максимально заблокировать JRE. С прекращением поддержки Java Security Manager в Java 21 (насколько мне известно) нет способа заблокировать JRE для запуска только нескольких выбранных автономных JAR-файлов. Я что-то упускаю или нет возможно…
25 сен '23 в 12:40
0 ответов

Вызвано: java.lang.NoSuchFieldException: модификаторы

Я работаю над существующим старым кодом весенней загрузки при миграции/обновлении до весенней загрузки 2.7.16 и версии jdk, обновленной с 8 до 21. Я получаю эту ошибку import java.lang.reflect.Field; import java.lang.reflect.Modifier; import java.ut…
31 окт '23 в 09:42
1 ответ

Как установить Java 21 на Termux?

Итак, Java 21 уже вышла, но даже Java 20 недоступна на Termux. Есть ли какой-либо альтернативный способ использовать Java 21 на Termux или любую поддерживаемую IDE Java 21 на телефоне Android? Я попытался установить его на termux, используяpkg insta…
20 сен '23 в 18:20
0 ответов

Портируете EvoSuite на Java 17?

Есть ли вероятность того, что в планах EvoSuite будет поддержка более высоких версий Java? Меня бы интересовали Java 17 и Java 21. Я просмотрел github evosuite, в котором говорится, что он поддерживает Java 8 и 9 (хотя последняя версия выпущена в 20…
09 ноя '23 в 09:59
0 ответов

Не удалось создать производителя Kafka при отправке списка строк.

Я новичок в Kafka и пытаюсь прочитать текстовый файл и создать список строк, которые хочу отправить потребителям. Я использую Java 21 и Spring Boot 3.2.0 (SNAPSHOT). Это конфигурация производителя Kafka: @Configuration public class KafkaProducerConf…