В настоящее время я работаю над библиотекой, которая пытается определить, применима ли данная оптимизация в текущей JVM или нет (некоторые виртуальные машины не поддерживают эту функцию).Оптимизация может быть отключена системным свойством, но я хочу показать пользователю предупреждение, если путь оптимизации не отключен явно, но оптимизация не работает (например, возникает исключение).Все это делается в блоке static {}
- как мне это сделать?
- Печать на стандартный вывод кажется плохой, поскольку некоторые пользователи могут не иметь стандартный вывод или не хотят, чтобы он был загрязнен библиотеками.messages
- Исключение может привести к аварийному завершению работы виртуальной машины (как всегда в блоке
static
), что слишком резко, поскольку библиотека может вернуться к более медленному пути - Библиотека не используетсялюбых каркасов (Slf4J и т. д.), и я не хочу добавлять каркас только для этого сообщения.Добавление чего-то вроде каркаса журналирования в библиотеку также всегда является проблемой, поскольку оно наиболее определенно сталкивается с другими библиотеками (например, Spring), использующими разные версии одного и того же каркаса
Есть ли другой подход, который мне не хватает?