Respuestas Entrega Variables de Entorno y Java PDF
Document Details
Uploaded by Deleted User
Universidad de Salamanca
Tags
Summary
This document appears to be an academic exercise, potentially a programming assignment or quiz, on the topic of Java variables and the environment. It contains questions about Java Virtual Machines (JVMs), JDKs, JREs, and environment variables such as PATH and JAVA_HOME. It is focused on the technical aspects and practical implementations of these concepts in the Java ecosystem.
Full Transcript
Programación III - Grado en Ingeniería Informática Universidad de Salamanca VARIABLES DE ENTORNO Y JAVA Respuestas al ejercicio comentadas y ampliadas. Ejercicio: ara ello, se deberáncontestar las siguientes preguntasyaportar cap...
Programación III - Grado en Ingeniería Informática Universidad de Salamanca VARIABLES DE ENTORNO Y JAVA Respuestas al ejercicio comentadas y ampliadas. Ejercicio: ara ello, se deberáncontestar las siguientes preguntasyaportar capturas de tu sistemayexplicar P toda la información que allí aparece. . 1 ¿ Qué es la JVM? 2. ¿Qué es la JDK? ¿Qué componentes la forman? 3. ¿Cuál es la diferencia entre JDK y JRE? 4. ¿Qué es una variable de entorno? ¿Cómo se cambia su valor en tu SO desde la terminal? 5. ¿Qué propósito tiene la variable de entorno PATH? ¿Qué valor tiene en tu equipo (rutas)? ¿Qué separador se usa en tu OS? 6. ¿Qué ruta se debe incluir en el PATH cuando se instala la JDK? 7. ¿Qué es la variable JAVA_HOME y cuál es su propósito? ¿Cuál es su valor en tu sistema? 8. ¿Qué es la variable de entorno CLASSPATH y cuál es su propósito? 9. ¿Cómo se podría cambiar la JDK que utiliza un proyecto en VSCode? 10.Haz un Hola Mundo en VSCode en tu equipo y describe qué ocurre cuando pulsas el botón play (los comandos que se ejecutan en la terminal al hacerlo). 1.¿Qué es la JVM? as siglas JVM corresponden aJa L vaVirtualMa chineyserefierenalamáquinavirtualde Java. Una máquina virtual oVirtualMachine(VM)essimplementeunsoftwarequesimula uncomputadorperoocultaelsistemaoperativoyelhardwaresubyacentesalosprogramas queinteractúanconél.SilamismaVMseimplementaenmuchasplataformasinformáticas (MacOS, Windows,Linux, Android, etc.), las aplicaciones escritas para ese tipo de VM pueden utilizarse en todas esas plataformas. l compilador de Java ( E j avac ) convierte el código fuente (.java) en bytecodes que representan las instrucciones a ejecutar en dicha máquina virtual, es decir, la máquina virtual de Java ejecuta bytecode (.class). Al contrario de las instrucciones en lenguaje máquina, que dependen de la plataforma, es decir, del hardware específico (ARM, x64, x86, etc.) como sucede en C, las instrucciones en bytecode son independientes de la plataforma. Así pues, los bytecodes de Java son portables: sin recompilar el código fuente, las mismas instrucciones de bytecode pueden ejecutarse en cualquier plataforma que contenga una JVM que entienda la versión de Java en la que se compilaron los bytecodes. La JVM se invoca mediante el binario: java. 1 Programación III - Grado en Ingeniería Informática Universidad de Salamanca 2.¿Qué es la JDK? ¿Qué componentes la forman? assiglasJDKcorrespondenaJa L vaDe velopmentKitquehacereferenciaaunconjuntode herramientas de desarrollo para lacreacióndeaplicacionesenellenguajeJava.Entrelas múltiples herramientas que puede contener este kit se encuentran: el JRE(JavaRuntime Environment) que incluye la JVM y todo lo necesario paraejecutaraplicacionesJava,,un compilador (javac) y otras herramientas que puedan ser útiles para el desarrollo Java (depurador, etc). 3.¿Cuál es la diferencia entre JDK y JRE? diferencia delaJDK,elJREJa A vaRuntimeEnvironmentesunsubconjuntodelJDKque incluye todo lo necesario para ejecutar aplicaciones Java, pero no incluye el compilador Javaniotrasherramientasdedesarrollo.ElJREsueleserelsoftwarequetieneninstalado los usuarios de aplicaciones en Java que no se dedican al desarrollo de aplicaciones. omo se ha tratado en teoría existen diferentes distribuidores de JDKs y diferentes C versiones de cada una de ellas, siendo las versiones LTS (Lo ng Te rm Su pport) las recomendadas para desarrollar y desplegar software escrito en Java en producción. 4.¿Qué es una variable de entorno? ¿Cómo se cambia su valor en tu SO desde la terminal? na variable deentornoesunvalordinámicoquepuedeafectarelcomportamientodelos U procesosydelasaplicacionesqueseejecutanenelsistemaoperativo.Estasvariablesson utilizadas para configurar parámetros comolaubicacióndearchivosejecutables,opciones de configuración y entornos de desarrollo. ependiendo del SO que se utilice, estas variables podrán ser creadas omodificadasde D una forma distinta desde la terminal. Veamos algunos ejemplos: Linux/macOS (bash terminal):Para establecer una variable temporal: Unset export MI_VARIABLE="valor_nuevo" Windows (cmd):Para establecer una variable temporalmente: Unset set JAVA_HOME=C:\Program Files\Java\jdk-17 2 Programación III - Grado en Ingeniería Informática Universidad de Salamanca i por el contrario queremos que esta variable permanezca tras un reinicio, deberemos S editar el archivo de configuración de la terminal para que haga este procedimiento al iniciarse: inux/macOS:Puedesutilizar~/.bashrc,~/.bash_profile,o~/.profiledependiendodelshell L y la distribución. Unset echo 'export MI_VARIABLE="valor_permanente"' >> ~/.bashrc Para aplicar los cambios y cargar el fichero de configuración: Unset source ~/.bashrc Windows: . A 1 bre el menú de Configuración del sistema. 2. Ve a Sistema > Configuración avanzada del sistema > Variables de entorno. 3. Añade o edita la variable en las secciones de usuario o del sistema. lternativamente, puedes hacer lo mismo desde PowerShell (ejecutado como A Administrador) utilizando el siguiente comando (para todas las sesiones):: Unset [System.Environment]::SetEnvironmentVariable('MI_VARIABLE', 'valor_permanente', 'Machine') 3 Programación III - Grado en Ingeniería Informática Universidad de Salamanca 5.¿Qué propósito tiene la variable de entorno PATH? ¿Qué valor tiene en tu equipo (rutas)? ¿Qué separador se usa en tu OS? avariabledeentorno L PATHtienecomopropósitoindicaralsistemaoperativodónde(qué ruta) buscar los archivos ejecutables cuando se introduce un comando en la terminal. PATH contiene una lista de directorios en los que el sistema buscará comandos o programas (también llamados binarios) cuando se intenten ejecutar sin especificar laruta completa. Dependiendo del SO esta variable puede tener un aspecto ligeramente diferente: Windows (CMD como administrador): Unset echo %Path% C:\Windows\System32;C :\Program Files\Java\jdk-17\bin;C:\Python39\Scripts El separador de las múltiples rutas donde buscar binarios es el; Linux/macOS: Unset echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/home/usuario/bin El separador de las múltiples rutas donde buscar binarios es: 6.¿QuérutasedebeincluirenelPATHcuandose instala la JDK? linstalarlaJDKsedeberáañadiralPATHdelsistemalarutadeldirectoriobin(directorio A que contiene los ejecutables, los binarios de la JDK) para que sea posible ejecutar las herramientas de desarrollo de Java (como javac, java, etc.) desde cualquier lugar de la terminal.Porejemplo,silaJDKestáinstaladaenC:\ProgramFiles\Java\jdk-17,larutaque deberías agregar al PATH sería: C:\Program Files\Java\jdk-17\bin 4 Programación III - Grado en Ingeniería Informática Universidad de Salamanca 7.¿Qué es la variable JAVA_HOME y cuál es su propósito? ¿Cuál es su valor en tu sistema? a variable JAVA_HOME es una variable de entorno que apunta al directorio donde está L instalada la Java Development Kit (JDK), es decir, al directorio raíz de la instalación. Siguiendoconelejemploanterior,silaJDKestáinstaladaenC:\ProgramFiles\Java\jdk-17, ese sería el valor de la variable JAVA_HOME. u propósitoprincipalesindicaralasaplicacionesyherramientasdóndeencontrarlaJDK S para compilar, ejecutar y gestionar aplicaciones Java. JAVA_HOME es utilizada, por ejemplo, por muchosservidoresdeaplicaciones,entornosdedesarrolloyherramientasde construcción de proyectos (como Maven o Gradle) para localizar la instalación de Java y acceder a sus herramientas. 8.¿Qué es la variable de entorno CLASSPATH y cuál es su propósito? a variable de entornoCLASSPATHseutilizaenJavaparaespecificarlaubicacióndelas L clases y paquetes que el sistema necesitaparacompilaryejecutarprogramasJava.Esta variable le indica a la Java Virtual Machine (JVM) y a otros programas como javac (el compilador) dónde buscar archivos.class o.jar que no estén en los directorios por defecto. epermitealcompiladoryalaJVMlocalizarlasclasesylibreríasnecesariasparaejecutar L un programa. Esto es especialmente importante cuando se trabaja con aplicaciones que dependen de bibliotecas externas. El valor de CLASSPATH puede incluir directorios, archivos .jar o ambos,separadosporundelimitadorespecíficosegúnelsistemaoperativo como se ha tratado anteriormente. 9.¿Cómo se podría cambiar la JDK que utiliza un proyecto en VSCode? ás información: M https://code.visualstudio.com/docs/java/java-project#_configure-runtime-for-projects 5