Está en la página 1de 5

JAVA

Clase 21-08-2023

¿QUÉ ES PROGRAMACIÓN?

La programación es el proceso de decirle a una computadora qué hacer. Se hace


escribiendo código, que es un conjunto de instrucciones que la computadora puede
entender. El código se escribe en un lenguaje de programación, que es un lenguaje
especial que está diseñado para ser leído por las computadoras.

¿QUE TIPOS DE PROGRAMACIÓN EXISTEN?

• Programación imperativa. Este es el tipo de programación más común y se


basa en la idea de dar instrucciones paso a paso a una computadora. Los
lenguajes de programación imperativos populares incluyen C, C++, Java y
Python.
• Programación funcional. Este tipo de programación se basa en la idea de
funciones, que son bloques de código que realizan una tarea específica. Los
lenguajes de programación funcionales populares incluyen Haskell, Lisp y
Scala.
• Programación orientada a objetos. Este tipo de programación se basa en
la idea de objetos, que son unidades de código que contienen datos y
comportamiento. Los lenguajes de programación orientados a objetos
populares incluyen Java, C++ y Python.
• Programación lógica. Este tipo de programación se basa en la idea de
lógica, que es el estudio de la verdad y la falsedad. Los lenguajes de
programación lógicos populares incluyen Prolog y Erlang.
• Programación concurrente. Este tipo de programación se ocupa de la
ejecución de múltiples tareas al mismo tiempo. Los lenguajes de
programación concurrentes populares incluyen Java, C++ y Python.
PROGRAMACIÓN ORIENTADA A OBJETOS A DETALLE:

La programación orientada a objetos (OOP) es un paradigma de programación que


se centra en el concepto de objetos. Un objeto es una unidad de datos que tiene
estado y comportamiento. El estado de un objeto es la información que lo describe,
como su nombre, su edad o su color. El comportamiento de un objeto es lo que
puede hacer, como caminar, hablar o correr.

OOP se llama así porque se centra en el uso de objetos para representar el mundo
real. Los objetos son similares a los objetos del mundo real en que tienen estado y
comportamiento. Por ejemplo, un objeto coche tiene estado como su color, su marca
y su modelo. También tiene comportamiento como conducir, girar y estacionar.

OOP tiene una serie de ventajas sobre otros paradigmas de programación, como la
programación imperativa y la programación funcional. Una de las ventajas de OOP
es que es más fácil de entender y de usar. Esto se debe a que los objetos se basan
en conceptos del mundo real que son familiares para los humanos. Otra ventaja de
OOP es que es más fácil de mantener. Esto se debe a que los objetos están bien
definidos y son fáciles de entender.

Aquí hay tres ejemplos sencillos de OOP en la vida diaria:

• Un coche es un objeto. Tiene estado como su color, su marca y su modelo.


También tiene comportamiento como conducir, girar y estacionar.
• Una persona es un objeto. Tiene estado como su nombre, su edad y su
género. También tiene comportamiento como caminar, hablar y correr.
• Un libro es un objeto. Tiene estado como su título, su autor y su año de
publicación. También tiene comportamiento como leer, escribir y subrayar.

OOP es un paradigma de programación poderoso que se utiliza en una variedad de


aplicaciones. Es más fácil de entender y de usar que otros paradigmas de
programación, y es más fácil de mantener.

Introducción
Java es un lenguaje de programación y una plataforma informática creada por Sun
Microsystems en 1995. Fue concebido con el lema "write once, run anywhere"
(escribe una vez, corre en cualquier lugar), lo que significa que el código que se
desarrolla en Java puede ejecutarse en cualquier dispositivo que cuente con una
Máquina Virtual Java (JVM).

Java es un lenguaje de programación compilado, lo que significa que el código Java


se convierte en un código binario que puede ser ejecutado directamente por una
máquina virtual Java (JVM). Esto hace que Java sea un lenguaje muy portable, ya
que el mismo código puede ser ejecutado en cualquier plataforma que tenga una
JVM instalada.

Historia:
Orígenes: Java fue inicialmente diseñado para televisores interactivos, pero resultó
ser adelantado para la industria digital de la época. Sin embargo, con la proliferación
de Internet, encontró su nicho en la creación de applets, pequeñas aplicaciones que
se ejecutan en navegadores web.
Versiones: Desde su lanzamiento, Java ha tenido numerosas versiones que han
introducido características significativas, mejorando su eficiencia, sintaxis y facilidad
de uso.
• 1991: James Gosling, Bill Joy, Mike Sheridan y otros ingenieros de Sun
Microsystems comienzan el desarrollo de Oak, el lenguaje de programación
que más tarde se convertiría en Java.
• 1995: Java 1.0 se lanza al público.
• 1996: Java 1.1 se lanza, agregando soporte para applets, sockets y RMI.
• 1997: Java 1.2 se lanza, agregando soporte para Swing, JavaBeans y el lenguaje
de programación Java criptográficos.
• 1998: Java 1.3 se lanza, agregando soporte para JNDI, CORBA y el lenguaje de
programación Java criptográficos.
• 1999: Java 2, la segunda generación de Java, se lanza. Java 2 incluye las versiones
Java 2 Standard Edition (J2SE), Java 2 Enterprise Edition (J2EE) y Java 2
Micro Edition (J2ME).
• 2004: Java 5 se lanza, agregando soporte para anotaciones, genericidad y
autoboxing.
• 2006: Java 6 se lanza, agregando soporte para seguridad mejorada, rendimiento
mejorado y nuevas características para J2EE.
• 2011: Java 7 se lanza, agregando soporte para nuevas características para J2SE,
J2EE y J2ME.
• 2014: Java 8 se lanza, agregando soporte para lambdas, streams y otras
características para J2SE.
• 2017: Java 9 se lanza, agregando soporte para módulos, funciones y otras
características para J2SE.
• 2018: Java 10 se lanza, agregando soporte para una nueva versión del compilador
Java y otras características para J2SE.
• 2019: Java 11 se lanza, agregando soporte para una nueva versión de la máquina
virtual Java y otras características para J2SE.
• 2020: Java 12 se lanza, agregando soporte para una nueva versión de la biblioteca
estándar de Java y otras características para J2SE.
• 2021: Java 13 se lanza, agregando soporte para una nueva versión de la biblioteca
estándar de Java y otras características para J2SE.
• 2022: Java 14 se lanza, agregando soporte para una nueva versión de la biblioteca
estándar de Java y otras características para J2SE.

1.1.1. Características del lenguaje Java


Orientado a Objetos: Java es inherentemente un lenguaje orientado a objetos, lo
que significa que se basa en la creación y manipulación de objetos.
Independiente de la Plataforma: Gracias a la JVM, el código Java se compila en
bytecode, que puede ser ejecutado en cualquier dispositivo que tenga una JVM, sin
importar la arquitectura subyacente.
Seguro: Java fue diseñado con la seguridad en mente, evitando prácticas comunes
en otros lenguajes que conducen a problemas de seguridad. Además, la JVM actúa
como una barrera entre el código ejecutado y el hardware de la máquina.
Multihilo: Java fue uno de los primeros lenguajes de programación que consideró
la multitarea y el multihilo desde su diseño inicial.
La multitarea es la capacidad de un sistema operativo para ejecutar múltiples
programas al mismo tiempo. El multihilo es la capacidad de un programa para
ejecutar múltiples hilos de ejecución al mismo tiempo. Los hilos de ejecución son
como pequeñas unidades de código que pueden ejecutarse de forma
independiente.

Java fue diseñado desde el principio para ser un lenguaje de programación


multitarea y multihilo. Esto significa que las aplicaciones Java pueden ejecutarse en
múltiples hilos de ejecución al mismo tiempo, lo que puede mejorar el rendimiento y
la eficiencia.

Hay varias razones por las que Java fue diseñado para ser multitarea y multihilo.
Una razón es que los sistemas operativos modernos son multitarea, lo que significa
que pueden ejecutar múltiples programas al mismo tiempo. Otra razón es que los
procesadores modernos son multinúcleo, lo que significa que pueden ejecutar
múltiples hilos de ejecución al mismo tiempo.

La multitarea y el multihilo pueden mejorar el rendimiento de las aplicaciones Java


de varias maneras. Pueden permitir que las aplicaciones Java se ejecuten en
múltiples hilos de ejecución al mismo tiempo, lo que puede mejorar el rendimiento
de las aplicaciones que realizan muchas tareas. También pueden permitir que las
aplicaciones Java se ejecuten en múltiples procesadores al mismo tiempo, lo que
puede mejorar el rendimiento de las aplicaciones que son muy intensivas en
cálculos.

La multitarea y el multihilo también pueden mejorar la eficiencia de las aplicaciones


Java de varias maneras. Pueden permitir que las aplicaciones Java compartan
recursos entre sí, lo que puede reducir la cantidad de memoria y CPU que se
utilizan. También pueden permitir que las aplicaciones Java se ejecuten en múltiples
hilos de ejecución, lo que puede mejorar el rendimiento de las aplicaciones que
realizan muchas tareas.

Alto Rendimiento: Aunque es interpretado por la JVM, Java puede ser muy rápido
gracias a técnicas como la compilación Just-In-Time (JIT).

1.1.2. Estructura del JDK


El JDK (Java Development Kit) es un conjunto de herramientas y utilidades que
permite a los desarrolladores crear, compilar y ejecutar aplicaciones Java. Incluye:
JRE (Java Runtime Environment): Es lo que se necesita para ejecutar
aplicaciones Java. Incluye la JVM, bibliotecas de clases y otros componentes
esenciales para ejecutar código Java.
Compilador Java (javac): Convierte el código fuente (.java) en bytecode (.class)
que luego puede ser ejecutado por la JVM.
Java Debugger (jdb): Herramienta para depurar aplicaciones Java.
Bibliotecas de Clases Estándar: Colección de bibliotecas que ofrecen
funcionalidades comunes, como colecciones de datos, operaciones de
entrada/salida y acceso a redes.
Entre otras herramientas y utilidades...

1.1.3. La máquina virtual de Java


JVM (Java Virtual Machine) es el corazón de la plataforma Java. Es una máquina
virtual que ejecuta el bytecode de Java, ofreciendo una abstracción entre el código
y el hardware subyacente. Características principales:
Independencia de Plataforma: JVM permite que el código Java sea ejecutado en
cualquier dispositivo o sistema operativo que cuente con una JVM específica para
esa plataforma.
Seguridad: Proporciona un entorno de ejecución seguro al ejecutar el bytecode en
un entorno aislado, lo que ayuda a prevenir el acceso no autorizado a funciones del
sistema operativo.
Rendimiento: Con técnicas como la compilación Just-In-Time (JIT), JVM puede
traducir bytecode en código nativo para una ejecución más rápida.
Gestión Automática de Memoria: La JVM maneja automáticamente la asignación
y liberación de memoria, gracias a un proceso llamado recolección de basura
(garbage collection).

También podría gustarte