The JVM needs access to the symbol names, for a number of reasons, including the following.
- The JVM uses symbol names to find classes, methods and so on.
- The presence of symbol names enables us to write code that uses reflection.
- Symbol names appear in stack traces when an exception is thrown.
So the symbol names need to be stored in the class path.