Está en la página 1de 2

KID CHARLY AGAMA AVALOS

Mquina Virtual de Java


El corazn de la Plataforma Java es el concepto comn de un procesador virtual que ejecuta
programas escritos en el lenguaje de programacin Java. En concreto, ejecuta el cdigo
resultante de la compilacin del cdigo fuente, conocido como btecode. Este procesador es
la m!quina virtual de Java o J"# $Java "irtual #ac%ine&, que se encarga de traducir $interpretar
o compilar al vuelo& el btecode en instrucciones nativas de la plataforma destino. Esto permite
que una misma aplicacin Java pueda ser ejecutada en una gran variedad de sistemas con
arquitecturas distintas, siempre que con una implementacin adecuada de la J"#. Este %ec%o es
lo que %a dado lugar a la famosa frase' (rite once, run an(%ere $escribir una vez, ejecutar en
cualquier parte&. )a condicin es que *esde la versin +., de J-E, la implementacin de la
m!quina virtual de .un inclue un compilador J/0 $Just /n 0ime&. *e esta forma, en vez de la
tradicional interpretacin del cdigo btecode, que da lugar a una ejecucin lenta de las
aplicaciones, el J/0 convierte el btecode a cdigo nativo de la plataforma destino. Esta segunda
compilacin del cdigo penaliza en cuanto a tiempo, pero el cdigo nativo resultante se ejecuta
de forma m!s eficaz r!pida que si fuera interpretado. 1tras t2cnicas de compilacin din!mica
del cdigo durante el tiempo de ejecucin permiten optimizar m!s an el cdigo, dejando atr!s
la losa que sobre Java ca3a en cuanto a su lentitud..in embargo, no puede decirse que el
resultado de la compilacin de Java pueda compilar el cdigo con un m!4imo de eficiencia,
aprovec%ar los beneficios en cuanto a velocidad de cdigo m!quina nativo. 5unque los
compiladores cada vez son m!s avanzados, no todas las librer3as de Java tienen asociado un
cdigo m!quina equivalente que aprovec%ar. Por ejemplo, la librer3a reflect, que permite a los
programadores de Java e4plorar instrucciones que slo est!n disponibles en tiempo de
ejecucin, est! pobremente representado por cdigo m!quina.Java no fue la primera plataforma
basada en el concepto de una m!quina virtual, aunque es la que de m!s amplia difusin %a
gozado. El empleo de m!quinas virtuales se %ab3a centrado principalmente en el uso de
emuladores para audar al desarrollo de %ard(are en construccin o sistemas operativos, pero la
J"# fue dise6ada para ser implementada completamente en soft(are, al mismo tiempo %acer
que fuera portable a todo tipo de %ard(are.
Application Programming Interface
7na API $del ingl2s Applicatin Pr!ra""in! Inter#ace $ Inter#a% de Pr!ra"aci&n de
Aplicacine'& es un conjunto de especificaciones de comunicacin entre componentes soft(are.
-epresenta un m2todo para conseguir abstraccin en la programacin, generalmente $aunque no
necesariamente& entre los niveles o capas inferiores los superiores del soft(are. 7no de los
principales propsitos de una 5P/ consiste en proporcionar un conjunto de funciones de uso
general, por ejemplo, para dibujar ventanas o iconos en la pantalla. *e esta forma, los
programadores se benefician de las ventajas de la 5P/ %aciendo uso de su funcionalidad,
evit!ndose el trabajo de programar todo desde el principio. )as 5P/s asimismo son abstractas' el
soft(are que proporciona una cierta 5P/ generalmente es llamado la implementacin de esa
5P/.
Por ejemplo, se puede ver la tarea de escribir 89ola #undo8 sobre la pantalla en diferentes
niveles de abstraccin'
+. 9aciendo todo el trabajo desde el principio'
+. 0raza, sobre papel milimetrado, la forma de las letras $ espacio& 89,o, l, a,
,#,u, n, d, o8.
,. :rea una matriz de cuadrados negros blancos que se asemeje a la sucesin de
letras.
;. #ediante instrucciones en ensamblador, escribe la informacin de la matriz en
la memoria intermedia $8buffer8& de pantalla.
<. #ediante la instruccin adecuada, %az que la tarjeta gr!fica realice el volcado
de esa informacin sobre la pantalla.
,. Por medio de un sistema operativo para %acer parte del trabajo'
+. :arga una fuente tipogr!fica proporcionada por el sistema operativo.
,. 9az que el sistema operativo borre la pantalla.
;. 9az que el sistema operativo dibuje el te4to 89ola #undo8 usando la fuente
cargada.
;. 7sando una aplicacin $que a su vez usa el sistema operativo& para realizar la maor
parte del trabajo'
+. Escribe un documento 90#) con las palabras 89ola #undo8 para que un
navegador =eb como #ozilla o /nternet E4plorer pueda representarlo en el
monitor.
:omo se puede ver, la primera opcin requiere m!s pasos, cada uno de los cuales es muc%o m!s
complicado que los pasos de las opciones siguientes. 5dem!s, no resulta nada pr!ctico usar el
primer planteamiento para representar una gran cantidad de informacin, como un art3culo
enciclop2dico sobre la pantalla, mientras que el segundo enfoque simplifica la tarea eliminando
un paso %aciendo el resto m!s sencillos la tercera forma simplemente requiere escribir 89ola
#undo8. .in embargo, las 5P/s de alto nivel generalmente pierden fle4ibilidad> por ejemplo,
resulta muc%o m!s dif3cil en un navegador (eb %acer girar te4to alrededor de un punto con un
contorno parpadeante que programarlo a bajo nivel. 5l elegir usar una 5P/ se debe llegar a un
cierto equilibrio entre su potencia simplicidad su p2rdida de fle4ibilidad.

También podría gustarte