0% encontró este documento útil (0 votos)
30 vistas6 páginas

Introducción a Java y su Portabilidad

El documento introduce Java como un lenguaje de programación orientado a objetos que es independiente de la plataforma. Explica que Java se compila a bytecode que es interpretado por la máquina virtual de Java (JVM) para lograr portabilidad. También describe elementos clave de Java como el compilador, API, entornos de desarrollo integrados y mecanismos de seguridad. Finalmente, menciona algunas empresas que usan Java.

Cargado por

Kevin Zelaya
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
30 vistas6 páginas

Introducción a Java y su Portabilidad

El documento introduce Java como un lenguaje de programación orientado a objetos que es independiente de la plataforma. Explica que Java se compila a bytecode que es interpretado por la máquina virtual de Java (JVM) para lograr portabilidad. También describe elementos clave de Java como el compilador, API, entornos de desarrollo integrados y mecanismos de seguridad. Finalmente, menciona algunas empresas que usan Java.

Cargado por

Kevin Zelaya
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Carrera:

Ing. en Producción Industrial


Materia:
Programación Orientada Objetos

Catedrático: Master. Arnol Gutierres

Alumno:
Kevin Eduardo Zelaya Arita
Cuenta # 201510010421

Campus de San Pedro Sula 1


Kevin Zelaya 201510010421

INTRODUCCION

Java es un lenguaje de programación desarrollado por Sun Microsystems. Se presentó a


finales de 1995 y desde entonces es uno de los lenguajes de programación más populares a l
ser simple, orientado a objetos, distribuido, interpretado, sólido, seguro, de arquitectura
neutral, portable, de alto desempeño, multihilos y dinámico. James Gosling, director del
equipo de trabajo encargado de desarrollar Java, hizo realidad la proposición de un lenguaje
independiente de la plataforma, esto es, que permitiera programar una aplicación una sola vez
y luego pudiera ejecutarse en distintas máquinas y sistemas operativos.

2
JAVA

Para conseguir la portabilidad de los programas Java, se usa un entorno de ejecución para los
programas compilados en Bytecode, denominado Java Runtime Environment(JRE) que es
subconjunto del JDK , este último formado por una máquina virtual de Java y por librerías
estándar. Así que Java es un lenguaje, una plataforma de desarrollo, un entorno de ejecución
y un conjunto de librerías para el desarrollo de programas sofisticados. Las librerías para
desarrollo se denominan Java Application Programming Interface(Java API).

Los programas Java se compilan en un lenguaje intermedio, denominado Bytecode.


Este código es interpretado por la máquina virtual de Java, consiguiéndose la portabilidad en
distintas plataformas.
JRE es una pieza intermedia entre el código Bytecode y los distintos sistemas operativos
existentes en el mercado. La portabilidad de Java ha contribuido a que muchas empresas
hayan desarrollado sus sistemas de comercio electrónico y sus sistemas de información en
Internet con Java. El proceso de desarrollo y de mantenimiento de los sistemas resulta menos
costoso y las aplicaciones totalmente compatibles. La evolución de Java es muy rápida, su
plataforma de desarrollo se amplía incorporando a un número mayor de programadores en
todo el mundo.

Los elementos de la plataforma Java son el código fuente, el compilador, el API de Java, los
programas compilados en Bytecode y el entorno de ejecución de Java.

Existen distintos entornos de desarrollo de aplicaciones Java (IDE), mismos que ofrecen al
programador un entorno de trabajo integrado para facilitar el proceso completo de desarrollo
de aplicaciones, desde diseño, programación, documentación y verificación de los programas.
Algunos IDE´s de distribución libre son NetBeans, Eclipse o Blue o productos comerciales
como JBuilder, JCreatorPro, pero todos requieren de la instalación del JRE apropiado para el
sistema operativo.

Sobre el proceso de edición y compilación los resultados arrojan un código fuente que se
almacena en un archivo de tipo .java.

En cuanto a los Sistemas en Tiempo de Ejecución en la MVJ,realmente es una especificación


de la máquina virtual, que define elementos como el formato de los archivos de clases de
Java(.class),así como la semántica de cada una de las instrucciones que componen el
conjunto de instrucciones de la MV. Las implantaciones de esta especificación incluyen:
M Motor de ejecución. El procesador virtual que se encarga de ejecutar el código
(Bytecode), generado por algún compilador de Java o por algún ensamblador del
procesador virtual Java.
M Manejador de memoria. Encargado de obtener memoria para las nuevas instancias de
objetos, arreglos, etcétera, y realizar tareas de recolección de basura.

3
Kevin Zelaya 201510010421

M Manejador de errores y excepciones. Encargado de generar, lanzar y atrapar


excepciones.
M Soporte de métodos nativos. Encargado de llamar métodos de C++ o funciones de C,
desde métodos Java y viceversa.
M Interfaz multihilos. Encargada de proporcionar el soporte para hilos y monitores.
M Cargador de clases. Su función es cargar dinámicamente las clases Java a partir de los
archivos de clase (.class).
M Administrador de seguridad. Se encarga de asegurar que las clases cargadas sean
seguras, así como controlar el acceso a los recursos del sistema.

La JVM administra la memoria de la siguiente manera


M Al invocar una JVM para ejecutar una aplicación, pedirá al SO suficiente memoria para
ejecutar la JVM propiamente dichas y algo de memoria libre para que la aplicación
pueda crear nuevos objetos.
M Cuando se crea un nuevo objeto, la JVM reservará memoria para ese objeto dentro del
área de memoria libre.
M Cuando el área de memoria libre se vuelve pequeño, la JVM pedirá al SO más.
M Si un objeto no se utiliza más, será destruido. Su memoria será liberada y devuelta al
área de memoria libre.
M Cuando se utiliza todo el área de memoria libre, y no hay más memoria disponible del
SO, la JVM detendrá la aplicación y provocará un “Out of memory error”.

Asimismo Java permite la ejecución concurrente de varios hilos de ejecución, es decir, el


sistema de tiempo de ejecución de Java tiene la posibilidad de crear más de un procesador
virtual Java, donde ejecutar diferentes flujos de instrucciones, cada uno con su propia pila y su
propio estado local. Los procesadores virtuales pueden ser simulados por software o
implementados mediante llamadas al sistema operativo, sobre el cual subyace.
En el conjunto de instrucciones de la máquina virtual Java, sólo existen dos directamente
relacionadas con los hilos, monitorenter y monitorexit, que sirven para definir secciones de
código, que deben ejecutarse en exclusión mutua. El resto del soporte de los hilos se realiza
atrapando llamadas a los métodos pertenecientes a la clase [Link].

Sobre los mecanismos de seguridad incluye cuatro herramientas


1. jar. Esta es básicamente la misma herramienta que apareció en el JDK 1.1 y se emplea
para generar ficheros JAR.
2. keytool. Esta es una herramienta para la generación de pares de claves (públicas y
privadas), importar y exportar certificados X.509 (versiones 1, 2 y 3), generar
certificados X.509 V1 autofirmados y gestionar almacenes de claves (keystores).
3. jarsigner. Este programa se emplea para firmar ficheros JAR y verificar las firmas de
ficheros JAR ya firmados. La herramienta emplea los almacenes de claves para buscar
los datos que necesita para firmar ficheros (una clave privada), verificar firmas (clave
pública) o verificar claves públicas (certificados). Esta herramienta junto a la anterior
reemplaza al antiguo javakey.
4. policytool. Esta utilidad se emplea para crear y modificar los ficheros de configuración
de políticas de seguridad del cliente de modo sencillo.

4
Java es un lenguaje interpretado porque el compilador Java traduce cada archivo fuente de
clases a código de bytes (Bytecode), que puede ser interpretado por todas las máquinas que
den soporte a un visualizador que funcione con Java, (JRE) apropiado. Este Bytecode no es
específico de una máquina determinada, por lo que no se compila y enlaza como en el ciclo
clásico, sino que se interpreta.

Otra distinción de Java que no puede omitirse es su recolector de basura, mecanismo que
durante la ejecución de un programa hace que los objetos que ya no se utilizan se eliminen
automáticamente de la memoria, con los lenguajes tradicionales la eliminación de objetos y la
consiguiente optimización de recursos debe planificarse cuidadosamente al idear el programa;
dicho mecanismo facilita enormemente el diseño de un programa y optimiza los recursos de la
máquina que se esté usando para la ejecución del mismo.

Usar la MVJ provee universalidad (independencia de plataforma, pues para ejecutar un


programa basta compilarlo una sola vez: a partir de entonces, se puede hacer correr en
cualquier máquina que tenga implementado un intérprete de Java), sencillez (por el
mecanismo de "recogida de basura", que usa la capacidad multitarea de Java) y con la
orientación a objetos introduce otro nivel de abstracción y de protección, entre la computadora
y el software que ejecuta sobre ella.

Empresas que utilizan Java:

 TWITTER.
 SQUARE.
 NETFLIX.
 UBER.
 TIME NEW MEDIA.

5
Kevin Zelaya 201510010421

Conclusiones

 Java es una plataforma que brinda grandes posibilidades para el desarrollo de aplicaciones y el
trabajo de interfaces gráficas.
 Las funciones y código fuente en general que se utiliza en este programa son sencillos para que
otros usuarios lo puedan entender y modifícalo en caso que sea necesario.
 Es un programa sencillo y tiene una buena interfaz gráfica muy amigable para quien lo vaya a
utilizar.

También podría gustarte