Por favor, activa JavaScript y desactiva tu adblock para este sitio

El Javatar

Blog dedicado a la Programación en Java, C, PHP, Phyton, HTML, SQL y Mucho Más

viernes, 12 de febrero de 2016

Tutorial Java - Características de Java

Tutorial Java - Características de Java
En sí, las principales características que caracterizan (valga la redundancia) al lenguaje Java, no son muchas, sin embargo, son suficientes para definir la esencia de éste, y así empezar a entender cómo funciona:

  • Simple
  • Orientado a Objetos
  • Independencia de Plataforma
  • Seguro
  • Robusto
  • Arquitectura Neutra
  • Portable
  • Dinámico
  • Interpretado
  • Alto rendimiento (High Performance)
  • Multi-hilos (Multithreaded)
  • Distribuido

A continuación veremos en qué consisten cada una de estas características:

1. Simple

Según Sun MicroSystems, (ahora propiedad de Oracle), Java es un lenguaje sencillo porque su sintaxis es basada en C++ (lo cual lo hace un lenguaje fácil de aprender para aquellos programadores que han trabajado antes con C++), eliminando muchas características confusas y/o un poco extrañas para algunos usuarios como por ejemplo el uso explícito de punteros, sobre-carga de operadores, entre otras.

Además, no es necesario eliminar los Objetos de la memoria, ya que el Recolector de Basura de Java se encarga de esta tarea.

2. Orientado a Objetos

Al programar con un lenguaje Orientado a Objetos, significa que podemos organizar nuestro Software como una combinación de diferentes tipos de objetos en los que se incorporan tanto sus atributos o características, como su comportamiento.

La programación orientada a objetos (POO) es una metodología que simplifican el desarrollo y el mantenimiento de software, proporcionando algunas reglas para ello. Los conceptos básicos de la Programación Orientada a Objetos son los siguientes:

  • Objeto
  • Clase
  • Herencia
  • Polimorfismo
  • Abstracción
  • Encapsulamiento

Para entender un poco más sobre cómo funciona la Programación Orientada a Objetos, puedes leer el siguiente artículo: Paradigmas de Programación IV: Programación Orientada a Objetos.

3. Independencia de Plataforma

Podemos considerar en este punto una plataforma como el entorno de hardware o software en el que se ejecuta un programa. Hay entonces dos tipos de plataformas: las basadas en hardware, y las basadas en software, y Java proporciona una plataforma basada en software.

La plataforma sobre la cual se ejecuta Java difiere de la mayoría de otras plataformas en el sentido de que es una plataforma basada en software que se ejecuta sobre otra plataforma basada en hardware. La plataforma Java se compone de dos componentes principales:

  • El Entorno de Ejecución (Java Runtime Enviroment)
  • API (Interfaz de Programación de Aplicaciones)
Tutorial Java - Características de Java - Independencia de Plataforma

El código Java puede ejecutarse en múltiples plataformas o Sistemas Operativos como Windows, Linux, Mac OS,entre otros. El código escrito en Java es compilado por el compilador y convertido a bytecode. Este bytecode es independiente de la plataforma, ya que no se ejecuta propiamente sobre el Sistema Operativo, sino sobre la Máquina Virtual de Java, haciendo alusión así a la promesa de James Gosling: Write Once Run Anywhere (Escribe una vez, Ejecuta donde quieras).

4. Seguro

Java es seguro porque:

- No hace uso de punteros explícitos, lo cual indica que no se trabaja directamente sobre la memoria del computador.

- Los programas escritos en Java se ejecutan sobre la Máquina Virtual de Java, la cual se encarga de gestionar la seguridad.

- Classloader: Añade seguridad al separar el paquete para las clases del sistema de archivos local, de los que se importan a través de fuentes de red.

- Verificador de Bytecode: Comprueba los fragmentos de código para evitar que código malicioso pueda violar el debido acceso de los objetos a la memoria.

- Security Manager: Determina qué recursos de una clase pueden acceder con permisos tanto de lectura y escritura al disco local.

Estos son los aspectos en seguridad proporcionados por la plataforma de Java. Algunas características de seguridad también puede ser proporcionadas por los mismos desarrolladores para sus aplicaciones como puede ser SSL, JAAS, criptografía, etc.

5. Robusto

Robusto simplemente significa fuerte. Java utiliza una sólida gestión de la memoria. Además, al no haber punteros se evitan problemas de seguridad. La recolección de basura en Java es automática. Tiene manejo de excepciones y un mecanismo de verificación de tipos. Todos estos puntos, hacen de Java un lenguaje bastante robusto.

6. Arquitectura Neutra

Un lenguaje o tecnología se dice que es de arquitectura neutra cuando puede ejecutarse en cualquier procesador disponible en el mundo real, sin tener en cuenta a la arquitectura y el proveedor en el proceso de desarrollo y compilación, y Java cumple con estas características.

7. Portable

El bytecode de Java puede ser ejecutado en cualquier plataforma.

8. Dinámico

El proceso de asignación del espacio de memoria al entrar a un programa en tiempo de ejecución se conoce como asignación de memoria dinámica; cuando programamos en Java, para asignar un espacio de memoria dinámicamente a un nuevo objeto, usamos la palabra reservada del lenguaje "new", algo que veremos en más detalle en próximos tutoriales.

9. Alto rendimiento (High Performance)

Java es más rápido que los lenguajes interpretados tradicionales, ya que el bytecode es muy cercano al código nativo siendo sólo un poco más lento que un lenguaje compilado como C++.

10. Distribuido

Podemos crear aplicaciones distribuidas en Java. Los RMI y EJB se utilizan para la creación de aplicaciones distribuidas. Así, podemos acceder a los archivos haciendo llamadas a los diversos métodos desde cualquier máquina en Internet.

Tutorial Java - Características de Java - Distribuido

11. Multi-hilos (Multithreaded)

Un hilo o thread es como un programa separado ejecutándose al mismo tiempo que el programa principal. Podemos escribir programas en Java que se ocupan de muchas tareas a la vez mediante la definición de múltiples hilos. La principal ventaja del multi-threading es que se comparte la misma memoria del proceso principal del programa. Los hilos son importantes para multimedia, aplicaciones web, etc.

No hay comentarios.:

Publicar un comentario