¿Qué significa máquina virtual java? La esencia de la máquina virtual Java.

Aquí ya se han dado muchas respuestas buenas y correctas, pero me gustaría aclarar que esta metáfora es:

La máquina virtual Java también es esencialmente un intérprete.

¡Puede llevarte por un camino muy equivocado!

Las palabras en los nombres tienen un significado bastante preciso y la JVM se llama exactamente en coche, y no un intérprete, ni un compilador, no es en absoluto accidental. Hay un compilador en Java (javac), y no es necesario para ejecutar el programa, sino específicamente para compilarlo (en código de bytes). Es por eso que no está incluido en el JRE (entorno de ejecución), sino que está contenido en el JDK (entorno de desarrollo). La propia JVM tiene otro, un compilador JIT, que compila código de bytes en instrucciones del procesador durante la ejecución del programa, pero esa es otra historia y tampoco se le puede llamar intérprete.

Esencialmente, la JVM es un procesador, sólo virtual. Y como cualquier procesador (hardware, tipo x86 o virtual, tipo CLR en .NET), tiene su propio conjunto de operaciones. códigos llamado byte código. Así como x86 puede ejecutar código generado por un compilador con C++, Pascal o Go, la JVM puede ejecutar código de bytes compilado desde Java, Scala o Kotlin (o incluso escrito a mano), y el archivo .class es esencialmente el mismo .exe (más precisamente .so), compilado para el “procesador JVM”. De esto se trata la multiplataforma. Así como el código compilado para x86 se ejecutará en un procesador de Intel o AMD, el código de bytes JVM se ejecutará en JVM de Oracle, IBM, OpenJDK, etc. E incluso la presencia de JIT, compilando El código de bytes en el código de operación de un procesador de hardware específico durante la ejecución aún no da motivos para llamar intérprete a una pila honesta (SUN) o registrar (Dalvik) VM, aunque solo sea en esencia :)

El hecho es que esta clasificación en sí misma (IDIOMA interpretado/compilado) prácticamente no ha tenido sentido durante los últimos 25 años aproximadamente. Lenguajes que inicialmente estaban orientados a la implementación en forma de intérprete (con vocabulario simplemente analizado, de modo que el intérprete fuera más pequeño y pudiera dejar suficiente espacio para el programa en una memoria limitada) como APL o BASIC, ahora (excepto , por supuesto, para aplicaciones muy especializadas) sólo tienen un lugar de honor en los viejos libros de texto, de los cuales esta misma clasificación, con una tenacidad digna de un mejor uso, sigue siendo copiada palabra por palabra en los nuevos. Al mismo tiempo, por alguna razón, se olvidan de aclarar que estos dos conceptos ya no se refieren a los lenguajes en sí, sino solo a algunos métodos de su implementación, y que desde entonces, además de estos métodos, han surgido muchos otros buenos. y han aparecido diferentes conceptos sobre este tema ( como VM, JIT, recolectores de basura y al menos la misma programación orientada a objetos, diferentes tipos de mecanografía y un millón de cosas más), que simplemente no estaban en esos libros de texto debido a su año de publicación. Y que hoy en día, incluso para lenguajes que están fundamentalmente diseñados para la compilación para una arquitectura de registro, como C, hay una docena de intérpretes (uno, dos, tres)... que, repito, nadie llama máquinas virtuales. , porque Todos estos son conceptos diferentes. En resumen, es como tratar de entender dónde están el fuego, el agua, la tierra y el aire en la mecánica cuántica, como los entendían Platón y Aristóteles :)

PD Para entender cuándo esta clasificación todavía era relevante, recomiendo este. Allí, los creadores de APL, uno de los primeros lenguajes verdaderamente interpretados, discuten los problemas acuciantes del desarrollo del lenguaje de la época. Si el inglés es un problema, al menos mire la introducción... esas piezas de hardware tenían menos memoria y potencia de procesamiento que una tarjeta SIM moderna :)

¿Qué es la JVM?

JVM es un motor que proporciona un entorno de ejecución para controlar el código o las aplicaciones Java. Convierte el código de bytes de Java en lenguaje de máquina. JVM es parte de JRE (Java Run Environment). Significa Máquina Virtual Java.

  • En otros lenguajes de programación, el compilador produce código de máquina para un sistema en particular. Sin embargo, el compilador de Java produce código para una máquina virtual conocida como máquina virtual Java.
  • Primero, el código Java se compila en código de bytes. Este código de bytes se interpreta en diferentes máquinas.
  • Entre el sistema host y la fuente Java, Bytecode es un lenguaje intermediario.
  • JVM es responsable de asignar espacio de memoria.

En este tutorial, aprenderá-

Arquitectura JVM

Entendamos la arquitectura de JVM. Contiene cargador de clases, área de memoria, motor de ejecución, etc.

1) Cargador de clases

El cargador de clases es un subsistema que se utiliza para cargar archivos de clases. Realiza tres funciones principales a saber. Carga, vinculación e inicialización.

2) Área del método

El área de métodos JVM almacena estructuras de clases como metadatos, el grupo de tiempo de ejecución constante y el código de los métodos.

Todos los objetos, sus variables de instancia relacionadas y matrices se almacenan en el montón. Esta memoria es común y compartida entre varios subprocesos.

4) Pilas de lenguaje JVM

Las pilas del lenguaje Java almacenan variables locales y sus resultados parciales. Cada subproceso tiene su propia pila JVM, creada simultáneamente a medida que se crea el subproceso. Se crea un nuevo marco cada vez que se invoca un método y se elimina cuando se completa el proceso de invocación del método.

5) Registros de PC

El registro de PC almacena la dirección de la instrucción de la máquina virtual Java que se está ejecutando actualmente. En Java, cada hilo tiene su registro de PC independiente.

6) Pilas de métodos nativos

Las pilas de métodos nativos contienen instrucciones de código nativo que dependen de la biblioteca nativa. Está escrito en otro idioma en lugar de Java.

7) Motor de ejecución

Es un tipo de software que se utiliza para probar hardware, software o sistemas completos. El motor de ejecución de pruebas nunca contiene información sobre el producto probado.

8) Interfaz del método nativo

La interfaz del método nativo es un marco de programación. Permite que el código Java que se ejecuta en una JVM sea llamado por bibliotecas y aplicaciones nativas.

9) Bibliotecas de métodos nativos

Bibliotecas nativas es una colección de bibliotecas nativas (C, C++) que necesita el motor de ejecución.

Proceso de compilación y ejecución de código de software

Para escribir y ejecutar un programa de software, necesita lo siguiente

1) Editor– Para escribir su programa, se puede usar un bloc de notas para esto

2) Compilador– Para convertir su programa de alto lenguaje en código de máquina nativo

3) Enlazador– Para combinar diferentes archivos de programa de referencia en su programa principal.

4) Cargador– Para cargar los archivos desde su dispositivo de almacenamiento secundario como disco duro, unidad flash o CD en la RAM para su ejecución. La carga se realiza automáticamente cuando ejecuta su código.

5) Ejecución– Ejecución real del código manejado por su sistema operativo y procesador.

Con estos antecedentes, consulte el siguiente video y conozca el funcionamiento y la arquitectura de la máquina virtual Java.

Proceso de compilación y ejecución de código C.

Comprender el proceso de compilación de Java en Java. Primero echemos un vistazo rápido al proceso de compilación y vinculación en C.

Supongamos que, en general, ha llamado a dos funciones f1 y f2. La función principal se almacena en el archivo a1.c.

La función f1 se almacena en un archivo a2.c

La función f2 se almacena en un archivo a3.c

Todos estos archivos, es decir, a1.c, a2.c y a3.c, se envían al compilador. Cuya salida son los archivos objeto correspondientes que son el código de máquina.

El siguiente paso es integrar todos estos archivos objeto en un único archivo .exe con la ayuda del vinculador. El vinculador agrupará todos estos archivos y producirá el archivo .exe.

Durante la ejecución del programa, un programa de carga cargará un.exe en la RAM para la ejecución.

Compilación y ejecución de código Java en Java VM

Veamos el proceso para JAVA. En su principal, tiene dos métodos f1 y f2.

  • El método principal se almacena en el archivo a1.java.
  • f1 se almacena en un archivo como a2.java
  • f2 se almacena en un archivo como a3.java

El compilador compilará los tres archivos y producirá 3 archivos .class correspondientes que consisten en código BYTE. A diferencia de C, no se realiza ningún enlace..

La Java VM o Java Virtual Machine reside en la RAM. Durante la ejecución, utilizando el cargador de clases, los archivos de clases se llevan a la RAM. El código BYTE se verifica para detectar cualquier violación de seguridad.

A continuación, el motor de ejecución convertirá el código de bytes en código de máquina nativo. Esta es la compilación justo a tiempo. Es una de las razones principales por las que Java es comparativamente lento.

NOTA: JIT o El compilador justo a tiempo es parte de la máquina virtual Java (JVM). Interpreta parte del Byte Code que tiene una funcionalidad similar al mismo tiempo.

¿Por qué Java es un lenguaje interpretado y compilado?

Los lenguajes de programación se clasifican en
  • Idioma de nivel superior Ej. C++, Java
  • Idiomas de Nivel Medio Ej. C
  • Lenguaje de bajo nivel Ex ensamblador
  • finalmente el nivel más bajo como Lenguaje de Máquina.

A compilador es un programa que convierte un programa de un nivel de lenguaje a otro. Ejemplo de conversión de un programa C++ a código máquina.

El compilador de Java convierte código Java de alto nivel en código de bytes (que también es un tipo de código de máquina).

Un intérprete es un programa que convierte un programa en un nivel a otro lenguaje de programación en el mismo nivel. Ejemplo de conversión de un programa Java a C++

En Java, el generador de código Just In Time convierte el código de bytes en código de máquina nativo que se encuentran en los mismos niveles de programación.

Por lo tanto, Java es un lenguaje tanto compilado como interpretado.

¿Por qué Java es lento?

Las dos razones principales detrás de la lentitud de Java son

  1. Enlace dinámico: A diferencia de C, la vinculación se realiza en tiempo de ejecución, cada vez que el programa se ejecuta en Java.
  2. Intérprete en tiempo de ejecución: La conversión de código de bytes en código de máquina nativo se realiza en tiempo de ejecución en Java, lo que ralentiza aún más la velocidad.

Sin embargo, la última versión de Java ha solucionado en gran medida los cuellos de botella en el rendimiento.

Resumen:

  • JVM o Java Virtual Machine es el motor que impulsa el código Java. Convierte el código de bytes de Java en lenguaje de máquina.
  • En JVM, el código Java se compila en código de bytes. Este código de bytes se interpreta en diferentes máquinas.
  • El compilador JIT o Just-in-time es parte de la Máquina Virtual Java (JVM). Se utiliza para acelerar el tiempo de ejecución.
  • En comparación con otras máquinas compiladoras, la ejecución de Java puede ser lenta.

La JVM es un componente clave de la plataforma Java. La Máquina Virtual Java interpreta y ejecuta el código de bytes de Java pregenerado a partir del texto fuente de un programa Java por el compilador de Java (javac).

Dado que las máquinas virtuales Java están disponibles para muchas plataformas de hardware y software, Java puede considerarse tanto un middleware como una plataforma por derecho propio, de ahí el principio de “escribir una vez, ejecutar en cualquier lugar”. El uso de un único código de bytes en múltiples plataformas permite que Java se describa como "compilar una vez, ejecutar en cualquier lugar".

Los programas destinados a ejecutarse en la JVM deben compilarse en un formato binario portátil estandarizado, que generalmente se representa como archivos .class. Un programa puede constar de muchas clases ubicadas en diferentes archivos. Para facilitar el alojamiento de programas grandes, algunos archivos .class se pueden empaquetar juntos en un archivo llamado .jar (abreviatura de Java Archive).

La máquina virtual JVM ejecuta archivos .clase o .frasco, emulando instrucciones escritas para JVM interpretando o utilizando un compilador justo a tiempo (JIT) como HotSpot de Sun Microsystems. Hoy en día, la compilación JIT se utiliza en la mayoría de las JVM para lograr una mayor velocidad. También existen compiladores avanzados que permiten a los desarrolladores de aplicaciones precompilar archivos de clase en código nativo para una plataforma específica.

La JVM, que es una instancia de JRE (Java Runtime Environment), entra en juego cuando se ejecutan programas Java. Una vez completada la ejecución, el recolector de basura elimina esta instancia. JIT es parte de la máquina virtual Java que se utiliza para acelerar el tiempo de ejecución de las aplicaciones. JIT compila simultáneamente partes del código de bytes que tienen una funcionalidad similar y, por lo tanto, reduce la cantidad de tiempo necesario para la compilación.

La JVM es una máquina apilable. Esto significa que no hay registros de propósito general y las operaciones se realizan con datos ubicados en la pila. Este propósito lo cumple una pila de operandos asignada dentro de cada trama. Cuando se ejecutan comandos de código de bytes de Java que modifican datos, los operandos de esos comandos se extraen de la pila de operandos y los resultados de los comandos se insertan en la misma pila.

El tiempo de ejecución de un método contiene la información necesaria para el enlace dinámico, el retorno del método y el manejo de excepciones. El código de clase (alojado en el ámbito de la clase) accede a métodos y variables externos mediante enlaces simbólicos. Los enlaces dinámicos traducen enlaces simbólicos en enlaces reales. El entorno de ejecución contiene referencias a la tabla de símbolos de métodos, a través de la cual se realizan llamadas a métodos y variables externos.

El tiempo de ejecución también contiene la información necesaria para regresar de un método: un puntero al marco del método de llamada, el valor del registro de PC a devolver, el contenido de los registros del método de llamada y un puntero al área para escribir el valor de retorno.

La información de manejo de excepciones contiene referencias a las secciones de manejo de excepciones de un método de clase.

El tiempo de ejecución también hace referencias a los datos contenidos en el área de clase, incluidas constantes y variables de clase.

Las instrucciones JVM constan de un código de operación de un bit y también pueden contener operandos. El número y tamaño de los operandos están determinados por el código de operación; algunas instrucciones no tienen operandos;

Breve Java-terminología

Máquina virtual (máquina virtual) es un dispositivo informático abstracto que se puede implementar de diferentes maneras: en hardware o software. La compilación en un conjunto de instrucciones de máquina virtual ocurre de manera muy similar a la compilación en un conjunto de instrucciones de microprocesador.

Java-plataforma (Plataforma Java) - máquina virtual Java y las clases estándar son Java-plataforma. Java-la plataforma proporciona programas con una interfaz unificada independientemente del sistema operativo en el que se ejecutan.

Invocación de método remoto de Java (JRMI) – interfaz para llamar a métodos remotos. Un modelo de objetos distribuidos que define cómo se llaman los métodos remotos que se ejecutan en otra máquina virtual. Java.

Entorno de ejecución de Java (JRE) – entorno de ejecución Java. Subconjunto Kit de desarrollo Java, destinado a usuarios finales. JRE consta de una máquina virtual Java (JVM), clases estándar Java y archivos de soporte.

máquina virtual de Java (JVM) - máquina virtual Java, parte del tiempo de ejecución Java, realizando la interpretación Java código de bytes. máquina virtual de Java especificado por el conjunto de instrucciones de código de bytes, el conjunto de registros, la pila, el recolector de basura y el espacio de almacenamiento de métodos.

Java código de bytes (código de bytes de Java) es un código independiente de la máquina que genera Java-compilador. Código de bytes ejecutado Java-intérprete. Máquina virtual Java Totalmente apilado: no se requiere un direccionamiento complejo de celdas de memoria y se requiere una gran cantidad de registros. Por lo tanto los equipos JVM En resumen, la mayoría de ellos tienen una longitud de 1 byte, por lo que los comandos JVM llamado códigos de bytes (códigos de bytes), aunque existen comandos de 2 y 3 bytes de longitud (la longitud media de los comandos es de 1,8 bytes).

Programa escrito en lenguaje Java, el compilador lo traduce a código de bytes. El código de bytes se escribe en uno o más archivos y puede almacenarse en una memoria externa o transmitirse a través de una red. Esto es especialmente conveniente debido al pequeño tamaño de los archivos de código de bytes. El bytecode obtenido como resultado de la compilación se puede ejecutar en cualquier computadora que tenga un sistema que implemente JVM(independientemente del tipo de procesador específico y arquitectura de PC). Así se implementa el principio Java: "Escribe una vez, corre a cualquier lugar""Escrito una vez, ejecutado en cualquier lugar".

Java-applets (subprograma de Java) – Java-aplicaciones a las que se puede acceder desde un navegador web.

Que es la tecnologia Java

Tecnología Java fue creado como una herramienta de programación en la empresa Microsistemas solares en 1991 como parte de un pequeño proyecto de investigación cerrado con el nombre en código "Verde" ("proyecto").

Un "equipo verde" de 13 ingenieros y desarrolladores liderados por James Gosling ( James Gosling) durante un año y medio trabajó día y noche en una oficina separada en Camino de la colina de arena en Menlo Park (California; nuevamente !) sin informar a la empresa sobre su trabajo Sol.

Los ingenieros del Equipo Verde intentaron anticipar y prepararse para la próxima "nueva ola" en programación. Inicialmente asumieron que una de las principales tendencias de desarrollo sería la convergencia entre la tecnología de consumo digital y las computadoras.

El resultado de este trabajo fue un lenguaje de programación independiente de la máquina, cuyo nombre en código es "Oak" ( Roble).

Para demostrar cómo se podría utilizar el nuevo lenguaje de programación en la tecnología digital en el futuro, el Equipo Verde creó un controlador interactivo portátil doméstico para televisión por cable digital. Pero en aquel momento la idea era demasiado innovadora y la televisión por cable digital no estaba preparada para el espectacular avance que ofrecía la tecnología. Java.

Sin embargo, la innovación de la tecnología Java Resultó tener una gran demanda en Internet, y en la primera presentación oficial de la tecnología. Java En 1995, el equipo de Gosling pudo anunciar que la tecnología Java se utilizará en el navegador de Internet Netscape Navigator.

Ahora la plataforma Java utilizado por más de 4 millones de desarrolladores de software. Se utiliza en todas las industrias importantes del mundo y en una amplia variedad de dispositivos, computadoras y redes en todas las tecnologías de programación.

En general, la versatilidad, eficiencia, seguridad y compatibilidad de la tecnología con diferentes plataformas la hacen Java Una herramienta ideal para tecnologías de redes. Por ello, hoy en día se utiliza en más de 2.500 millones de dispositivos, entre ellos:

Más de mil millones de teléfonos móviles y otros dispositivos portátiles;

1,25 mil millones de tarjetas inteligentes;

Además de decodificadores, impresoras, cámaras web, juegos, sistemas de navegación para automóviles, máquinas tragamonedas, equipos médicos, parquímetros, etc.

Actualmente la tecnología Java se puede encontrar en casi cualquier red y dispositivo, desde Internet y supercomputadoras hasta computadoras portátiles y teléfonos móviles, desde dispositivos de simulación de negociación de acciones hasta consolas de juegos domésticas y tarjetas de crédito.

Por qué los desarrolladores de software eligen la tecnología Java

Lenguaje de programación Java Completamente refinado, ampliado, probado y verificado en la práctica por más de 4 millones de desarrolladores de software.

Tecnología completa, extremadamente fiable y versátil Java es invaluable para los desarrolladores de software porque les permite:

Escriba software en una plataforma y ejecútelo en casi cualquier otra;

Crear programas para ejecutar en navegadores web y servicios web;

Desarrollar aplicaciones de servidor para foros en línea, tiendas, encuestas, procesamiento. HTML-formularios, etc.;

Cree aplicaciones y servicios que se adapten al máximo a los requisitos del usuario, combinando diferentes Java-módulos;

Escriba aplicaciones potentes y eficientes para teléfonos móviles, procesadores remotos, productos de consumo de bajo costo y prácticamente cualquier dispositivo digital.

Que es la tecnologia Java móvil (J2ME – Java 2 Micro Edición)

Parte J2ME Incluye una versión optimizada para una amplia gama de usuarios de dispositivos móviles. JRE. Los componentes principales de la versión compacta de la plataforma. Java 2 (J2ME) son una máquina virtual para dispositivos con configuraciones estándar ( Centros para el Control y la Prevención de Enfermedades), una máquina virtual para dispositivos con configuraciones limitadas ( CDLC) y perfiles de dispositivos móviles con funciones de información. Además, la plataforma incluye muchas otras herramientas y tecnologías que simplifican la creación de programas. Java para dispositivos domésticos e integrados (teléfonos móviles, PDA, tarjetas inteligentes, buscapersonas, decodificadores y otros dispositivos móviles e inalámbricos).

Tecnologías J2ME, a su vez, son parte de una familia de productos de software Java. Las tecnologías relacionadas incluyen estándar ( J2SE) y corporativo ( J2EE) versiones de plataforma Java 2. Entre otras cosas, la tecnología Java ayuda a desarrollar servicios web, organizar y comunicar datos en lenguaje XML, establecer conexiones a través de varios protocolos de red, trabajar con paquetes de herramientas e implementar funciones de aplicaciones Inicio web de Java.

Con versión de tiempo de ejecución estándar sol java (JRE) versión J2ME El cumplimiento de las convenciones estándar para plataformas es similar Java y contribuciones al desarrollo de los principales fabricantes de dispositivos móviles y proveedores de servicios inalámbricos.

Qué ha pasado KVM

KVM (Kilo Máquina Virtual) es un elemento del entorno de ejecución que forma parte de la versión compacta de la plataforma Java 2 (J2ME) y diseñado para su uso en dispositivos con capacidad de memoria y rendimiento de procesador limitados. Funciones informáticas estándar en teléfonos móviles, buscapersonas y PDA ( PDA) a menudo se implementan precisamente con la ayuda KVM.

Como JVM(máquina virtual Java), KVM ejecuta aplicaciones y applets basados ​​en tecnología Java. KVM utilizado en teléfonos móviles y otros dispositivos móviles, mientras JVM instalado en las computadoras. Incluido en la versión estándar de la plataforma. Java 2 (J2SE) incluido JRE, Complemento Java Y JVM.

Además KVM, plataforma J2ME Contiene muchas máquinas virtuales de varios tamaños. KVM– esta es una de las opciones para implementar una máquina virtual para dispositivos con configuración limitada ( Configuraciones limitadas de dispositivos conectados, CDLC), diseñado para la ejecución de productos de software basados ​​en tecnología Java en dispositivos móviles.

Tecnología relacionada J2ME son perfiles de dispositivos móviles con funciones de información ( Perfiles de dispositivos de información móviles, MIDP), que se utilizan con mayor frecuencia al desarrollar aplicaciones para dispositivos móviles, en particular, para teléfonos móviles y buscapersonas bidireccionales.

Cómo obtener el software Java para dispositivos móviles/ PDA?

Funciones Java, destinados a dispositivos móviles, son instalados en estos dispositivos por sus fabricantes. Consulte con el fabricante para ver si su dispositivo tiene el software instalado. Java.

Máquina virtual KVM es análogo a una máquina virtual Java (JVM), diseñado para dispositivos móviles. Proporciona ejecución de subprogramas y aplicaciones escritas en el idioma. Java, en dispositivos móviles. Máquina virtual KVM debe ser instalado por el fabricante. NO PUEDES descargarlo e instalarlo tú mismo.

Qué ha pasado máquina virtual de Java

máquina virtual de Java(abreviado Máquina virtual Java, JVM) - máquina virtual Java- la parte principal del sistema de ejecución Java, la llamada Entorno de ejecución de Java (JRE). Máquina virtual Java interpreta y ejecuta código de bytes Java, pregenerado a partir del texto fuente Java- programas compiladores Java.

En 1996 la empresa Sol lanzó la primera versión del documento del Libro Azul JVM", que describe la especificación de la máquina virtual. Java, que se ha convertido en la plataforma estándar de facto de la industria Java. Gracias a este documento aparecieron implementaciones alternativas. JVM, que son “desarrollos de borrón y cuenta nueva” (ing. diseño de sala limpia). Un ejemplo es café.

Desde la versión J2SE 5.0 cambios de especificación JVM se desarrollan de acuerdo con los deseos formalizados de las partes interesadas. Proceso de cambio de especificación JVM llamado Proceso de la comunidad Java.

Confrontación Sol Y microsoft

Al comienzo del desarrollo de la plataforma. Java hubo dos implementaciones en competencia Máquina virtual Java- uno de la empresa Microsistemas solares, creador de la lengua Java, para varias plataformas ( ventanas, Mac OS, Unix), y el otro de la empresa microsoft solo plataforma ventanas y, según microsoft, “especialmente optimizado para una ejecución rápida Java-código en la plataforma Microsoft Windows».

Sin embargo, JVM de Microsoft no era totalmente compatible con la especificación descrita Sol V libro JVM, y también tuvo problemas importantes relacionados con la seguridad y el rendimiento cuando se trabaja con cargas pesadas (con una gran cantidad de subprocesos ejecutándose simultáneamente). Compañía Sol Consideró esta situación inaceptable y decidió que microsoft se dedica a desacreditar y profanar deliberadamente la plataforma Java distribuyendo su versión de la máquina virtual Java, que tiene las desventajas anteriores.

Sobre esta base Sol demandado repetidamente microsoft, y consistentemente logró primero que microsoft Perdí el derecho a nombrar mi implementación. JVMMáquina virtual Java. De aquí en adelante microsoft comencé a llamar mi producto simplemente Máquina virtual de Microsoft. Entonces microsoft Perdí el derecho a incrustar el mío. V.M. en navegadores y sistemas operativos. Después microsoft Me vi obligado a retirar mi V.M. desde la entrega ventanas y del paquete ES DECIR., pero podría, según la decisión judicial, ofrecerlo por separado para su descarga en su sitio web. Entonces Sol logró el cese del desarrollo de nuevas versiones Máquina virtual de Microsoft y detener la publicación de actualizaciones y luego excluir Máquina virtual de Microsoft de la lista de programas disponibles para descargar en el sitio web microsoft.

Alguno ÉL-Los expertos creen que la dura posición adoptada Sol sobre el tema Java, podría servir como un incentivo adicional para que la empresa desarrolle microsoft propia solución multiplataforma – .NET Framework.

Sobre la lucha por cumplir las normas

Esto es lo que dice “padre” sobre esto Java James Gosling: “Si hablamos de cumplimiento de normas, entonces nuestro conflicto con microsoft fue que la empresa intentó limitar la interoperabilidad de su máquina virtual, violando así un acuerdo anterior. El código optimizado para esta máquina no se ejecutó en otras plataformas. Hay un intento de vincular a los usuarios a su sistema. Estos intentos siempre han sido reprimidos y seguirán siendo reprimidos. Sin embargo, si se respeta el principio de interoperabilidad, no habrá obstáculos. Por ejemplo, en IBM al menos media docena de máquinas virtuales Java, tienen sus propios desarrollos en esta área caballos de fuerza y muchas otras empresas."

Confrontación Sol Y IBM

En 2001, con el fin de desarrollar un estándar para multiplataforma escritorio-aplicaciones, IBM proyecto abierto iniciado Eclipse. Estructura Eclipse basado en desarrollo cerrado IBM Visual Age. IBM logró equilibrar los intereses de la comunidad libre y los intereses de las empresas (nuestros intereses) en la licencia Licencia pública de eclipse, Reconocido FSF.

El proyecto se está desarrollando con éxito, cuenta con el reconocimiento de la industria y se ha separado en gran medida de IBM en un independiente Fundación Eclipse.

Sol permanece en la oposición Fundación Eclipse, así como microsoft. Formalmente, el principal motivo de controversia sigue siendo la biblioteca. SWT, lo que contradice Sol- el concepto de máquina virtual y la portabilidad de las aplicaciones Java.

Cómo comprobar qué versión Java instalado en tu computadora

abre la pagina java.com/ru/download/installed.jsp;

- presiona el botón Verifique la versión de Java.

como descargar y instalar máquina virtual de Java

– abre la página java.com/en;

- presiona el botón Descarga Java gratis;

- en la ventana Advertencia de seguridad hacer clic Sí –> Continuar –> Aceptar Mostrar panel de opciones avanzadas) –> Siguiente –> Siguiente –> en la ventana de mensaje hacer clic Finalizar.

Cómo descargar Java a mano

Descargar Java manualmente, abre la página java.com/ru/download/manual.jsp;

– seleccione el archivo según su sistema operativo de la lista, descárguelo y ejecute el archivo de instalación;

- en la ventana Configuración de Java hacer clic Continuar –> Aceptar(si desea cambiar la ruta de la carpeta de instalación o cambiar otras configuraciones, seleccione Mostrar panel de opciones avanzadas) –> Siguiente –> Siguiente –> en la ventana de mensaje ¡Gracias! Has instalado Java satisfactoriamente hacer clic Finalizar.

Notas

1. Una vez completada la instalación Java Es posible que tenga que reiniciar el navegador.

2. Asegúrese de que el software esté instalado correctamente Java puedes hacerlo siguiendo el enlace comprobar inmediatamente.

3. La compatibilidad con el navegador debe estar habilitada. javascript Y galletas.

4. El tamaño de descarga estándar es 7,1 MEGABYTE(esta es la cantidad mínima de archivos descargados). El tamaño puede aumentar si se seleccionan funciones adicionales.

5. Excepto ventanas, tú puedes descargar Java Para Solaris, linux.

Para Manzana (OSX) descargar Java desde el sitio web de la empresa Manzana.

6. Procesadores compatibles Intel y procesadores compatibles de otros fabricantes. Procesador recomendado Pentium con una frecuencia de reloj de 166 megahercio y superior en combinación con RAM física con una capacidad de al menos 64 MEGABYTE. Además, necesitará al menos 98 MEGABYTE espacio libre en disco.

7. Después de instalar la máquina virtual Java de Microsistemas solares V se crea una sección

.

Después de instalar la máquina virtual V Registro de Windows se crean particiones

donde puedo descargar Máquina virtual Microsoft Java

EN Sistema operativo Windows Algunos programas requieren que se instale una máquina virtual en el sistema durante la instalación. Java de microsoft.

Máquina virtual de Microsoft(versión 5.00.3810 del 07/03/2003; 5.07 MEGABYTE) se puede descargar desde .

Cómo borrar Máquina virtual Microsoft Java

Borrar msjava:

– haga clic Inicio -> Ejecutar;

- en la ventana que se abre Iniciando el programa al campo de texto Abierto ingresar RunDll32 advpack.dll, LaunchINFSección Java.inf, Desinstalar –> Aceptar;

– eliminar la carpeta \VENTANAS\java;

– eliminar el archivo \WINDOWS\inf\java.pnf;

– eliminar el archivo \WINDOWS\system32\jview.exe;

– eliminar el archivo \WINDOWS\system32\wjview.exe;

– haga clic Inicio -> Ejecutar;

- en la ventana que se abre Iniciando el programa al campo de texto Abierto ingresar regedit –> Aceptar;

- en la ventana que se abre Editor de registro eliminar particiones

;

- cerca Editor de registro.

Cómo habilitar el tiempo de ejecución Java (JRE) en un navegador web




Arriba