English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
Todas las categorías

como hago para que el ares descargue mas rapido sin banda ancha, me han dicho el java ayuda.

2007-02-26 05:24:02 · 4 respuestas · pregunta de ◄♫ Diego ♫► 2 en Ordenadores e Internet Software

4 respuestas

JAVA: DESCRIPCION Y CUALIDADES



II.1.- La máquina virtual —ó VM— de Java

II.1.1.- Lenguajes compilados e interpretados. Un lenguaje de programación es un conjunto de instrucciones, y una serie de esas instrucciones se dice que forma el código fuente de un programa. Para que un ordenador entienda un programa hay que traducir el código fuente a código máquina; según el lenguaje de programación empleado, esto se puede hacer de dos maneras:

El código fuente se traduce a código máquina completamente antes de la ejecución del programa, mediante un proceso llamado compilación, realizado por un programa llamado compilador. Se dice que el lenguaje de programación es un lenguaje compilado.

La traducción se realiza en el mismo momento de la ejecución, mediante un proceso llamado interpretación, en el que un programa llamado intérprete lee las líneas del código fuente y las va traduciendo y ejecutando una a una. El lenguaje se dice entonces que es interpretado.

Lógicamente, un programa compilado se ejecuta más deprisa que uno interpretado, pues el compilador ha producido previamente todo el código máquina necesario, y normalmente ha llevado a cabo un proceso de optimización. Como contrapartida, es muchísimo más fácil escribir un intérprete que un compilador, lo que permite disponer de intérpretes en una amplia variedad de entornos, incluidas máquinas de reducidas prestaciones. Esto hace que los lenguajes interpretados estén presentes en más plataformas.

En el caso de Java, se trataba de conseguir tanto la eficiencia de los lenguajes compilados como la universalidad de los lenguajes interpretados. Desde el punto de vista de las prestaciones, los requisitos exigidos al lenguaje hacían pensar en la utilización de un compilador: pero esto implicaba la pérdida de universalidad de las aplicaciones, pues la generación de código máquina para un ordenador particular hace necesario adaptar y recompilar las aplicaciones para cada plataforma existente, y para todas las futuras. De modo que se integraron las dos filosofías:



II.1.2.- Java: entre compilación e interpretación. Se decidió que los programas escritos en Java debían sufrir una compilación como paso previo a su ejecución. Sin embargo, el resultado de la compilación no es un conjunto de instrucciones comprensibles por un cierto microprocesador, sino una representación binaria genérica, llamada byte codes. Se diseñó una máquina ficticia, con un juego de instrucciones asociado, que entendiera los byte codes, como lo haría un microprocesador real, y se la llamó la máquina virtual de Java (abreviadamente: VM, por virtual machine), pues no existe ningún microprocesador que utilice el juego de instrucciones mencionado, sino que se trata de una pieza de software.

La función del compilador de Java es por tanto producir byte codes, o código para la VM. Así se consigue: generar un código binario compacto y eficiente; aislarlo de cualquier máquina particular; y definir perfectamente el comportamiento del lenguaje. En efecto, la VM está diseñada para ajustarse exactamente a la sintaxis y a la semántica de Java: p.ej, algunas de las características de la VM están relacionadas directamente con la estructura de datos en Java, lo que permite fijar ciertos parámetros para la representación de los mismos. (Esos parámetros, sin embargo, varían entre los distintos microprocesadores reales, lo que hace que con lenguajes de programación tradicionales haya que cambiar el código fuente cada vez que se quiere ejecutar un programa en diferentes máquinas.)

Para ejecutar Java en ordenadores reales, la VM se implementa en cada plataforma como software, para que funcione en tanto que intérprete de los byte codes: en vez de ir leyendo cada línea del código fuente, como haría un intérprete tradicional, la VM va examinando cada uno de los byte codes compilados previamente, y los ejecuta en el ordenador donde reside el intérprete. Así, el código Java compilado (los byte codes) puede ejecutarse en cualquier plataforma que disponga de un intérprete de Java, pues las características de la máquina virtual son siempre las mismas.



II.1.3.- Compilador just-in-time en la VM de Java. La interpretación de los byte codes en un ordenador no puede resultar tan rápida como la ejecución de un programa escrito en un lenguaje compilado para ese ordenador. Para paliar en buena medida la mayor lentitud de Java con respecto a los lenguajes compilados, se han ideado dos soluciones. La primera es la adopción de la técnica de compilación just-in-time por la VM: cuando ésta va interpretando los byte codes, va almacenando el código máquina resultante, de modo que cuando el flujo de ejecución del programa obliga a volver sobre una parte que ya ha sido procesada, no es necesario volver a interpretar los byte codes, sino que basta con reutilizar la secuencia de código memorizada. Esto da resultados espectaculares en trozos de código que utilicen a fondo la capacidad computacional del microprocesador, como es el caso de los cálculos de todo tipo.

[La segunda solución es la fabricación de chips específicos para Java, esto es, microprocesadores cuyas características y juegos de instrucciones coinciden con los de la VM de Java. Esto ha dado lugar a un tipo especial de "ordenadores de red" ó NCs (network computers) de los que se hablará más adelante: véase §III.2.2.]



II.2.- Cualidades principales de Java

II.2.1.- Universalidad. Aunque hemos dicho que un programa interpretado no es en principio tan rápido como un programa equivalente compilado, las prestaciones de Java son sin embargo muchísimo mejores que las de cualquier lenguaje interpretado. Este hecho, junto con la sencillez de programación en Java (a la que nos referiremos luego) ha propiciado que se hayan escrito intérpretes de pequeño tamaño adaptados a prácticamente cualquier plataforma, desde mainframes y ordenadores personales (con cualquier sistema operativo: Windows, Macintosh OS, Unix,...) hasta dispositivos electrónicos de bajo coste. Además, la universalidad de los byte codes hacen de Java el lenguaje idóneo para desarrollar aplicaciones para Internet. De hecho, la mayor parte de los navegadores (Netscape Navigator, Internet Explorer, HotJava) integran máquinas virtuales, y por tanto intérpretes de Java, lo que hace posible acceder automáticamente a los applets presentes en las páginas web. De nuevo la sencillez de Java hace que esta integración no reduzca en absoluto las prestaciones de los navegadores, permitiendo además la ejecución rápida y simultánea de gran cantidad de applets.

También se suele hacer referencia a la universalidad de Java con términos equivalentes como transportabilidad, o 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.

Además, las bibliotecas estándar de funciones y métodos de Java (definidas en su API, Application Programming Interface) facilitan la programación de multitud de acciones complejas (desarrollo de interfaces gráficas, multimedia, multitarea, interacción con bases de datos,...). Ningún otro lenguaje (ni compilado ni interpretado) dispone como Java de una cantidad tan grande de funciones accesibles en cualquier plataforma sin necesidad de cambiar el código fuente.



II.2.2.- Sencillez. Java es un lenguaje de gran facilidad de aprendizaje, pues en su concepción se eliminaron todos aquellos elementos que no se consideraron absolutamente necesarios. Por ejemplo, en comparación con otros lenguajes como C ó C++, es notable la ausencia de punteros, o lo que es lo mismo: es imposible hacer referencia de forma explícita a una posición de memoria; ello ahorra gran cantidad de tiempo a los programadores, dado que el comportamiento imprevisto de los punteros es una de las principales fuentes de errores en la ejecución de un programa. Por otra parte, el código escrito en Java es por lo general mucho más legible que el escrito en C ó C++.

Por otro lado, Java dispone de un mecanismo conocido como de "recogida de basura", el cual —usando la capacidad multitarea de Java— hace que, durante la ejecución de un programa, los objetos que ya no se utilizan se eliminen automáticamente de la memoria. 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 (con los lenguajes tradicionales, la eliminación de objetos y la consiguiente optimización de recursos debe planificarse cuidadosamente al idear el programa).



II.2.3.- Orientación a objetos. Aunque C++ es también, como Java, un lenguaje orientado a objetos, la diferencia fundamental es que Java lo es desde su concepción, mientras que C++ se diseñó como un lenguaje compatible con C (que no es orientado a objetos): de este modo, un programa escrito en C++ puede ignorar la mayoría de las características de orientación a objetos de C++ y compilarse sin problemas en un compilador de C++. Sin embargo, un programador no puede obviar la orientación a objetos cuando escribe un programa en Java, y esto hace que las aplicaciones escritas en Java tengan interesantes ventajas, como veremos en §III.

Para entender qué es la orientación a objetos, recordemos que los lenguajes tradicionales no orientados a objetos, como Pascal ó C, estaban pensados para trabajar de forma secuencial y basaban su funcionamiento en el concepto de procedimiento o función. La tarea principal del programa se dividía en funciones o tareas más pequeñas, a menudo muy interrelacionadas, por lo que era difícil modificar una función sin tener que revisar el resto del programa: por tanto, también era difícil reutilizar o actualizar los programas ya escritos.

En el caso de los lenguajes orientados a objetos, el concepto clave no es el de función, sino el de objeto. Un objeto es un elemento de programación, autocontenido y reutilizable, y que podríamos definir como la representación en un programa de un concepto, representación que está formada por un conjunto de variables (los datos) y un conjunto de métodos (o instrucciones para manejar los datos). Por ejemplo, en una aplicación de Bibliotecas un objeto puede ser un código de barras, que contiene datos (p. ej. el número mismo del código de barras) e instrucciones para manejarlos (p. ej. el método para calcular el dígito de control). Los objetos, además, poseen la capacidad de enviarse mensajes entre sí durante la ejecución de un programa.

La "encapsulación" de variables y métodos en un objeto tiene claras ventajas:

Cada objeto puede ser modificado y mantenido por separado.

Se pueden mantener en un objeto métodos y variables que no son accesibles desde fuera de él, lo que evita multitud de posibilidades de error en el momento de confeccionar un programa. Esta característica se llama "ocultamiento de la información".

Es posible reutilizar porciones de programa ya escritas: en el ejemplo anterior, un programador puede reutilizar el objeto "código de barras" para escribir software para diversos tipos de transacciones, como préstamo, devolución, reserva, etc. sin necesidad de reescribir cada vez los comandos para calcular el dígito de control, dado que el programa se encargará de hacerlo cada vez que se use el objeto.

Como hemos dicho en §I.2, el estándar JavaBeans de Java proporciona un entorno visual de programación que facilita y simplifica la programación de objetos. De hecho, es posible escribir applets sencillos en Java sin necesidad de escribir una sola línea de código.



II.2.4.- Seguridad. En general, se considera que un lenguaje es tanto más seguro cuanto menor es la posibilidad de que errores en la programación, o diseños malintencionados de programas (virus), causen daños en el sistema. La extrema seguridad de Java se establece a tres niveles:

Nivel de seguridad dado por las características del lenguaje, tales como la ausencia de punteros (que evita cualquier error de asignación de memoria) o el "ocultamiento de la información" propio de la programación orientada a objetos, por recordar dos ejemplos ya mencionados.

Nivel de seguridad dado por el diseño de la VM:

La VM de Java posee un verificador de los byte codes, que antes de ejecutarlos analiza su formato comprobando que no existen punteros en ellos, que se accede a los recursos del sistema a través de objetos de Java, etc.

Otro elemento constitutivo de la VM es el cargador de clases. Una clase es una categoría de objetos utilizados en un programa; cuando se ejecuta un programa en Java, éste llama a determinadas clases a través del cargador de clases. Estas clases pueden provenir de tres lugares distintos, en donde residen en forma de ficheros: del ordenador local, de la red de área local a la que pueda estar conectado el ordenador cliente, o de Internet. En función de la procedencia de las clases, se efectúan una serie de comprobaciones diferentes y el gestor de seguridad de la VM prohíbe los accesos peligrosos.

Nivel de seguridad dado por la API de Java. El conjunto de métodos y clases que estamos obligados a utilizar cuando programamos en Java para acceder a los recursos del sistema, está definido por la API, y constituye la última barrera defensiva. El diseño de dichos métodos y clases hace que éstos realicen múltiples verificaciones cuando son invocados, de modo que se dificultan los errores (voluntarios o involuntarios).



II.2.5.- Adaptación a redes (y en particular a Internet). Ya hemos dicho que Java irrumpió en el mercado para potenciar la interactividad en Internet, y también hemos hablado de los applets, pequeños programas en Java que se cargan junto con una página web desde un servidor, y que son ejecutados (por la VM del navegador del cliente) como una parte de la página web. Además de las ventajas que supone su ejecución local, los applets disponen de una significativa riqueza de recursos y son capaces de realizar tareas muy complejas a pesar de su reducido tamaño. Una de las explicaciones de esta sorprendente capacidad es el hecho de que los applets se sirven del propio código del navegador en cuya VM se ejecutan, utilizándolo para tareas tales como presentación gráfica o comunicaciones. Sin embargo, el acceso a las funciones del navegador es totalmente automático y transparente para el programador, que debe limitarse a invocar ciertas funciones de la API de Java; estas invocaciones, interpretadas por el navegador, dan origen a acciones muy complejas. Esta observación es muy importante cuando se discute del rendimiento de Java, pues todas estas acciones se realizan en la máquina que está ejecutando el applet, y la rapidez de ejecución de las mismas no depende de que Java sea un lenguaje semiinterpretado (o semicompilado).

Entre las tareas básicas más comunes que suelen realizar los applets, se encuentran: visualizar animaciones en la ventana del navegador; reproducir sonidos; establecer comunicaciones con el servidor del que procede el applet (p. ej. para cargar desde él ficheros de cualquier naturaleza); crear interfaces gráficas con los elementos habituales de los entornos de ventanas (como Macintosh o Windows): menús desplegables, botones, áreas de texto, barras de desplazamiento, etc.; pedir datos al usuario para procesarlos (gestionando eventos como pulsaciones de teclas o acciones con el ratón); etc. No obstante, y como acabamos de decir, es posible programar applets para realizar tareas de enorme complejidad.

2007-02-26 05:36:16 · answer #1 · answered by marcia 5 · 0 0

Java es un lenguaje de programación multiplataforma, puedes crear aplicaciones que puedan ser ejecutadas tanto en Windows como en Linux o bien en S.O. Symbian que es el que usan muchos aparatos de telefonpia celular.

2007-02-26 13:57:47 · answer #2 · answered by m35mex 2 · 0 0

El Java es una aplicacion que permite ejecutar ciertos archivos multimedias en tu PC (juegos en paginas que necesitan Java). Java tambien se encuentra en muchos dispositivos, como celulares.
Java no es necesario descargar desde una red p2p, puedes descargarlo desde aqui:

http://www.java.com/es/

Saludos y espero que te sirva!!!

2007-02-26 13:57:16 · answer #3 · answered by Manuel A 1 · 0 0

El java es un programa que sirve para ejecutar otros programas hechos en java.

No creo que te ayude en velocidad pero tal vez te sirva para obtener otros productos que hagan lo mismo

2007-02-26 13:34:08 · answer #4 · answered by lobo35mx 5 · 0 0

fedest.com, questions and answers