храни их в базе данных, выбор которой в зависимости от того что хранить и какие запросы нужно делать.
недостаток - операция записи в файл не атомарны, при многозадачной записи либо городить файловые локи либо центральный сервис, либо разделять потоки по отдельным файлам
Всякие специфичные для райдера части говорят переписаны на Kotlin.
И самое главное - протокол для общения с решарпером.
Сам котлин к JVM не привязан, тк стандартная либа написана на котлине - можно хоть в жс собрать, хоть в llvm.
Жава нужна только ради gradle.