Classpath ( de Wikipedia ):
Al igual que en el comportamiento de carga dinámico clásico, al ejecutar programas Java, la máquina virtual Java busca y carga clases de forma perezosa (carga el código de bytes de una clase solo cuando la clase se usa por primera vez). La ruta de clases le dice a Java dónde buscar en el sistema de archivos los archivos que definen estas clases.
La máquina virtual busca y carga clases en este orden:
Clases bootstrap: las clases que son fundamentales para la Plataforma Java (que comprenden las clases públicas de la Biblioteca de clases Java y las clases privadas que son necesarias para que esta biblioteca sea funcional).
clases de extensión: paquetes que están en el directorio de extensión del JRE o JDK,
jre / lib / ext / paquetes y bibliotecas definidos por el usuario
De forma predeterminada, solo se puede acceder a los paquetes de la API estándar de JDK y los paquetes de extensión sin necesidad de establecer dónde encontrarlos. La ruta de todos los paquetes y bibliotecas definidos por el usuario debe establecerse en la línea de comandos (o en el manifiesto asociado con el archivo Jar que contiene las clases).
En pocas palabras, mientras su programa se está ejecutando, la JVM carga las clases solo según sea necesario. Cuando se necesita una clase, la JVM dependerá de la ruta de clase para saber desde dónde cargar el código de bytes (es decir:.class
archivos).
La ruta de compilación , por otro lado, generalmente la usa un IDE, como Eclipse, para saber dónde buscar bibliotecas adicionales que se requieren para compilar el código fuente de un proyecto. La ruta de compilación no se usa durante el tiempo de ejecución.