Máster Java, Struts, Spring, J2ee y Oracle 12c

¿Que es Java?

Se puede pensar en Java como un lenguaje de propósito general y orientado a objetos que se parece mucho a C y C ++, pero que es más fácil de usar y le permite crear programas más robustos. Desafortunadamente, esta definición no le da mucha información sobre Java. Una definición más detallada de Sun Microsystems es tan relevante hoy como lo fue en 2000:

Consideremos cada una de estas definiciones por separado:

Java es un lenguaje sencillo. Java fue inicialmente modelado después de C y C ++, menos algunas características potencialmente confusas. Los punteros, la herencia de implementación múltiple y la sobrecarga del operador son algunas de las características de C / C ++ que no forman parte de Java. Una característica no obligatoria en C / C ++, pero esencial para Java, es una instalación de recolección de basura que recupera automáticamente objetos y matrices. Esta apreciación la vemos en el Máster Certificado Java.

Java es un lenguaje orientado a objetos. El enfoque orientado a objetos de Java permite a los desarrolladores trabajar en la adaptación de Java para resolver un problema, en lugar de obligarnos a manipular el problema para que cumpla con las restricciones de lenguaje. Esto es diferente de un lenguaje estructurado como C. Por ejemplo, mientras que Java te permite centrarse en objetos de cuenta de ahorro, C requiere que pienses por separado sobre el estado de la cuenta de ahorros (tal equilibrio) y comportamientos (como el depósito y la retirada).

Java es un lenguaje con conocimientos de red. La extensa biblioteca de red de Java facilita el manejo de los protocolos de red del Protocolo de Control de Transmisión / Protocolo de Internet (TCP / IP) como HTTP (Protocolo de Transferencia de Hipertexto) y FTP (Protocolo de Transferencia de Archivos) y simplifica la tarea de realizar conexiones de red. Además, los programas Java pueden acceder a objetos a través de una red TCP / IP, a través de Localizadores de recursos uniformes (URL), con la misma facilidad con la que tendrían acceso a ellos desde el sistema de archivos local.

En el Máster Certificado Java veremos que Java es un lenguaje interpretado. En tiempo de ejecución, un programa Java se ejecuta indirectamente en la plataforma subyacente (como Windows o Linux) a través de una máquina virtual (que es una representación de software de una plataforma hipotética) y el entorno de ejecución asociado. La máquina virtual traduce los bytecodes del programa Java (instrucciones y datos asociados) a instrucciones específicas de la plataforma a través de la interpretación. La interpretación es el acto de averiguar qué significa una instrucción de bytecode y luego elegir instrucciones equivalentes “en lata” específicas de la plataforma para ejecutar. La máquina virtual ejecuta entonces las instrucciones específicas de la plataforma.

La interpretación facilita la depuración de los programas Java defectuosos, ya que se dispone de más información de tiempo de compilación en tiempo de ejecución. La interpretación también hace posible retrasar el paso del enlace entre las piezas de un programa Java hasta el tiempo de ejecución, lo que acelera el desarrollo.

Java es un lenguaje robusto. Los programas Java deben ser fiables porque se utilizan en aplicaciones tanto de consumo como de misión crítica, que van desde reproductores de Blu-ray hasta sistemas de navegación de vehículos o control de aire. Ësta es una característica fundamental, que de desarrolla a fondo Máster Certificado Java. Las características del lenguaje que ayudan a que Java sea robusto incluyen declaraciones, comprobación de tipos duplicados en tiempo de compilación y tiempo de ejecución (para evitar problemas de incompatibilidad de versiones), matrices verdaderas con comprobación automática de límites y omisión de punteros. (Vamos a discutir todas estas características en detalle más adelante en esta serie.)

Otro aspecto de la robustez de Java es que los bucles deben ser controlados por expresiones booleanas en lugar de expresiones enteras donde 0 es falso y un valor diferente de cero es verdadero. Por ejemplo, Java no permite un bucle de estilo C como while (x) x ++; porque el bucle podría no terminar donde se esperaba. En su lugar, debe proporcionar explícitamente una expresión booleana, como while (x! = 10) x ++; (lo que significa que el bucle se ejecutará hasta que x sea igual a 10).

Java es un lenguaje seguro. Hoy es fundamental que lo sea, y para descubrirlo a fondo presentamos el Máster Certificado Java. Los programas Java se utilizan en entornos en red / distribuidos. Debido a que los programas Java pueden migrar y ejecutarse en las distintas plataformas de una red, es importante proteger estas plataformas de códigos maliciosos que podrían propagar virus, robar información de tarjetas de crédito o realizar otras acciones maliciosas. Las características del lenguaje Java que soportan la robustez (como la omisión de punteros) funcionan con características de seguridad como el modelo de seguridad Java sandbox y el cifrado de clave pública. Juntas estas características evitan que los virus y otros códigos peligrosos causen estragos en una plataforma desprevenida.

En teoría, Java es seguro. En la práctica, se han detectado y explotado diversas vulnerabilidades de seguridad. Como resultado, Sun Microsystems y Oracle continúan publicando actualizaciones de seguridad.

Java es un lenguaje neutro en arquitectura. Las redes conectan plataformas con diferentes arquitecturas basadas en diversos microprocesadores y sistemas operativos. No se puede esperar que Java genere instrucciones específicas de la plataforma y tenga estas instrucciones “entendidas” por todo tipo de plataformas que forman parte de una red. En su lugar, Java genera instrucciones de bytecode independientes de la plataforma que son fáciles de interpretar cada plataforma (a través de su implementación de la JVM).

Java es un lenguaje portátil. La neutralidad de la arquitectura contribuye a la portabilidad. Sin embargo, hay más en la portabilidad de Java que en las instrucciones de bytecode independientes de la plataforma. Considere que los tamaños de tipo entero no deben variar. Por ejemplo, el tipo de entero de 32 bits siempre debe estar firmado y ocupar 32 bits, independientemente de donde se procese el entero de 32 bits (por ejemplo, una plataforma con registros de 16 bits, una plataforma con registros de 32 bits o una plataforma con registros de 64 bits). Las bibliotecas de Java también contribuyen a la portabilidad. Cuando es necesario, proporcionan tipos que conectan código Java con capacidades específicas de la plataforma de la manera más portátil posible.

Más Información: www.exes.es