0% encontró este documento útil (0 votos)
149 vistas

Que Es Java

Java es un lenguaje de programación popular y una plataforma que se utiliza comúnmente en aplicaciones y sitios web. Ofrece características como portabilidad, seguridad y rendimiento en diferentes plataformas.

Cargado por

davidricardolara
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
149 vistas

Que Es Java

Java es un lenguaje de programación popular y una plataforma que se utiliza comúnmente en aplicaciones y sitios web. Ofrece características como portabilidad, seguridad y rendimiento en diferentes plataformas.

Cargado por

davidricardolara
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 29

¿Qué es la tecnología Java y para qué la necesito?

Java es un lenguaje de programación y una plataforma informática comercializada por primera vez en 1995 por Sun
Microsystems. Hay muchas aplicaciones y sitios web que no funcionarán a menos que tenga Java instalado y cada día
se crean más. Java es rápido, seguro y fiable. Desde portátiles hasta centros de datos, desde consolas para juegos
hasta súper computadoras, desde teléfonos móviles hasta Internet, Java está en todas partes.

INFORMACIÓN TÉCNICA ADICIONAL

¿Qué recibiré al descargar software de Java?


Java Runtime Environment (JRE) es lo que se obtiene al descargar el software de Java. JRE está formado por Java
Virtual Machine (JVM), clases del núcleo de la plataforma Java y bibliotecas de la plataforma Java de soporte. JRE
es la parte de tiempo de ejecución del software de Java, que es todo lo que necesita para ejecutarlo en el explorador
web.

¿Qué es el software del plugin de Java?


El software del plugin de Java es un componente de Java Runtime Environment. JRE permite applets escritos en el
lenguaje de programación de Java para ejecutar en varios exploradores. El software del plugin de Java no es un
programa autónomo y no se puede instalar de forma independiente.
He leído las condiciones de Java Virtual Machine y de JVM. ¿Se trata de software de Java?
Java Virtual Machine es sólo un aspecto del software de Java que interviene en interacción web. Java Virtual
Machine está incorporado en la descarga del software de Java y ayuda a ejecutar las aplicaciones Java.

¿Qué es JavaFX?
JavaFX está basado en Java. La plataforma JavaFX permite a los desarrolladores de la aplicación crear
e implementar fácilmente aplicaciones de Internet enriquecidas (RIA) que se comportan de la misma
forma en distintas plataformas. JavaFX amplía la potencia de Java permitiendo a los desarrolladores
utilizar cualquier biblioteca de Java en aplicaciones JavaFX. Los desarrolladores pueden ampliar sus
capacidades en Java y utilizar la tecnología de presentación que JavaFX proporciona para crear
experiencias visuales que resulten atractivas.

Archivo Java (JAR)


El archivo Java (.jar) es una formato de archivo que se utiliza para agrupar varios archivos dentro de un
único archivo de almacenamiento. Normalmente un archivo JAR contiene los archivos de clase y recursos
auxiliares asociados a applets y aplicaciones.

Java Plugin
La tecnología Java Plugin forma parte de Java Runtime Environment y establece la conexión entre los
exploradores más conocidos y la plataforma Java. Esta conexión permite que los applets de sitios Web se
ejecuten en el explorador en el escritorio.

Caché de Java Runtime Environment (JRE)


Área de almacenamiento de la consola de Java que, en ocasiones, se debe borrar de forma manual para
permitir la carga e instalación de la última versión de Java.
Java Virtual Machine (JVM)
En Java, un conjunto de programas de software que permiten la ejecución de instrucciones y que
normalmente están escritos en código byte de Java. Las máquinas virtuales de Java están disponibles
para las plataformas de hardware y software de uso más frecuente.

JRE privada
Al instalar JDK, se instala una JRE privada y, opcionalmente, una copia pública. La JRE privada se
necesita para ejecutar las herramientas que incluye el JDK. No cuenta con configuración de registro y
está totalmente incluida en un directorio Java (normalmente C:\Program Files\jdk1.7.0\jre) cuya
ubicación sólo conoce el JDK.

JRE pública
La JRE pública la pueden utilizar otras aplicaciones Java y no va incluida en el JDK (normalmente está
en C:\Program Files\Java\jre1.7.0). Se registra en Windows
(en HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft). Se puede eliminar con la opción Agregar o quitar
programas y también se registra en los exploradores.

Caché del explorador web


La caché es una zona de almacenamiento temporal en la que se guardan los datos a los que se accede
con frecuencia para acelerar la carga de los mismos. La caché del explorador web guarda una copia de
las páginas que pasan a través del mismo. Para solucionar ciertos problemas de instalación o
configuración de Java, a veces es necesario limpiar la caché de forma manual accediendo a un cuadro de
diálogo.

¿Qué es JavaFX?
JavaFX está basado en Java. La plataforma JavaFX permite a los desarrolladores de la aplicación crear
e implementar fácilmente aplicaciones de Internet enriquecidas (RIA) que se comportan de la misma
forma en distintas plataformas. JavaFX amplía la potencia de Java permitiendo a los desarrolladores
utilizar cualquier biblioteca de Java en aplicaciones JavaFX. Los desarrolladores pueden ampliar sus
capacidades en Java y utilizar la tecnología de presentación que JavaFX proporciona para crear
experiencias visuales que resulten atractivas.

12 Características De Java
3,231 0

Se considera que Java es un lenguaje de programación de intención general desplegada con


el objetivo de ofrecer portabilidad y un nivel superior de seguridad. Igualmente de estas dos
particularidades principales de este lenguaje de programación, existen numerosas
otras características de Java que lo acreditan como un lenguaje excelente y popular. Java
tiene la capacidad de eliminar las características que no se utilizaron y asimismo creó
desconcierto. Igualmente existe una instalación para la recaudación automática de basura
en Java para que de este modo no tenga que eliminar cosas sin un informe. Para conseguir
más información sobre los prototipos de datos Java y los operarios Java, debe
seguir las 12 características de Java.

El equitativo principal de la instauración de esta expresión de programación Java era


cambiarlo en un lenguaje de programación manejable, simple y convincente. Aparte de esto,
igualmente hay algunas características encantadoras que juegan un papel fundamental en la
popularidad de este dialecto. Las propiedades de Javaigualmente se conocen como
términos de moda java.

Tabla de contenido
 12 características de Java que debes conocer
o 1 Sencillo
o 2 Orientado a objetos
o 3 Asegurado
o 4 Robusto
o 5 Arquitectura neutral
o 6 Portátil
o 7 Alto rendimiento
o 8 Repartido
o 9 Multi-hilo
o 10 Dinámica
o 11 Arquitectura Java neutral
o 12 Alto rendimiento del lenguaje

12 características de Java que debes conocer

1Sencillo

Este lenguaje de programación es muy factible de aprender y su coordinación es simple,


pulcra y fácil de concebir. Según Sun, el idioma Java es un lenguaje de clasificación
simple debido a que:
La coordinación de Java se fundamenta en C ++ para que los programadores la instruyan
más sencillamente luego de C ++.
Este lenguaje de programación ha excluido numerosas características enredadas y poco
usadas, por ejemplo, sobresalientes explícitos, exceso de operador, entre otros.
No es preciso eliminar esencias sin una reseña porque existe una recaudación automática de
componentes no usados en este lenguaje de programación.
2Orientado a objetos

Este lenguaje de programación es una lengua de programación encaminado a objetos. Por lo


tanto todo en Java es un objeto. Situada a objetos significa que creamos
nuestro software como una composición de desiguales prototipos de objetos que concentra
datos y conducta.
La programación situada a objetos, catalogándose como una metodología que facilita
el desarrollo y el entretenimiento del software al suministrar ciertas reglas. Por lo tanto
estos objetos en este lenguaje son reconocidos como OOP.
Los conceptos básicos de OOP son:
Clase
Objeto
Herencia
Polimorfismo
Distracción
Encapsulación
Plataforma autónoma
Este lenguaje de programación es independiente de la plataforma
Este lenguaje de programación es autónoma de la plataforma debido a que es diferente de
otras expresiones como por ejemplo C, C ++, entre otro. Que se reúnen en máquinas
determinadas de la plataforma, mientras que este lenguaje de programación es una vez de
manuscrito, se confecciona en cualquier sitio. Una plataforma es el medio ambiente
de hardware o software en el que se confecciona un programa. Existen dos prototipos de
plataformas asentadas en software y establecidas en hardware. Este lenguaje de
programación suministra una plataforma asentada en software.
La plataforma de este lenguaje de programación prorroga la mayoría de las nuevas
plataformas en el sentido de que es una plataforma asentada en software que se confecciona
en la parte óptima de otras plataformas afirmadas en hardware. Por lo tanto poseen dos
componentes: El medio de ejecución y API (Interfaz de programación de aplicaciones).
El símbolo Java se logra confeccionar en múltiples plataformas, como
en Windows, Mac / OS, Linux, Sun Solaris, entre otros. El colector reúne el código Java y
lo cambia en bytecode. Este bytecode es una cifra autónoma de la plataforma que se logra
ejecutar en múltiples escenarios, es decir, Run Anywhere (WORA) y Write Once.
3Asegurado

Este lenguaje de programación es mejor acreditado por su excelente seguridad. Con este
lenguaje de programación, logramos desplegar sistemas independientes de virus. Este
lenguaje de programación está predilecto porque: No posee un puntero explícito y
los programas Java se confeccionan dentro de un medio ambiente delimitado de máquina
virtual.
Cómo se asegura este lenguaje de programación
Classloader: Esta expresión en este lenguaje de programación forma parte del
tradicional Java Runtime Environment (JRE) que se usa para cargar géneros de Java en
el artefacto virtual Javade manera dinámica. Añade seguridad al apartar el paquete de los
géneros del sistema de registro local de las que se interesan de las fuentes de red.
Bytecode Verifier: por medio de este lenguaje se prueba las fracciones de código en busca
del código ilegal que consigue quebrantar el derecho de entrada a los objetos.
Administrador de seguridad: Establece a qué recursos logra acceder una variedad, de cómo
leer y escribir dentro del disco local.
El lenguaje Java suministra estos importes por defecto. El desarrollador de una atención
igualmente consigue suministrar algo de seguridad evidentemente por medio de SSL,
JAAS, abreviatura, entre otros.
4Robusto

La expresión de robusto sencillamente figura fuerte. Por lo tanto este lenguaje de


programación es robusto debido a que:
Usa un servicio de memoria sólida.
Existe una falta de itinerarios que impidan las dificultades de seguridad.
Existe una recaudación automática de basura en Java que se confecciona en el Aparato
Virtual Java para poder eliminar los objetos que ya no están siendo usados por
una aplicación Java.
Existe una administración de irregularidades y el dispositivo de comprobación de tipos en
Java. Todos estos sitios descubren que este lenguaje de programación sea más robusto.
5Arquitectura neutral

Este lenguaje de programación es imparcial en arquitectura porque no existe característica


dependiente de la ejecución, por ejemplo, el tamaño de los prototipos primitivos es
afirmado.
En la clasificación C, el prototipo de registro int invade 2 bytes de memoria para el diseño
de 32 bits y 4 bytes de recordación para el diseño de 64 bits. Aunque invade 4 bytes de
memoria para diseños de 32 y 64 bits en este lenguaje de programación.
6Portátil

Se ha determinado que Java es portátil debido a que le aprueba llevar el bytecode de Java a
cualquier escenario. No pretende ninguna ejecución.
7Alto rendimiento

Sabemos que este lenguaje de programación es más rápido que otras lenguas de
programación desarrolladas habitualmente debido a que el bytecode de Java está mucho
más cerca del código nativo. Aún es un poco más pausado que una lengua acopiada como
por ejemplo, C ++. Este lenguaje de programación es una lengua efectuada por lo que es
más lento que los expresados compilados, como por ejemplo, C, C ++, entre otros.
8Repartido

Este lenguaje de programación se comercializa porque suministra a los beneficiarios


establecer aplicaciones comerciadas en Java. Como por ejemplo EJB y RMI se usan para
establecer aplicaciones distribuidas. Esta propiedad de Java nos aprueba acceder a los
registros citando a los procedimientos desde cualquier aparato en Internet.
9Multi-hilo

Se determina que un hilo es como un esquema apartado, que se confecciona al mismo


tiempo. Logramos escribir programas con este lenguaje de programación que dominen
numerosas acciones a la vez precisando diversos hilos. La primordial ventaja de multi-
threading es que no invade la memoria para cada hilo. Participa en un área de memoria
usual Los hilos son significativos para multimedia, programas, aplicaciones web, entre
otros.
10Dinámica

Este lenguaje de programación es una lengua dinámica. Aprueba la carga dinámica de


géneros. Simboliza que los géneros se cargan a pedido. Igualmente acepta funciones de sus
dialectos nativos, es decir, de C y C ++.
Este lenguaje de programación acepta la recopilación dinámica y la dirección automática de
la memoria en la recolección de basura.
11Arquitectura Java neutral

En este lenguaje de programación, los caracteres se reúnen y, por lo tanto, se crean


bytecodes. Estas cifras de bytes se logran confeccionar en cualquier diseño de computadora,
lo que hace que el diseño de este lenguaje de programación sea neutral.
12Alto rendimiento del lenguaje

Este lenguaje de programación brinda un alto beneficio debido a sus caracteres de bytes, es
más apresurado que cualquier expresión interpretada. La arquitectura de Java está
delineada para oprimir los gastos usuales durante el período de ejecución. Este lenguaje de
programación logra crear aplicaciones tratadas utilizando aplicaciones especiales.

Principales Características de JAVA.


Java es un lenguaje de programación de propósito general
orientado a objetos desarrollado por Sun Microsystems. También
se puede decir que Java es una tecnología que no sólo se reduce
al lenguaje sino que además provee de una máquina virtual Java
que permite ejecutar código compilado Java, sea cual sea la
plataforma que exista por debajo; plataforma tanto hardware,
como software (el sistema operativo que soporte ese hardware).
El apoyo a esta tecnología viene dado por la gran cantidad de
fabricantes que apoyan esta especificación de máquina virtual.
Aprender el lenguaje de programación Java requiere tiempo y
esfuerzo, pero en este curso trataremos de sentar las bases para
el conocimiento general del lenguaje. El lenguaje se inspira en
otros lenguajes:

 sentencias comunes de C y C++ (sintaxis parecida a dichos


lenguajes)
 concurrencia parecida a la de Mesa (un lenguaje de
investigación de Xerox)
 interrupciones parecidas a las de Modula-3
 tratamiento de enlace dinámico de código nuevo parecido al
de Lisp
 definiciones de interfaces parecidas a las de Objective C
 gestión de almacenamiento automático parecida a la de
Lisp

Características.

Sun describe al lenguaje Java de la siguiente manera:

 Simple
 Orientado a Objetos
 Tipado estáticamente
 Distribuido
 Interpretado
 Robusto
 Seguro
 de Arquitectura Neutral
 Multihilo
 con Recolector de basura (Garbage Collector)
 Portable
 de Alto Rendimiento: sobre todo con la aparición de
hardware especializado y mejor software
 Dinámico

Sun admite que lo dicho anteriormente son un montón de


halagos por su parte, pero el hecho es que todas esas
caraterísticas pueden servir para describir el lenguaje. Todas
ellas son importantes, sin embargo cabe destacar tres, que son
las que han propocionado tanto interés por el lenguaje: la
portabilidad, el hecho de que sea de arquitectura neutral y su
simplicidad. Java ofrece toda la funcionalidad de los lenguajes
potentes, pero sin las características menos usadas y más
confusas de éstos.
Java elimina muchas de las características de otros lenguajes
como C++, para mantener reducidas especificaciones del
lenguaje y añadir características muy útiles como el recolector de
basura. No es necesario preocuparse de liberar memoria, el
recolector se encarga de eliminar la memoria asignada. Gracias al
recolector, sólo te tienes que preocupar de crear los objetos
relevantes de tu sistema ya que él se encarga de destruirlos en
caso de no ser reutilizados.

Java reduce en un 50% los errores más comunes de


programación con lenguajes como C y C++. Entre las
características más "indeseables" de C++ que se han evitado en
el diseño de Java destacan: ficheros de cabecera, aritmética de
punteros, sobrecarga de operadores, estructuras, uniones,
conversión implícita de tipos, clases base virtuales, pre-
procesador, etc.

Comentemos algunas de las características más interesantes:

Java es interpretado.

Estrictamente hablando, Java es interpretado, aunque en realidad


Java es tanto interpretado como compilado. De hecho, sólo cerca
del 20% del código Java es interpretado por la JVM (Java Virtual
Machine), pero es un 20% muy importante. Tanto la seguridad de
Java como su habilidad para ser ejecutado en múltiples
plataformas se deben a que los pasos finales de la compilación
se manejan localmente.

Existen ciertos entornos que para mejorar el rendimiento usan un


pequeño compilador para la última fase de compilación, de forma
que una vez que se tenga el bytecode, en vez de interpretarlo se
compila generando código nativo para esa plataforma y se
ejecuta, pero esta compilación se realiza cada vez que se quiera
ejecutar el programa. El único código realmente independiente es
el bytecode. Este tipo de compiladores se conocen como 'Just In
Time' o JIT. Sin embargo, el bytecode no se completa hasta que
se junta con un entorno de ejecución, que en este caso será la
máquina virtual Java de la plataforma en la que estemos. Un
browser puede proveer dicha plataforma desde el punto de vista
del sistema operativo.

Inconvenientes.
El browser tiene que interpretar los ficheros de clases antes de
que se ejecuten. Utilizando un lenguaje de programación
tradicional como puede ser el C++, el ordenador puede ejecutar
directamente el código generado. Sin embargo, debido a la
interpretación que el browser tiene que hacer de los ficheros, los
programas escritos en Java tienden a ejecutarse bastante más
lentos que con otros lenguajes de programación (p.e. C++).

¿Por qué se considera un rasgo positivo el hecho de combinar la


compilación y la interpretación?

 Facilita la seguridad y la estabilidad.


 Reduce los problemas de versiones.

El hecho de que la última fase de la compilación se lleve a cabo


por un dispositivo de una determinada plataforma, releva al
programador de la responsabilidad del mantenimiento de varios
fuentes en varias plataformas. La interpretación también admite
que los datos se incorporen en tiempo de ejecución, de ahí el
comportamiento dinámico que también caracteriza a Java.

La máquina virtual Java.

Para establecer Java como parte integral de la red, el compilador


Java compila su código a un fichero objeto de formato
independiente de la arquitectura de la máquina en que se
ejecutará. Cualquier máquina que tenga el sistema de ejecución
(runtime) puede ejecutar ese código objeto, sin importar en modo
alguno la máquina en que ha sido generado.

El código fuente Java se "compila" a un código de bytes de alto


nivel independiente de la máquina. Este código (bytecode) está
diseñado para ejecutarse en una máquina hipotética que es
implementada por un sistema runtime, que sí es dependiente de
la máquina. Por lo tanto, lo que verdaderamente es dependiente
del sistema es la Máquina Virtual Java (JVM) y las librerías
fundamentales, que también nos permitirían acceder
directamente al hardware de la máquina. El compilador Java
genera bytecode que serán ejecutables dondequiera que exista
una JVM.

Orientación a objetos.
Java implementa la tecnología básica de C++ con algunas
mejoras y elimina algunas cosas para mantener el objetivo de la
simplicidad del lenguaje. Java trabaja con sus datos como
objetos y con interfaces a esos objetos. Soporta las tres
características propias del paradigma de la orientación a objetos:
encapsulación, enlace dinámico y polimorfismo. Los modelos de
objetos son llamados, como en C++, clases y sus copias,
instancias. Estas instancias, como en C++, necesitan ser
construidas y destruidas en espacios de memoria.

Java incorpora funcionalidades inexistentes en C++ como por


ejemplo, la resolución dinámica de métodos. Esta característica
deriva del lenguaje ObjectiveC. En C++ se suele trabajar con
librerías dinámicas (DLLs) que obligan a recompilar la aplicación
cuando se retocan las funciones que se encuentran en su
interior. Java resuelve este inconveniente mediante una interfaz
específica llamada RTTI (Run Time Type Identification) que define
la interacción entre objetos excluyendo variables de instancias o
implementación de métodos. Las clases en Java tienen una
representación en el runtime que permite a los programadores
interrogar por el tipo de clase y enlazar dinámicamente la clase
con el resultado de la búsqueda.

En Java casi todo son objetos. La mayoría de los lenguajes


orientados a objetos permiten la herencia múltiple, lo que puede
llevar a confusiones y/o complicaciones innecesarias. Java no
permite herencia múltiple, sólo soporta "Herencia simple" en una
estructura cósmica (todas las clases Java derivan
jerárquicamente de la clase "Object"). La herencia simple
significa que en cada momento cada clase sólo hereda de otra
clase. Este tipo de herencia evita problemas del tipo de herencias
múltiples contradictorias o exclusivas entre sí.

Java también permite la creación de clases totalmente abstractas,


a las que llama interfaces con características similares a los
interfaces IDL de CORBA. Las interfaces permiten definir
métodos que
pueden compartir con varias clases, sin tener en cuenta cómo las
otras manejan los métodos.

Seguridad en JAVA.

El código Java pasa muchos tests antes de ejecutarse en una


máquina. El código se pasa a través de un verificador de
bytecodes que comprueba el formato de los fragmentos de
código y aplica un probador de teoremas para detectar
fragmentos de código ilegal -código que falsea punteros, viola
derechos de acceso sobre objetos o intenta cambiar el tipo o
clase de un objeto-.

Si los bytecode pasan la verificación sin generar ningún mensaje


de error, entonces sabemos que:

 El código no produce desbordamiento de operandos en la


pila
 El tipo de los parámetres de todos los códigos de operación
son conocidos y correctos
 No ha ocurrido ninguna conversión ilegal de datos, tal como
convertir enteros en puntero
 El acceso a los campos de un objeto se sabe que es legal:
public, private, protected
 No hay nungún intento de violar las reglas de acceso y
seguridad establecidas
 Evitamos saltos a mitad de una instrucción, o
direccionamientos de memoria de un objeto fuera de los
límites del mismo.

El cargador de clases también ayuda a Java a mantener su


seguridad, separando el espacio de nombres del sistema de
ficheros local, del de los recursos procedentes de la red. Esto
limita cualquier aplicación del tipo Caballo de Troya, ya que las
clases se buscan primero entre las locales y luego entre las
procedentes del exterior.

Definición de API.

API son las iniciales de Application Programmer Interface.


Pensemoslo siguiente. Por muy completo que sea un lenguaje en
cuanto a estructuras, tipos de datos y operadores, para que sea
funcional necesita hacer E/S (procesar ficheros, pedir datos por
teclado, leer el ratón o visualizar ventanas). La E/S es
dependiente del Sistema Operativo. La API es una capa de
abstracción que se pone encima del S.O. para permitir hacer
entradas y salidas de una manera estandarizada. Se trata de una
especificación de una librería software, detallando las llamadas a
funciones, los argumentos, y los resultados que obtienes al
utilizarlas. Una API sólo existe en papel y no es más que diseño.
De hecho, para usar una API necesitas una librería que exista y
que implemente esa API.

Clasificación de las APIs

Las APIs están clasificadas como API Core (Núcleo) o como


Standard Extension (Extensiones estándar). Una API Core es
aquélla que viene incluida en el sistema JDK, es parte de la
implementación estándar de Sun y cualquier sistema Java tiene
que ser capaz de soportarlas. Una extensión estándar es una
librería que los sistemas Java no tienen por qué soportar, pero de
hacerlo, lo tiene que hacer siguiendo exactamente la forma
estándar.

Productos Necesarios.
Una vez realizada esta pequeña introducción el siguiente paso
será exponer qué es necesario para realizar nuestros desarrollos
utilizando el modelo Java. Lo imprescindible para nuestros
desarrollos es el JDK, Java Development Kit, que son una serie
de herramientas de desarrollo que Sun pone a nuestra
disposición para la programación en Java. Describiremos
brevemente como se utiliza y qué componentes integra.

JDK.

Lo primero será seleccionar la versión de la JDK correspondiente


a nuestro sistema operativo, está disponible para los sistemas
operativos más habituales en Internet, en el sitio de Sun en la
URL http://java.sun.com/products/. Notar que es de distribución
gratuita.

Esto sí, la versión de JDK que encontremos depende, y mucho,


de la fecha. Dada la naturaleza extremadamente dinámica de la
evolución de Java, cada pocos meses aparece una nueva versión
de JDK. Una vez seleccionada la versión deseada y la plataforma
en la cual haremos los desarrollos, básicamente en la Web
encontraremos dos ficheros, uno con la JDK propiamente dicha y
otro con la documentación de sus componentes (es la misma
documentación que se puede encontrar en Internet pero resulta
más cómodo navegar por ella en modo local).

Principales herramientas en la JDK.

El compilador: javac

Compila los programas fuente escritos en Java (.java)


produciendo ficheros .class (bytecodes intermedios de Java).

Sintaxis: javac [opciones] NombreFichero.java

Algunas opciones de compilación son:

 -classpath directorioDeBusquedaDeClases
 -d directorioDeSalidaDeClass
 -g Incluye información de depuración al código objeto
 -nowarn No muestra mensajes de aviso, pero sí errores
 -O Activa la optimización (es una letra O, no un número 0)
 -verbose Muestra información de actividad del compilador

Comentar como opción más interesante -classpath en ella


especificaremos todos los directorios en los cuales buscará
nuestra aplicación las clases que usa para su implementación.
Esta variable puede ser definida como variable de entorno del
sistema operativo.

El intérprete: java

El llamado "runtime" de Java incorporado con JDK se compone


de dos partes:

 El intérprete de Java (java), que ejecuta código objeto Java


(.class).
 Las clases del API central de Java, contenidas como
ficheros .class comprimidos en un único fichero zip
(classes.zip o rt.jar, según la versión). Este fichero no debe
descomprimirse, el propio intérprete y el compilador
acceden a las clases cuando se necesitan.

Sintaxis: java [opciones] NombreFichero


Dentro de las opciones resaltamos nuevamente el classpath
como la más interesante. Notar que debemos haber creado
anteriormente NombreFichero.class con el compilador (javac).

Otras herramientas incluidas en JDK

Reseñamos algunas:

 Java Debugger (jdb).


 Desensamblador de ficheros class (javap).
 appletviewer, para la visualización de applets que puede
utilizarse alternativamente a un browser.
 Generador de documentación Java (javadoc). Analiza las
declaraciones y los comentarios de una serie de ficheros
fuente Java y produce una serie de páginas HTML que
describen las clases, su tipo, los métodos y campos; una
jerarquía de clases y un índice de todos los miembros.
 Generador de ficheros de cabecera C (javah). Permite unir
métodos nativos a código Java.
 Herramienta de archivo Java (jar). Combina varios ficheros
de clase Java, y otros recursos, en un único fichero jar.
 Herramienta de firma digital (javakey).
 Varias demos (directorio demo).

JavaWebServer.

Para la ejecución de las aplicaciones Java orientadas en el


servidor de aplicaciones necesitaremos una herramienta que
haga las veces de servidor de aplicaciones. Nosotros
utilizaremos JavaWebServer en su versión 2.0, que también está
disponible en el sitio de Sun en la
dirección: http://java.sun.com/products/. Esta herramienta
posibilita la ejecución tanto de servlets como de JSPs.

Ventajas
1. Lenguaje Multi-plataforma: El código que es escrito en java es leído por un
interprete, por lo que su programa andará en cualquier plataforma.
2. Manejo automático de la memoria. (para los que vienen de C/C++). El manejo
de la memoria se hace automáticamente y utilizando el garbage collector.
3. ¡ Es Gratis!
4. Desarrolla aplicaciones web dinámicas.
5. Desarrollar aplicaciones de servidor para foros en línea, almacenes,
encuestas,procesamiento de formularios HTML y mucho más.

Desventajas
1. Por su lentitud a la hora de ejecutar las aplicaciones (aunque ha mejorado con
el tiempo)
2. Requiere un intérprete.
3. Algunas implementaciones y librerías pueden tener código rebuscado.
4. Una mala implementación de un programa en java, puede resultar en algo muy
lento.
5. Algunas herramientas tienen un costo adicional

Un poco de Historia.
A finales de la década de los '80, Sun Microsystems inicia un
proyecto de investigación encabezado por James Gosling con el
propósito de desarrollar un software para dispositivos
electrónicos. Gosling y su equipo de investigación llegaron a la
conclusión de que el software para dispositivos de consumo
tiene algunos requerimientos de diseño únicos. También
descubrieron que existían lenguajes de programación, como C y
C++, con los cuales no se podía realizar la tarea de hacer un
software que fuera independiente de la arquitectura en la que se
ejecuta. En efecto, un programa escrito en C o C++ debe ser
compilado para ejecutarse en una determinada plataforma.
Cuando se cambia la plataforma, el programa debe ser
recompilado y seguramente modificado.

Como resultado de lo dicho anteriormente, en 1990 Gosling


comenzó a diseñar un nuevo lenguaje de programación que fuera
más apropiado para dispositivos que utilizan software
electrónico. Originalmente, este lenguaje fue conocido como Oak.
Era pequeño, de fiar e independiente de la arquitectura. Sin
embargo, el mercado no ofrecía espectativas para ese tipo de
software, con lo cual, se abandonó la idea de seguir adelante con
el proyecto.

En 1993, cuando el equipo de Java continuaba trabajando en el


diseño del nuevo lenguaje, la Word Wide Web apareció y tomó a
todos por sorpresa. El equipo de Java pensó que un lenguaje
cuyos programas se pueden ejecutar en cualquier arquitectura
sería ideal para programar en Internet, ya que hay mucha
diversidad de tipos de ordenadores conectados a Internet. Y fue
un hecho, todas las metas alcanzadas con las investigaciones
anteriores coincidentemente sirvieron para la programación en
Internet. En ese momento el desarrollo de Java se convirtió en un
asunto de máxima importancia para Sun.

El equipo escribió un Web Browser llamado HotJava, que fue el


primero en soportar applets de Java - un applet es un pequeño
programa que puede ser incrustado en otra aplicación-. HotJava
demostró el poder del lenguaje Java y lo puso de moda entre los
programadores y el resto de la gente. Los programadores
comenzaron con la versión alpha de Java que Sun puso a
disposición de toda la gente, creando las clasificaciones de los
mejores applets. La experiencia de Sun y la retroalimentación por
parte de los usuarios ayudaron a refinar el lenguaje y la interfaz
de programación de aplicaciones (API).

Al mismo tiempo que Sun publicaba la versión Beta del lenguaje,


Netscape anunciaba que la versión 2.0 del Web Browser,
Netscape Navigator, soportaría applets de Java. Esto sólo sirvió
para incrementar el fuerte interés en la tecnología Java, en el
mundo de la computación y en Internet. Con compañías como
IBM, SGI y Oracle licenciando la tecnología Java de Sun,
podemos estar seguros que cada vez más productos de Software
y Hardware incorporarán dicha tecnología.

Aunque inicialmente la primera aplicación de Java fue mediante


applets en programas que se ejecutaban en navegador en modo
cliente, su característica de independencia de la máquina, ha
hecho que la comunidad informática lo considere interesante más
allá de su ejecución en el navegador y actualmente se utiliza para
su ejecución en la capa servidora de aplicaciones e incluso en la
de base de datos.
va es un lenguaje de programación orientado a objetos desarrollado por Sun Microsystems a
principio de los años 90´s.

En Diciembre de 1950 Patrick Naughton, ingeniero de Sun Microsystems, reclutó a varios


colegas entre ellos James Gosling y Mike Sheridan para trabajar sobre un nuevo proyecto
conocido como "El proyecto verde".
Con la ayuda de otros ingenieros, empezaron a trabajar en una pequeña oficina en Sand Hill
Road en Menlo Park, California. Y así interrumpió todas las comunicaciones regulares con Sun
y trabajó sin descanso durante 18 meses.

Intentaban desarrollar una nueva tecnología para programar la siguiente generación de


dispositivos inteligentes, en los que Sun veía un campo nuevo a explorar. Crear un lenguaje de
programación fácil de aprender y de usar.
En un principio se consideraba C++ como lenguaje a utilizar, pero tanto Gosling como Bill
Joy lo encontraron inadecuado. Gosling intentó primero extender y modificar C++ resultando el
lenguaje C++ ++ - (++ - porque se añadían y eliminaban características a C++), pero lo
abandonó para crear un nuevo lenguaje desde cero al que llamo Oak (roble en inglés, según la
versión mas aceptada, por el roble que veía através de la ventana de su despacho).

El resultado fue un lenguaje que tenía similitudes con C, C++ y Objetive C y que no estaba
ligado a un tipo de CPU concreta.
Mas tarde, se cambiaría el nombre de Oak a Java, por cuestiones de propiedad intelectural, al
existir ya un lenguaje con el nombre de Oak. Se supone que le pusieron ese nombre mientras
tomaban café (Java es nombre de un tipo de café, originario de Asia), aunque otros afirman
que el nombre deriva de las siglas de James Gosling, Arthur Van Hoff, y Andy Bechtolsheim.

En Agosto de 1991 Oak ya corría sus primeros programas.

Para 1992, el equipo ya había desarrollado un sistema en un prototipo llamado Star7 (*7),
dispositivo parecido a una PDA, cuyo nombre venía de la combinación de teclas del teléfono de
la oficina del Proyecto Green que permitía a los usuarios responder al teléfono desde cualquier
lugar.

Por su parte, el presidente de la compañía Sun, Scott McNealy, se dio cuenta de forma
oportuna y estableció elProyecto Verde como una subsidiaria de Sun.

Después de mostrar a Scott McNealy y Bill Joy los prototipos de bajo nivel del sistema,
continuán con el desarrollo, incluyendo sistema operativo, Green OS; el lenguaje Oak, las
librerías, alguna aplicación básica y el hardware, hasta que el 3 de septiembre de 1992 se
termina el desarrollo y con ello el Proyecto Verde.

De 1993 a 1994, el equipo de Naughton se lanzó en busca de nuevas oportunidades en el


mercado, mismas que se fueron dando mediante el sistema operativo base.
La incipiente subsidiaria fracasó en sus intentos de ganar una oferta con Time-Warner, sin
embargo el equipo concluyó que el mercado para consumidores electrónicos smart y las cajas
Set-Up en particular, no eran del todo eficaces. La subsidiaria Proyecto verde fue amortizada
por la compañía Sun a mediados de 1994.

Afortunadamente, el cese del Proyecto Verde coincidió con el nacimiento del fenómeno
mundial WEB. Al examinar las dinámicas de Internet, lo realizado por el ex equipo verde se
adecuaba a este nuevo ambiente.

Patrick Naughton procedió a la construcción del lenguaje de programación Java que se


accionaba con un browser prototipo. El 29 de septiembre de 1994 se termina el desarrollo del
prototipo de HotJava. Cuando se hace la demostración a los ejecutivos de Sun, esta vez, se
reconoce el potencial de Java y se acepta el proyecto.

Con el paso del tiempo HotJava se convirtió en un concepto práctico dentro del lenguaje Java y
demostró que podría proporcionar multiplataformas para que el código pueda ser bajado y
corrido del Host del World Wide Web y que de otra forma no son seguros.
Una de las características de HotJava fue su soporte para los "applets", que son las partes de
Java que pueden ser cargadas mediante una red de trabajo para después ejecutarlo
localmente y así lograr soluciones dinámicas en computación acordes al rápido crecimiento del
ambiente WEB.

El 23 de mayo de 1995, en la conferencia SunWorld `95, John Gage, de Sun Microsystems,


y Marc Andreessen, cofundador y vicepresidente de Netscape, anunciaban la versión alpha de
Java, que en ese momento solo corría en Solaris, y el hecho de que Java iba a ser incorporado
en Netscape Navigator, el navegador mas utilizado de Internet.

Con la segunda alpha de Java en Julio, se añade el soporte para Windows NT y en la tercera,
en Agosto, para Windows 95.
En enero de 1995 Sun formá la empresa Java Soft para dedicarse al desarrollo de productos
basados en la tecnologías Java, y así trabajar con terceras partes para crear aplicaciones,
herramientas, sistemas de plataforma y servicios para aumentar las capacidades del lenguaje.
Ese mismo mes aparece la versión 1.0 del JDK.

Netscape Communications decide apoyar a Java applets en Netscape Navigator 2.0. Ese fue el
factor clave que lanzó a Java a ser conocido y famoso.
Y como parte de su estrategia de crecimiento mundial y para favorecer la promoción de la
nueva tecnología, Java Soft otorgó permisos para otras compañías para que pudieran tener
acceso al código fuente y al mismo tiempo mejorar sus navegadores.
También les permitía crear herramientas de desarrollo para programación Java y los facultaba
para acondicionar máquinas virtuales Java (JVM), a varios sistemas operativos.

Muy pronto las licencias o permisos contemplaban prestigiosas firmas como: IBM, Microsoft,
Symantec, Silicon Graphics, Oracle, Toshiba y Novell.

Los apples Java (basados en JDK 1.02) son apoyados por los dos más populares navegadores
web (Nestcape Navigator 3.0 y Microsoft Internet Explorer 3.0. I.B.M./Lotus, Computer
Asociates, Symantec, Informix, Oracle, Sybase y otras poderosas empresas de software están
construyendo Software 100% puro JAVA, por ejemplo el Corel Office que actualmente está en
versión Beta.

Los nuevos proyectos de Java son co-patrocinados por cientos de millones de dólares en
capital disponible de recursos tales como la Fundación Java, un fondo común de capital
formado el verano pasado por 11 compañías, incluyendo Cisco Systems, IBM, Netscape y
Oracle.

Hoy en día, puede encontrar la tecnología Java en redes y dispositivos que comprenden desde
Internet y superordenadores cientifícos hasta portátiles y teléfonos móviles; desde simuladores
de mercado en Wall Street hasta juegos de uso doméstico y tarjetas de crédito: Java está en
todas partes.

JVM
La Java Virtual Machine o JVM toma el código Byte Code resultante de compilar
tu aplicación Java y lo compila a su vez a código nativo de la plataforma en la
que se está ejecutando. La ventaja principal de este esquema es que es muy
fácil crear un programa en Java y que luego éste se pueda ejecutar en
cualquier sistema operativo para el cual exista una implementación de la JVM
(hoy en día, casi literalmente todos).

Para entendernos, la JVM es una abstracción de una máquina real, que es capaz
de entender el Byte Codecreado por el compilador de Java y traducirlo en
instrucciones nativas equivalente que a su vez el sistema operativo actual es
capaz de entender, ejecutando realmente la aplicación.
Existen implementaciones de la JVM para prácticamente la totalidad de
sistemas operativos del mercado, no solo para los tres que hemos visto en la
figura anterior. Por eso, en la práctica, los programas Java se pueden ejecutar
en teoría en cualquier sitio y de ahí su famoso eslogan "Escribe una vez, ejecuta
en todas partes".

El secreto del "Write once, write everywhere" es, precisamente, la existencia de


la JVM, que es la base de toda la filosofía de la plataforma Java.

La Java Virtual Machine, al igual que su contrapartida real, ejecuta los


programas como si fuera una computadora, para lo cual utiliza diversos
componentes, del mismo modo que los usaría un procesador real. Entre los
componentes más importantes se encuentran los registros, la pila, el recolector
de basura...

 Existe un componente de Java que debe estar instalado en cada sistema


operativo que se llama Java Virtual Machine o JVM. La JVM es capaz de
entender el Byte Code y ejecutarlo con las instrucciones equivalentes
que haya en el sistema operativo y procesador actuales en el que
estemos ejecutándolo.
 Esto es una gran ventaja porque nos permite ejecutar código Java en
cualquier plataformapara la que exista una JVM (en la práctica, casi
cualquiera).
 Dado que la ejecución mediante la JVM es más lenta que la nativa, en
ocasiones puede notarse cierta lentitud. Para ello un componente
especial de la JVM llamado Compilador JIT o Compilador en Tiempo Real,
compila a código nativo las partes de código más comunes o que
requieren mayor desempeño.

1. Java Development Kit

El Java Development Kit (JDK) es un entorno de desarrollo de software utilizado para


desarrollar aplicaciones y applets de Java. Incluye Java Runtime Environment (JRE), un
intérprete/cargador (Java), un compilador (javac), un archivador (jar), un generador de
documentación (Javadoc) y otras herramientas necesarias para el desarrollo de Java.

2. Java Runtime Environment

JRE significa “Java Runtime Environment” y también puede escribirse como “Java RTE“. Java
Runtime Environment proporciona los requisitos mínimos para ejecutar una aplicación Java;
consiste en Java Virtual Machine (JVM), clases principales y archivos auxiliares .
3. Java Virtual Machine

Su implementación ha sido proporcionada por Sun y otras compañías.

 Una implementación es un programa de computadora que cumple con los requisitos de la


especificación JVM.
 Es una instancia en tiempo de ejecución. Siempre que escriba el comando java en el símbolo
del sistema para ejecutar la clase java, se creará una instancia de JVM.

4. Diferencias: JDK, JRE, JVM

Para entender la diferencia entre estos tres, consideremos el siguiente diagrama:

Diferencias entre JDK, JRE y


JVM – Vía Quora

 JDK – Java Development Kit (en resumen JDK): es un kit que proporciona el entorno para
desarrollar y ejecutar el programa Java. JDK es un kit (o paquete) que incluye dos cosas:

1. Herramientas de desarrollo (para proporcionar un entorno para desarrollar sus programas de Java)

2. JRE (para ejecutar su programa java).

Nota: JDK solo lo utilizan los desarrolladores de Java.

 JRE – Java Runtime Environment (JRE): es un paquete de instalación que proporciona un


entorno para ejecutar (no desarrollar) el programa Java (o la aplicación) en su máquina. JRE
solo lo utilizan aquellos que solo desean ejecutar los Programas Java, es decir, los usuarios
finales de su sistema.
 JVM – Java Virtual Machine (JVM): es una parte muy importante de JDK y JRE porque
está contenida o incorporada en ambos. Cualquier programa Java que ejecute utilizando JRE
o JDK entra en la JVM y la JVM es responsable de ejecutar el programa Java línea por
línea, por lo que también se lo conoce como intérprete.

¿Qué es Java Enterprise Edition (Java EE)?


Java EE es un entorno independiente de la plataforma centrado en Java para desarrollar, crear e
implementar en línea aplicaciones empresariales basadas en web. Java EE incluye muchos componentes
de Java Standard Edition (Java SE). La plataforma Java EE consta de un conjunto de servicios, API y
protocolos que proporcionan la funcionalidad necesaria para desarrollar aplicaciones basadas en web de
varios niveles.

Java EE simplifica el desarrollo de aplicaciones y reduce la necesidad de programación y formación para


programadores al crear componentes modulares normalizados y reutilizables, así como al permitir
controlar muchos aspectos de la programación automáticamente por nivel.

Si es un desarrollador empresarial, necesita Java EE. Los desarrolladores empresariales necesitan Java
EE porque crear aplicaciones empresariales distribuidas no es sencillo, y necesitan una solución de alta
productividad que les permita centrarse únicamente en escribir su lógica empresarial y disponer de una
gama completa de servicios de clase empresarial en la que confiar, como objetos distribuidos
transaccionales, middleware orientado a mensajes y servicios de directorio y asignación de nombres.

¿Cuál es la diferencia entre el JRE y JDK?


JRE JDK
(Entorno de ejecución de Java) (Java Development Kit)

Es la implementación de la Máquina
Se trata de un paquete de software que puede utilizar para desarrollar
virtual de Java* que realmente ejecuta
aplicaciones basadas en Java.
los programas de Java.

El Entorno de ejecución de Java es un


Java Development Kit es necesario para desarrollar aplicaciones de
complemento necesario para ejecutar
Java.
programas de Java.

El JRE es más pequeño que el JDK,


El JDK necesita más espacio en el disco porque contiene el JRE
por lo que necesita menos espacio en
junto con varias herramientas de desarrollo.
el disco.

Puede descargar y recibir asistencia de Puede descargar y recibir asistencia de manera gratuita para el JDK
manera gratuita para el JRE en en
java.com oracle.com/technetwork/java/javase/downloads/

Incluye el JVM, bibliotecas


Incluye el JRE, conjunto de clases de API, compilador Java,
principales y otros componentes
Webstart y archivos adicionales necesarios para escribir applets y
adicionales para ejecutar aplicaciones
aplicaciones de Java.
y applets escritos en Java.
Java Native Interface (JNI) es un mecanismo que nos permite interactuar
con aplicaciones nativas desde un programa escrito en Java. Las aplicaciones
nativas son bibliotecas o funciones escritas en lenguajes como C, C++ y
ensamblador para un SOdonde se ejecuta la JVM. Este mecanismo es útil en
aquellas aplicaciones que no pueden ser escritas íntegramente en Java, dado
que API no proporciona todo el soporte necesario para las funciones de
nuestro proyecto. Suele ser utilizado para recursos de bajo nivel de la
plataforma como funcionalidades de sonido, ficheros o lectura de datos. La
interfaz es bidireccional, permite la comunicación de Java con las aplicaciones
nativas y viceversa.

1. Native Methods: Java llama a funciones implementada en código


nativo.
2. Invocation Interface: permite incrustar una JVM en una aplicación
nativa.

Los métedos nativos se implementan por separado en archivos .c o .cpp, por


los cuales se generará una biblioteca de enlace dinámico. Una biblioteca de
enlace dinámico es un fichero con código ejecutable el cual se carga en
tiempo de ejecución bajo demanda de un programa por parte del SO. Aportan
una gran ventaja con respecto al aprovechamiento de la memoria del sistema,
dado que gran parte del código ejecutable puede encontrarse en bibliotecas,
pudiendo así ser compartido entre distintas aplicaciones. Por supuesto
dependen de cada SO, siendo su tratamiento y manejo distintos.
Cada SO tiene sus propias reglas para el uso de las bibliotecas. Estas deben
ser colocadas en determinados directorios, para que cuando el programa
requiera de su uso, el SO pueda enlazarlas. Los sistemas tipo UNIX buscarán
las bibliotecas en las rutas indicadas en la variable de
entorno LD_LIBRARY_PATH. Como siempre Mac OSX está incluido en
este saco pero con alguna particularidad, en este caso Mac busca en el
directorio de la aplicación y en la variable de
entorno DYLD_LIBRARY_PATH además de en LD_LIBRARY_PATH.
Por último Windows también busca en el directorio donde se encuentra la
aplicación, así como en los directorios indicados en la variable PATH.
Recordar que para configurar las variables de entorno en sistemas UNIX lo
podemos hacer por medio del comando.

Java™ Platform, Standard Edition (Java SE) y Java Platform, Enterprise Edition
(Java EE) son plataformas muy utilizadas para la programación de los
servidores de aplicaciones en el lenguaje de programación Java. Puede utilizar
sesiones de reglas para llamar a aplicaciones Java SE o Java EE.
Java SE
Java Platform, Standard Edition (Java SE) es una especificación que describe
una plataforma Java de resumen. Proporciona una base para crear y desplegar
aplicaciones de negocio centradas en la red que van desde un ordenador de
escritorio PC a un servidor de grupo de trabajo. Java SE lo implementa el kit de
desarrollo de software (SDK) Java.
Rule Execution Server puede ejecutar conjuntos de reglas con código Java SE
100%. Muchos casos de uso existen para la ejecución pura de Java SE como,
por ejemplo, la ejecución de lotes o la ejecución de reglas desde un proveedor
Java Message Service (JMS) o un Enterprise Service Bus (ESB) no Java EE.
Java EE
Java Platform, Enterprise Edition (Java EE) se basa en la especificación Java
SE. Representa una colaboración entre varios proveedores y líderes del sector
y proporciona el soporte de la infraestructura para las aplicaciones.
En la infraestructura de Java EE, añada las reglas en dos niveles:

 En la capa de la aplicación, para gestionar la lógica empresarial dinámica y el flujo de


tareas.
 En la capa de presentación, para personalizar el flujo de páginas y el flujo de trabajo y
para construir páginas personalizadas basándose en el estado de la sesión.
Java EE es portable y escalable, y soporta la integración existente y los
componentes basados en la arquitectura EJB. Java EE simplifica las
aplicaciones empresariales definiendo y especificando un complejo conjunto de
servicios estándar comunes, como denominación, gestión de transacciones,
simultaneidad, seguridad y acceso a base de datos.
Java EE también define un modelo de contenedor, que aloja y gestiona
instancias de componentes de aplicaciones Java EE. Los contenedores están a
su vez alojados en servidores Java EE.
Java SE versus Java EE
El diagrama siguiente muestra pilas de Rule Execution Server en Java SE y
Java EE:

Cuando una aplicación requiere servicios como gestión de transacciones,


contenedores web o seguridad, puede añadir las ampliaciones Java necesarias
a la plataforma Java SE o cambiar a un servidor de aplicaciones Java EE
completo. Por ejemplo, Java Management Extensions (JMX) es una
amplicación para gestionar el ciclo de vida de los componentes y los servicios
de una aplicación. También puede utilizar JMX desde una aplicación Java SE.
Con el JMX estándar obtendrá la ventaja de la inspección y manipulación de
propiedades remotas, que son útiles para la depuración y gestión.

The purpose of learning a programming language is to become a better


programmer i.e. to become more effective at designing and implementing new
systems and at maintaining old ones.

The biggest difference between Java and C++ is how a program runs in these
languages. While C++ program runs as executable native machine code; a Java
program runs in a Java Virtual Machine (JVM). This clever idea of creating and
using a virtual machine to run Java programs revolutionized the computer
programing. This idea made Java programs machine independent while C++
programs could run only on machine they were designed for.

Difference in between c,c++ and java are given below

IN C:

Most of the c compilers support ansi c Structure. So it is easy to write the


portable code in c.portability means ,suppose some one wrote code for windows
OS ,that same code can be compatible with linux.i.e you have to copy and
recompile in linux/unix then you can run your programe.C is procedural
language so its time consuming to maintain the application in c.Its easy to write
for the machine in c.

In c++ :

you cannot write portable code.Suppose you wrote c++ code for linux and you
want to run the application in windows then not only we have to copy the code
in windows but you need to modify the code to get it compiled.As C is OOP so it
gives greater flexibility to maintain the application and quick development.

In java:

we create Byte code which is machine independent so we don't have to copy the
code.Only byte code has to be copied and corresponding JVM should be present
in the destination machine. So java is the internet language as internet span
over many architecture.I have given the very basic difference between c,c++ and
java.

Regards,

¿Que es JavaFX?
Jun 08, 2015 NGuerrero java, java web Comentarios desactivados

JavaFX está basado en Java. La plataforma JavaFX permite a los desarrolladores de la


aplicación crear e implementar fácilmente aplicaciones de Internet enriquecidas (RIA) que se
comportan de la misma forma en distintas plataformas. JavaFX amplía la potencia de Java
permitiendo a los desarrolladores utilizar cualquier biblioteca de Java en aplicaciones JavaFX.
Los desarrolladores pueden ampliar sus capacidades en Java y utilizar la tecnología de
presentación que JavaFX proporciona para crear experiencias visuales que resulten atractivas.

Las aplicaciones JavaFX pueden ser ejecutadas en una amplia variedad de dispositivos. En su
versión (JavaFX 1.3, abril 2010) permite crear aplicaciones de escritorio, para celulares, la
Web, TV, consolas de videojuegos, reproductores Blu-ray, entre otras plataformas planeadas.
En octubre de 2011 fue lanzada la versión 2.0. Para el desarrollo de aplicaciones JavaFX un
lenguaje declarativo, tipado llamado JavaFX Script, además puede integrarse código Java en
programas JavaFX. JavaFX es compilado a código Java, por lo que las aplicaciones JavaFX
pueden ser ejecutadas en computadores con la máquina virtual de Java instalada (JRE), o
celulares corriendo Java ME.
JavaFX fue anunciado en la conferencia de desarrolladores JavaOneen mayo de 2007 y
liberado en diciembre de 2008. La intención de Sun Microsystems respecto de JavaFX es
competir en el espacio que ya ocupan Flash de Adobe, y Silverlight de Microsoft. En conclusión
la mayoría de los lenguajes de script están orientados a las páginas web; éste está orientado a
las interfaces que son altamente animadas”.

¿QUE ES LO QUE HACE?

JavaFX amplía la potencia de Java permitiendo a los desarrolladores utilizar cualquier


biblioteca de Java en aplicaciones JavaFX. De esta forma, los desarrolladores pueden ampliar
sus capacidades en Java y utilizar la tecnología de presentación que JavaFX proporciona para
crear atractivo visual. Como usuario, podrá ejecutar aplicaciones JavaFX en un explorador o
arrastrarlos y soltarlos en el escritorio.

CARACTERÍSTICAS
 Permite a los desarrolladores integrar gráficos vectoriales, animación, sonido y activos web de vídeo en
una aplicación interactiva, completa y atractiva

 Amplía la tecnología Java permitiendo el uso de cualquier biblioteca de Java en una aplicación JavaFX

 Permite mantener un eficaz flujo de trabajo entre diseñador y desarrollador en el que los diseñadores
pueden trabajar en las herramientas que deseen mientras colaboran con los desarrolladores

PLATAFORMAS DISPONIBLES PARA SU USO

JavaFX está disponible en Windows, Mac OS X y Linux.

Java Web Start. Es la implementación de referencia de la


especificación JNLP (Java Networking Launching Protocol) y está desarrollada por
Sun Microsystems, mediante la cual permite arrancar aplicaciones Java que están
en un servidor web de aplicaciones comprobando previamente si el cliente tiene la
versión actualizada de dicha aplicación. Si no es así descargará la última versión y
se ejecutará en local. Los ficheros que contiene la información sobre donde se
encuentra la aplicación, versión, etc. tiene la extensión jnlp.

Sumario
[ocultar]

 1 Características
 2 Funcionamiento
 3 Requisitos
 4 Otras propiedades
 5 Ejecución de una aplicación
 6 Instrucciones
 7 Desde el símbolo del sistema
 8 Fuente

Características
 Está hecho en java, con lo se podrá instalar con independencia del sistema
operativo. Aun así, hay distintos ficheros e instrucciones de instalación para
cada sistema operativo.
 Es independiente del navegador. Funcionará en Explorer, Navigator, o
cualquier otro.
 Mantiene la seguridad de los applets de Java, es decir, no permitirá que
ninguna aplicación acceda a recursos de nuestra máquina ni se conecte con
otras sin nuestro permiso.
 Incorpora librerías que permiten el uso algunas ventajas de los navegadores
sobre los applets, como son el uso de cookies y la creación de diálogos de
selección de ficheros, por ejemplo.
 Gestiona la descarga de las aplicaciones y permite su fragmentación, con lo
que, una vez que nos bajemos una aplicación, ya no nos la tendremos que
descargar hasta que se modifique alguno de sus módulos (ficheros jar) en el
servidor web.
 Es para Java 2, con lo que podremos utilizar swing y otras características sin
tener que instalar un plug-in ni nada parecido.
 Permite seleccionar la máquina virtual java que ejecutaremos, con lo que
podremos tener varias instaladas.
 Necesita ser instalado en la máquina cliente. Esta es su principal desventaja,
aunque el fichero de instalación solo son unas 800 K, hay que instalarse
también alguna máquina virtual java (JRE).
 El entorno está escrito en varios idiomas, y se detecta automáticamente.
Podremos ver el entorno en castellano si éste es el idioma de nuestro sistema.

Funcionamiento
Las aplicaciones hechas para esta aplicación se encontrarán en servidores web y
se ejecutarán por medio de enlaces puestos en páginas HTML. De esta manera,
igual que cuando un navegador llama a una imagen gif o jpg, la muestra, al llamar
a un fichero Java Web Start, que tienen extensión .jnlp la ejecutará sobre la
aplicación Java Web Start.

Java Web Start se ejecuta sobre una máquina virtual java como una aplicación de
ventanas hecha con swing.

Una vez cargadas las aplicaciones, podremos ejecutarlas sin necesidad de abrir el
navegador. Ejecutando la aplicación Java Web Start, se nos mostrará una lista con
las aplicaciones y se nos dará la opción de ejecutarlas.

Requisitos
Tener instalada alguna máquina virtual java. Podemos usar la que viene con
herramientas como JBuilder, Visual Cafe, Visual Age, Bolero, JDK, o instalarnos el
JRE. La versión tendrá que ser la 1.2 o posterior.

Tendremos que configurar el navegador para que ejecute los ficheros con mime-
type "application/x-java-jnlp-file" con Java Web Start. El servidor web donde se
encuentre la aplicación tendrá que devolver los ficheros con extensión .jnlp con
este mime-type. Por ejemplo, en apache, tendriamos que añadir la
linea application/x-java-jnlp-file jnlp al fichero mime.types del directorio de
configuración. Cómo crear aplicaciones.

La aplicación Java Web Start consta de una aplicación para Java2 en uno o varios
ficheros jar y un fichero jnlp donde se pondrán las características de la aplicación
(icono, nombre, etc) y dónde se encuentran los ficheros jar.

El fichero jnlp es un documento XML, con lo que podrá editarse con cualquier
editor de texto.

Otras propiedades
Java Web Start se incluye en el entorno de ejecución de Java (JRE) como parte de
JRE 5.0. Esto significa que al instalar el JRE, Java Web Start se instala
automáticamente. Cuando se descarga por primera vez una aplicación que utiliza
la tecnología Java Web Start, el software de Java Web Start se ejecuta
automáticamente y guarda la aplicación localmente, en la memoria caché del
equipo. De este modo, las subsiguientes ejecuciones son prácticamente
instantáneas, ya que los recursos necesarios están disponibles de forma local.
Cada vez que se inicia la aplicación, el componente de software de Java Web Start
comprueba si en la sede Web de la aplicación hay una versión nueva disponible; si
es así, la descarga y la ejecuta de forma automática.

Ejecución de una aplicación


 Desde un navegador: haga clic en un vínculo de una página Web.
 Desde un icono del escritorio: si utiliza una aplicación con frecuencia, puede
crear un acceso directo en su escritorio o en el menú Inicio. Java Web Start le
preguntará si desea crear accesos directos o una entrada en el menú Inicio. Si
responde "sí", todas las ejecuciones posteriores de la aplicación se podrán
iniciar sin necesidad de un navegador.
 Desde el Visualizador de la memoria caché de aplicaciones de Java: Java Web
Start también proporciona un Visualizador de la memoria caché de
aplicaciones, que puede ejecutar desde el Panel de control de Java. Este
visualizador le permite ejecutar directamente las aplicaciones que se
descargue.

Instrucciones
 Vaya a Inicio > Configuración > Panel de control > doble clic en el icono Java.
El Panel de control de Java se iniciará.
 Haga clic en la ficha General.
 Haga clic en el botón Configuración de la sección Archivos temporales
de Internet.
 Haga clic en el botón Ver aplicaciones.
 Haga doble clic en la aplicación de la lista que desea iniciar.

Desde el símbolo del sistema


También puede ejecutar una aplicación desde el símbolo del sistema introduciendo
javaws jnlp_url, donde jnlp_url corresponde a la URLdel archivo jnlp de la
aplicación.

 Vaya a Inicio > Ejecutar > escriba "command". Aparecerá una ventana de
símbolo del sistema.
 Escriba "javaws url_of_jnlp".
 Java™ Web Start es una tecnología de despliegue de aplicaciones que
incluye la portabilidad de applets, el mantenimiento de servlets y
tecnología de archivos JSP (JavaServer Pages) y la sencillez de
lenguajes de marcación como XML y HTML. Es una aplicación Java que
permite iniciar, desplegar y actualizar aplicaciones cliente Java EE con
todas las características desde un servidor Web estándar. El cliente
Java Web Start se utiliza en las plataformas que dan soporte a un
navegador web.
 No se da soporte a Java Web Start.
 Al iniciar Java Web Start por primera vez, puede bajar nuevas
aplicaciones cliente desde Internet. A partir de entonces, cada vez que
inicie JWS, podrá iniciar las aplicaciones mediante un enlace en la
página web o (en Windows) desde los iconos del escritorio o desde el
menú Inicio. Puede desplegar aplicaciones rápidamente utilizando Java
Web Start, aplicaciones de memoria caché en la máquina cliente, e
iniciar aplicaciones de forma remota fuera de línea. Además, como Java
Web Start se ha creado a partir de infraestructura Java EE (Java
Platform, Enterprise Edition), la tecnología ha heredado la arquitectura
de seguridad total de la plataforma Java EE.

También podría gustarte