"Finally synchronization no longer pins carrier threads! But there are still two cases where carrier threads can effectively be pinned: native calls, and file IO"
"To make the most of AOT caching: make sure your training run matches production settings, including the same JDK version, class paths, and module configurations; limit the training run to scenarios that load only necessary classes; avoid large tests or unused classes in the training run that may bloat the cache size with unnecessary classes; mock external dependencies in the training run (like databases or network calls) to prevent loading additional classes that are not needed in production"