🔗 https:///blog/jlab-modules-b-bytecode
📅 10 de marzo de 2025
Repaso bytecode
Bytecode
El bytecode es el código intermedio generado por el compilador de Java (javac) a partir del código fuente. Este bytecode no es código ejecutable directamente por la CPU, sino que está diseñado para ser interpretado o compilado en tiempo de ejecución por la Java Virtual Machine (JVM).
Permite ejecutar el mismo programa en diferentes sistemas operativos sin necesidad de recompilarlo, siempre que haya una JVM disponible. Se encuentra en un nivel intermedio entre el código fuente y el código máquina, permitiendo optimizaciones antes de la ejecución.
Package
Un paquete (package) es una forma de organizar y agrupar archivos *.java
dentro de un espacio de nombres lógico. Se usa para evitar conflictos de nombres, mejorar la organización del código y facilitar su reutilización.
Algunos paquetes:
java.lang
(se importa automáticamente, contiene String, Math, etc.)java.util
(contiene ArrayList, HashMap, etc.)java.io
(manejo de archivos)java.net
(manejo de redes)java.sql
(bases de datos)
Código
Tenemos este código java donde no hay declaración de paquete paquete.
package jlab.andr7st.dev;
import java.lang.*;
public class Main {
public static void main(String[] args) {
var var = """
Hello world!
""";
System.out.print(var);
}
}
Comandos usados
javac Main.java
java jlab/andr7st/dev/Main.java
javac jlab/andr7st/dev/Main.java
java jlab.andr7st.dev.Main
javac -d ../bin jlab/andr7st/dev/Main.java
java --class-path ../bin jlab.andr7st.dev.Main
Usos
javac se usa para compilar archivos .java y generar archivos .class.
java
se usa para ejecutar archivos .class.-d
Se usa para especificar en qué directorio se guardarán los archivos .class.--class-path
,-classpath
o-cp
se usa para indicar en qué directorios buscar las clases necesarias para ejecutar o compilar un programa.