significado que ps4 games fortnite español cross java jvm cross-platform

java - ps4 - cross platform que es



Independencia de la plataforma en el código de bytes de Java (6)

¿Es el mismo JVM para Windows / Linux / Mac OS?

De ningún modo. El compilador es el mismo en todas las plataformas. Pero, dado que es un archivo ejecutable , el archivo en sí será diferente, es decir, en Windows, sería .exe, en Linux, sería ejecutable de Linux, etc.

¿El bytecode generado es el mismo para una misma clase en los entornos anteriores?

Sí. Es por eso que Java es COMPILAR UNA VEZ. CORRER EN CUALQUIER LUGAR.

Antes de comenzar , lea este documento por oráculo

A veces me pregunto por qué se hace referencia a Java como Lenguaje Independiente de Plataforma.

No pude encontrar una explicación adecuada de los puntos a continuación:

  1. ¿Es el mismo JVM para Windows / Linux / Mac OS?
  2. ¿El bytecode generado es el mismo para una misma clase en los entornos anteriores?

Si la respuesta a las preguntas anteriores es NO, entonces cómo se logra la independencia de la plataforma.

Por favor, ayúdenme a aprender este concepto básico.


El significado de la independencia de la plataforma es que solo tiene que distribuir su programa Java en un formato.

Este formato único será interpretado por las JVM en cada plataforma (que están codificadas como diferentes programas optimizados para la plataforma en la que se encuentran) de modo que puedan ejecutarse en cualquier lugar donde exista una JVM.


Java se denomina lenguaje independiente de plataforma, porque prácticamente todo lo que necesita para ejecutar su código en cualquier sistema operativo es esa JVM de sistemas.

La JVM "asigna" los comandos de los códigos java a los comandos del sistema, por lo que no tiene que cambiar el código de ningún sistema operativo, solo instale la JVM del sistema (que se debe proporcionar a Oracle).

El credo es "Escribir una vez, ejecutar en cualquier lugar".


Dependencia de la máquina: Esto significa que cualquier cosa que desee ejecutar en su arquitectura de hardware no podrá ejecutarse en otra arquitectura. Al igual que si ha creado un ejecutable para su arquitectura AMD, no podrá ejecutarse en la arquitectura de Intel. Ahora viene la Dependencia de la plataforma es que ha creado algún ejecutable para su sistema operativo Windows que no podrá ejecutarse en Linux. El código escrito en Ensamblaje (provisto por su procesador) o Lenguaje máquina depende de la máquina, pero si escribe el código en C, CPP, JAVA, entonces su código es independiente de la máquina y lo proporciona el sistema operativo subyacente.

Independencia de la plataforma: si crea un código C o CPP, entonces se vuelve dependiente de la plataforma porque produce un archivo intermedio, es decir, un archivo compilado que coincide con el conjunto de instrucciones proporcionado por el sistema operativo subyacente. Entonces necesitas un mediador que pueda entender tanto el compilador como el sistema operativo. Para lograrlo, Jva creó JVM. Nota: Ningún lenguaje es independiente de la máquina si elimina el sistema operativo que, en sí mismo, es un programa creado utilizando algún idioma que pueda comunicarse directamente con la arquitectura de su máquina subyacente. OS es un programa tal que toma su código compilado y lo ejecuta en la parte superior de la arquitectura subyacente.


Mire este video tutorial de 2 minutos. Espero que esto lo ayude a comprender por qué Java es independiente de la plataforma. Todo se explica en solo 2 minutos y 37 segundos.

¿Por qué Java es independiente de la plataforma? https://www.youtube.com/watch?v=Vn8hdwxkyKI

Y aquí hay una explicación dada a continuación;

Se requieren dos pasos para ejecutar cualquier programa Java, es decir (i) Compilación y (ii) Pasos de interpretación.

El compilador de Java, que se conoce comúnmente como "javac", se usa para compilar cualquier archivo java. Durante el proceso de compilación, el compilador de Java compilará todas y cada una de las declaraciones del archivo java. Si el programa java contiene algún error, generará un mensaje de error en la pantalla de Salida. Al completar con éxito el proceso de compilación, el compilador creará un nuevo archivo que se conoce como Archivo de Clase / Archivo Codificado Binario / Archivo de Código de Byte / Archivo de Código Mágico.

El archivo de clase generada es un archivo binario, por lo que se requiere un intérprete de Java, comúnmente conocido como Java, para interpretar cada una de las sentencias del archivo de clase. Después de completar con éxito el proceso de interpretación, la máquina generará la salida en la pantalla de salida.

Este archivo de clase generado es un archivo binario codificado que depende de los componentes proporcionados por el intérprete de Java (java) y no depende de las herramientas y componentes disponibles en el sistema operativo.

Por lo tanto, podemos ejecutar el programa Java en cualquier tipo de sistema operativo siempre que el intérprete de Java esté disponible en el sistema operativo. Por lo tanto, el lenguaje Java se conoce como lenguaje independiente de plataforma.


1) ¿Es el JVM el mismo para el sistema operativo Windows / Linux / Mac?

Respuesta ===> NO, JVM es diferente para todos

2) ¿El bytecode generado es el mismo para una misma clase en los entornos anteriores?

Respuesta ====> SÍ, el código de bytes generado será el mismo.

A continuación la explicación le dará más aclaración.

{App1 (código Java) ------> App1byteCode} ........ {(JVM + MacOS) ayuda a trabajar con App1, App2, App3} {App2 (Java Code) -----> App2byteCode} ........ {(JVM + LinuxOS) ayuda a trabajar con App1, App2, App3} {App3 (Java Code) -----> App3byteCode} ........ {(JVM + WindowsOS) ayuda a trabajar con App1, App2, App3}

¿Cómo está pasando esto?

Ans -> JVM tiene capacidad para leer ByteCode y Response de acuerdo con el sistema operativo subyacente, ya que la JVM está sincronizada con el sistema operativo.

Entonces, encontramos que necesitamos JVM con Sync with Platform.

Pero la cuestión principal es que el programador no tiene que conocer el conocimiento específico de la plataforma y programar su aplicación teniendo en cuenta una plataforma específica.

Esta flexibilidad del programa de escritura en lenguaje Java --- compilar en bytecode y ejecutar en cualquier máquina (Sí, necesita tener JVM de plataforma DEPENDIENTE para ejecutarlo) hace que Java Platform sea independiente.