Actividad 3. Caractersticas de Java Java es simple porque utiliza slo tres tipos de datos primitivos que son nmeros, boolean y arrays. Tambin porque elimina los punteros y la herencia la gestiona como una estructura nica deniminada interfaz (interface. !a programacin en Java se simplifica porque utiliza un proceso de asignacin y recoleccin de basura (garbage collection. !a sinta"is de Java hace f#cil la escritura de programas. Java est# orientado a ob$etos porque se centra en la creacin, manipulacin y construccin de ob$etos. !as propiedades y variables de un ob$eto se sintetizan en el denominado estado del ob$eto. %l comportamiento o din#mica del ob$eto, o la forma cmo cambia su estado, se determina utilizando mtodos. %n Java los ob$etos se definen utilizando clases. &e puede interpretar a una clase como una plantilla para construir ob$etos. %s importante se'alar que en Java todas las funciones se llaman a travs de un ob$eto. !a definicin de un ob$eto se puede establecer en trminos de una clase, su con$unto de propiedades y los mtodos asociados. %l proceso de definicin de un ob$etos se denomina instanciacin o crear instancias de una clase. Java mantiene el enfoque de disponer las clases en una $erarqu(a en modo de #rbol. %l nodo principal se identifica como la clase madre, mientras que las clases derivadas se llaman clases hi$as. Java ofrece un con$unto de clases predefinidas agrupadas en paquetes listas para ser utilizadas en los programas. Java proporciona mayor fle"ibilidad, modularidad y reusabilidad. Java tiene un dise'o orientado a la programacin distribuida. )acilita la construccin de aplicaciones distribuidas con base en una coleccin de clases para su uso en aplicaciones en red. !a escritura de programas en red es similar a enviar y recibir datos hacia y desde un archivo. Java hace sencillo el proceso para que una aplicacin acceda a un servidor remoto. Java es un lengua$e de programacin interpretado. &e requiere de un intrprete para e$ecutar un programa escrito en Java. Tambin es necesaria una m#quina virtual de Java la cual compila el programa transformando el cdigo fuente a un cdigo intermedio denominado bytecode. %ste cdigo es independiente de la m#quina y se puede e$ecutar en cualquier computadora que tenga instalado el intrprete Java. !os programas Java se compilan en un lengua$e ensamblador para una m#quina imaginaria o m#quina virtual. !os intrpretes Java son, normalmente, mucho m#s lentos en e$ecucin. Java ha desarrollado compiladores J*T ($us+in+time que leen el bytecode de un programa Java independientemente de la m#quina que hace m#s r#pida la e$ecucin debido a que los programas se e$ecutan como instrucciones m#quina. Java verifica los posibles errores en un programa pues es un lengua$e fuertemente tipificado. %limina tipos de construcciones de programacin que pueden ser propensas a errores, por e$emplo punteros. ,osee tambin un mane$o de e"cepciones en tiempo de e$ecucin. Java es un lengua$e de programacin seguro para el desarrollo de aplicaciones para *nternet. ,ermite la descarga de applets y su e$ecucin sin causar da'os en el sistema. %limina los riesgos que implica la programacin stray (err#tica y adopta el enfoque de que nada debe ser confiado (trusted. Java posee una arquitectura neutral, es decir, independiente de la plataforma. -n programa se e$ecuta en cualquier plataforma que tenga instalada una .#quina /irtual Java. %s posible e$ecutar aplicaciones Java autnomas (stand+alone directamente en sistemas operativos que utilicen un intrprete Java. -tilizando Java el programador escribe una nica versin que puede e$ecutarse en todas las plataformas. %l bytecode traba$a en todas las m#quinas. -n programa Java es el mismo si se e$ecuta en una computadora personal, una .acintosh, o en un sistema -ni". -na m#quina virtual de Java es un programa capaz de interpretar el cdigo bytecode. -na m#quina virtual puede estar incluido en los navegadores 0eb, proporcionado con el sistema operativo, con el entorno Java o puede descargarse de la 1eb. 2e esta forma los programas Java pueden e$ecutarse sobre cualquier plataforma sin necesidad de ser recompilados (son muy portables. Java fue dise'ado para que pueda ser transferido a nuevas arquitecturas. %l dise'o de Java permite mltiples hilos de e$ecucin (multithreading, es decir, un programa tiene la capacidad de e$ecutar varias tareas simult#neamente. !a programacin multihilo est# integrada a Java. 3tros lengua$es deben llamar a procedimientos espec(ficos del sistema operativo para la programacin multihilo. Java permite durante el tiempo de e$ecucin de un programa Java ampliarse mediante enlace con clases localizadas en servidores remotos o en una red (intranet4internet.