Sólo por curiosidad para saber cuándo java se hace independiente de la plataforma, ¿hay razones específicas JVM se hace dependiente de la plataforma ..¿Por qué la JVM no es independiente de la plataforma, dado que Java (el idioma) es independiente de la plataforma?
Respuesta
A menos que tenga una CPU que pueda ejecutar código byte de Java (hay tales cosas), debe poder interactuar con el sistema operativo (para cosas como leer archivos, conectarse a la red, mostrar a la pantalla, etc. ..).
Puede escribir una JVM en otros idiomas (como Java o JavaScript), pero en última instancia tiene que haber algo que pueda interactuar con el sistema operativo subyacente.
La JVM ejecuta código Java, pero está escrito en la plataforma de lenguajes específicos, tales como C/C++/ASM etc. . La JVM no está escrita en Java y, por lo tanto, no puede ser independiente de la plataforma.
En realidad, varias JVM * están * escritas en Java: Maxine y Jikes son solo dos ejemplos. –
Debido a que se requiere un cargador de C dependiente de plataforma pequeña para iniciar el arranque, no importa lo que digan, la JVM no es 100% java :) –
Tiene razón. Aunque la forma en que esas máquinas virtuales tienden a usar C es más como un lenguaje de descripción de datos y no como un lenguaje de programación. En su mayoría, confían en el compilador de C para obtener las estructuras de datos establecidas como el sistema operativo las espera y no tanto para la semántica de C. Probablemente puedas escribir un programa Java que genere los diseños de memoria correctos, pero ¿por qué lo harías? El compilador de C de la plataforma ya contiene toda la desagradable lógica de diseño. –
La JVM debe depender de la plataforma para permitir que su Java se ejecute en la plataforma específica. Una JVM para Windows traducirá su Java en diferentes llamadas al sistema que una JVM para OS X.
Porque es necesario que haya alguna forma de convertir las llamadas Java de la aplicación independiente de la plataforma a llamadas que son compatibles con el sistema operativo subyacente.
me pareció que esta era una gran respuesta a la pregunta:
JVM bytecode traduce en lenguaje de máquina
programa Cada Java es compilado en un lenguaje intermedio denominado código de bytes de Java. El JVM se usa para traducir el bytecode en el idioma de la máquina para una computadora particular , y también para ejecutar las instrucciones de lenguaje de máquina correspondientes. El JVM y el bytecode combinados dan a Java su estado como un lenguaje "portátil".
El lenguaje de máquina depende del sistema operativo
Dada la información anterior, debería ser más fácil de deducir una respuesta a la pregunta . Dado que la JVM debe traducir el código de bytes en el lenguaje de máquina , y dado que el idioma de la máquina depende del sistema operativo que se utiliza, está claro que la plataforma JVM es dependiente de la plataforma (sistema operativo). Este hecho puede verificarse intentando descargar la JVM - se le dará una lista de JVM correspondientes a diferentes sistemas operativos, y obviamente elegirá la JVM para el sistema operativo que esté ejecutando.
Citado de Is the JVM Platform Dependent?
esta respuesta es útil ... –
No, JVM no son independientes de la plataforma. De hecho, son entornos de tiempo de ejecución específicos de plataforma proporcionados por el proveedor. Cada plataforma (Windows, UNIX, Mac, etc.) tiene su propia JVM para ejecutar aplicaciones Java. Aunque el código de bytes admite la conexión a múltiples bases de datos ...
Piense en la reproducción de música en un reproductor de MP3, reproductor de CD y antiguos reproductores de casetes fieles (Boom Box). La salida es siempre la misma, es decir, música. Pero la entrada (medios es decir.los archivos mp3 para reproductores de MP3, CD para reproductores de CD y casetes para reproductores de casetes) varían según el sistema [aquí los sistemas serán los diversos sistemas operativos, como Windows, UNIX, Mac, etc.]. Espero haber podido resolver su problema ...
simplemente como - * - hace un +.
Todos sabemos Java es independiente de la plataforma
pero OS en el que escribir el código es dependiente de la plataforma
y salida debe ser independiente de la plataforma modo, hacemos JVM (que es en el medio y se instala con jre) depende de la plataforma para que la salida sea independiente.
tipo de. El lenguaje es independiente de la plataforma, pero de alguna manera debe ejecutarse en dicha plataforma. La maquinaria para hacer eso dependerá de la plataforma donde se ejecute. – vonbrand
Creo que podría ser independiente de la plataforma si se combinan muchos idiomas diferentes (cada uno escrito en una plataforma específica) para hacer que cambie su propio código de forma dinámica. Pero todos estos requieren un gran esfuerzo para suceder y tal vez destruir su portabilidad .
JVM traduce el código de bytes que es universal al código de máquina que depende de la máquina, por lo tanto, JVM depende de la plataforma. Debido a este código de bytes, Java es independiente de la plataforma.
No, JVM depende de la plataforma. El código escrito en Java no depende de la plataforma. Si escribe código Java en un sistema operativo Windows, puede ejecutar ese código en Linux u otros sistemas operativos. Pero la JVM para Windows y Linux es diferente. JVM se encuentran en JRE y cuando descarga JRE de Oracle dice JRE para Windows, Linux y otros sistemas operativos
JVM depende del sistema operativo. Para que el código sea independiente, algo debe ser dependiente y eso es JVM. Al descargar JDK, solicita el sistema operativo para el que desea descargarlo. Lo que claramente implica que JVM depende de la plataforma.
La JVM no es independiente de la plataforma
La clave aquí es que la JVM depende del sistema operativo - por lo que si está ejecutando Mac OS X tendrá una JVM diferente que si está ejecutando Windows o algún otro sistema operativo. Este hecho puede verificarse tratando de descargar la JVM para su máquina en particular: cuando intente descargarla, se le dará una lista de las JVM correspondientes a los diferentes sistemas operativos, y obviamente elegirá la JVM que se seleccione para el sistema operativo que estas corriendo.
- 1. ¿La plataforma WCF es independiente?
- 2. ¿La plataforma de archivos objeto es independiente?
- 3. receptor independiente de la plataforma/dev/null para Java
- 4. ruta de concatenación - plataforma independiente - "/", "\"
- 5. ¿El RNG de Java (utilizando semillas) es independiente de la plataforma?
- 6. Mapeo de la memoria independiente de la plataforma [archivo] IO
- 7. Generación de GUID independiente de la plataforma en C++?
- 8. SFTP en Python? (plataforma independiente)
- 9. Administración de recursos independiente de plataforma
- 10. #ifdef DEPURACIÓN con CMake independiente de la plataforma
- 11. ¿Hay alguna desventaja para que un idioma sea independiente de la plataforma?
- 12. Pasar variables de entorno a una JVM, de manera independiente de la plataforma
- 13. ¿Cuál es la mejor manera de diseñar un servidor GWT "independiente de la plataforma"?
- 14. Independiente de la plataforma/dev/null en C++
- 15. ¿La aritmética "doble" de .NET es independiente de la plataforma/arquitectura?
- 16. Reemplazar el icono en Windows * .exe del código Java independiente de la plataforma de fuente abierta
- 17. de manipulación específicas de Windows en una plataforma independiente manera
- 18. C++: impresión de corazón y diamantes ASCII con plataforma independiente
- 19. ¿Cómo usar la función de conjunto de nodos de una manera independiente de la plataforma?
- 20. Plataforma independiente size_t Formatos de formato en c?
- 21. Encontrar MacAddress desde la dirección IP de una manera independiente de la plataforma
- 22. ¿Manera independiente de la plataforma para obtener el directorio de fuentes?
- 23. Forma independiente de la plataforma para obtener el valor máximo de flotación de C++
- 24. Herramienta independiente de la plataforma para copiar texto en el portapapeles
- 25. Use el enhebrado y las tomas en C de una manera independiente de la plataforma
- 26. Python: forma independiente de la plataforma para modificar la variable de entorno PATH
- 27. Biblioteca C/C++ para E/S de archivo binario independiente de la plataforma
- 28. manera independiente de la plataforma de detectar si está instalado git
- 29. ¿Por qué no todo el código compilado es independiente de la posición?
- 30. Kindle SDK Idioma/plataforma
¿Qué estás pidiendo en realidad? – nos
Personalmente creo que esto no debería haber sido cerrado (voté para reabrir). La pregunta puede estar formulada en forma limitada, pero hay una pregunta "real" allí (aunque la respuesta puede parecer obvia a primera vista para algunos). – ChristopheD
@ChristopheD - ¿podría aclarar la pregunta? – KatieK