Интересная идея. Хотя, как я прочитал, он используется для обмена данными между виртуальными машинами и для ускорения загрузки классов, а не для компиляции. Я не уверен, какую выгоду вы получите, но, возможно, стоит попробовать, если у вас уже есть большое отставание при запуске (хотя виртуальная машина уже пытается уменьшить это).
Что касается того, чтобы попробовать это самостоятельно, то, похоже, этот файл обычно создается при установке Sun VM, но вы также можете управлять им. Некоторые подробности содержатся в этом более раннем документе Sun Java 5 Class Data Sharing (который вы, возможно, уже видели?). Некоторые документы Sun Java 6 также упоминают об этом несколько раз , но не добавляют много в документацию. Кажется, изначально это была функция IBM VM . И, чтобы продолжить дамп ссылки, это объясняется немного в этой статье .
Лично я не знаю много об этом, поэтому я не знаю, как вы можете это контролировать. Вы можете регенерировать его, но я не думаю, что он предназначен для того, чтобы вы добавляли нестандартные вещи. Кроме того, даже если вы можете «обмануть» его, это, вероятно, нарушит какую-либо лицензию Sun / Oracle (например, вы не можете связываться с rt.jar и распространять). И, несмотря на все сказанное, я сомневаюсь, что вы увидите серьезное улучшение времени запуска, если у вас в приложении не будет тысяч или десятков тысяч классов?
(И это не совсем ответ, я знаю, но он был слишком большим, чтобы уместиться в комментарии, и я нашел вопрос интересным, поэтому я немного исследовал и разместил здесь ссылки на случай, если кто-то найдет эту информацию полезной .)