Anda di halaman 1dari 2

Caractersticas del lenguaje Java Lenguaje simple Java posee una curva de aprendizaje muy rpida.

Resulta relativamente sencillo escribir applets interesantes desde el principio. Todos aquellos familiarizados con C++ encontrarn que Java es ms sencillo, ya que se han eliminado ciertas caractersticas, como los punteros. Debido a su semejanza con C y C++, y dado que la mayora de la gente los conoce aunque sea de forma elemental, resulta muy fcil aprender Java. Los programadores experimentados en C++ pueden migrar muy rpidamente a Java y ser productivos en poco tiempo. Orientado a objetos Java fue diseado como un lenguaje orientado a objetos desde el principio. Los objetos agrupan en estructuras encapsuladas tanto sus datos como los mtodos (o funciones) que manipulan esos datos. La tendencia del futuro, a la que Java se suma, apunta hacia la programacin orientada a objetos, especialmente en entornos cada vez ms complejos y basados en red. Distribuido Java proporciona una coleccin de clases para su uso en aplicaciones de red, que permiten abrir sockets y establecer y aceptar conexiones con servidores o clientes remotos, facilitando as la creacin de aplicaciones distribuidas. Interpretado y compilado a la vez Java es compilado, en la medida en que su cdigo fuente se transforma en una especie de cdigo mquina, los bytecodes, semejantes a las instrucciones de ensamblador. Por otra parte, es interpretado, ya que los bytecodes se pueden ejecutar directamente sobre cualquier mquina a la cual se hayan portado el intrprete y el sistema de ejecucin en tiempo real (run-time). Robusto Java fue diseado para crear software altamente fiable. Para ello proporciona numerosas comprobaciones en compilacin y en tiempo de ejecucin. Sus caractersticas de memoria liberan a los programadores de una familia entera de errores (la aritmtica de punteros), ya que se ha prescindido por completo los punteros, y la recoleccin de basura elimina la necesidad de liberacin explcita de memoria. Seguro (?) Dada la naturaleza distribuida de Java, donde las applets se bajan desde cualquier punto de la Red, la seguridad se impuso como una necesidad de vital importancia. A nadie le gustara ejecutar en su ordenador programas con acceso total a su sistema, procedentes de fuentes desconocidas. As que se implementaron barreras de seguridad en el lenguaje y en el sistema de ejecucin en tiempo real. Indiferente a la arquitectura Java est diseado para soportar aplicaciones que sern ejecutadas en los ms variados entornos de red, desde Unix a Windows Nt, pasando por Mac y estaciones de trabajo, sobre arquitecturas distintas y con sistemas operativos diversos. Para acomodar requisitos de ejecucin tan variopintos, el compilador de Java genera bytecodes: un formato intermedio indiferente a la arquitectura diseado para transportar el cdigo eficientemente a mltiples plataformas hardware y software. El resto de problemas los soluciona el intrprete de Java. Portable La indiferencia a la arquitectura representa slo una parte de su portabilidad. Adems, Java especifica los tamaos de sus tipos de datos bsicos y el comportamiento de sus operadores aritmticos, de manera que los programas son iguales en todas las plataformas. Estas dos ltimas caractersticas se conocen como la Mquina Virtual Java (JVM).

Alto rendimiento Multihebra Hoy en da ya se ven como terriblemente limitadas las aplicaciones que slo pueden ejecutar una accin a la vez. Java soporta sincronizacin de mltiples hilos de ejecucin (multithreading) a nivel de lenguaje, especialmente tiles en la creacin de aplicaciones de red distribuidas. As, mientras un hilo se encarga de la comunicacin, otro puede interactuar con el usuario mientras otro presenta una animacin en pantalla y otro realiza clculos. Dinmico El lenguaje Java y su sistema de ejecucin en tiempo real son dinmicos en la fase de enlazado. Las clases slo se enlazan a medida que son necesitadas. Se pueden enlazar nuevos mdulos de cdigo bajo demanda, procedente de fuentes muy variadas, incluso desde la Red. Produce applets Java puede ser usado para crear dos tipos de programas: aplicaciones independientes y applets. Las aplicaciones independientes se comportan como cualquier otro programa escrito en cualquier lenguaje, como por ejemplo el navegador de Web HotJava, escrito ntegramente en Java. Por su parte, las applets son pequeos programas que aparecen embebidos en las pginas Web, como aparecen los grficos o el texto, pero con la capacidad de ejecutar acciones muy complejas, como animar imgenes, establecer conexiones de red, presentar mens y cuadros de dilogo para luego emprender acciones, etc. Una Mquina virtual Java (en ingls Java Virtual Machine, JVM) es un mquina virtual de proceso nativo, es decir, ejecutable en una plataforma especfica, capaz de interpretar y ejecutar instrucciones expresadas en un cdigo binario especial (el Java bytecode), el cual es generado por el compilador del lenguaje Java El cdigo binario de Java no es un lenguaje de alto nivel, sino un verdadero cdigo mquina de bajo nivel, viable incluso como lenguaje de entrada para un microprocesador fsico. Como todas las piezas del rompecabezas Java, fue desarrollado originalmente por Sun Microsystems. La gran ventaja de la mquina virtual java es aportar portabilidad al lenguaje de manera que desde Sun Microsystems se han creado diferentes mquinas virtuales java para diferentes arquitecturas y as un programa .class escrito en un Windows puede ser interpretado en un entorno Linux. Tan solo es necesario disponer de dicha mquina virtual para dichos entornos. De ah el famoso axioma que sigue a Java, "escrbelo una vez, ejectalo en cualquier parte", o "Write once, run anywhere". La mquina virtual de Java puede estar implementada en software, hardware, una herramienta de desarrollo o un Web browser; lee y ejecuta cdigo precompilado bytecode que es independiente de la plataforma multiplataforma. La JVM provee definiciones para un conjunto de instrucciones, un conjunto de registros, un formato para archivos de clases, la pila, un heap con recolector de basura y un rea de memoria. Cualquier implementacin de la JVM que sea aprobada por SUN debe ser capaz de ejecutar cualquier clase que cumpla con la especificacin. Una clase es una agrupacin de datos (variables o campos) y de funciones (mtodos) que operan sobre esos datos. public class Classname { ... // definicin de variables y mtodos }

Anda mungkin juga menyukai