Programación avanzada en Java. Nivel Certificación OCP Java SE 11 Developer.
2024
70 HORAS
ONLINE
Objetivo del curso:
Este curso se centra en la versión más reciente de Java SE y está dirigido a estudiantes que deseen adquirir y profundizar sus conocimientos en el lenguaje de programación Java y el desarrollo de aplicaciones en la plataforma Java SE. Durante el curso, los participantes aprenderán a diseñar aplicaciones sólidas utilizando la programación modular en la plataforma Java. También se sumergirán en la implementación de componentes clave de la API de Java, como Java Stream API, Java NIO.2, Java Collections Framework, JDBC, Java Concurrency, entre otros, para desarrollar habilidades prácticas y aplicables en el mundo real.
TODA LA INFORMACIÓN SOBRE EL CURSO:
¿Qué vas a aprender?
Una vez finalizado el curso el alumno habrá adquirido los siguientes conocimientos y habilidades:
- Desplegar y ejecutar aplicaciones Java modulares. Manipular valores numéricos, de texto, de fecha y hora utilizando tipos primitivos y clases de Java.
- Implementar la lógica de un programa utilizando variables, arrays, construcciones condicionales y bucles.
- Organizar el código Java mediante clases, interfaces y enumeraciones.
- Crear aplicaciones que aprovechen las características de la programación orientada a objetos de Java como la encapsulación, la herencia y el polimorfismo.
- Implementar propagación y gestión de errores. Utilizar la API de Java Collections.
- Utilizar expresiones Lambda.
- Procesar información mediante el API de Streams.
- Manipular archivos, directorios y sistemas de archivos.
- Implementar funcionalidad de entrada/salida (E/S) para leer y escribir datos binarios y de texto.
- Utilizar la API JDBC para el acceso a base de datos.
- Utilizar la API de Java Concurrency.
- Utilizar y definir nuestras propias anotaciones en Java.
Requisitos previos:
No se requieren conocimientos previos para inscribirse en este curso.
CONTENIDO DEL CURSO:
Temario: Este curso permitirá el acceso al espacio de aprendizaje y a los contenidos oficiales diseñados por Oracle para permitir el recorrido del aprendizaje y la capacitación en el lenguaje de programación Java. El curso consistirá en sesiones webinar con soporte, 26 módulos de contenido, videos formativos, test de autoevaluación de conocimientos y exámenes de los módulos y una prueba final.
MÓDULO 1: TECNOLOGÍA JAVA Y SU ENTORNO
- Desarrollo y tecnologías en Java.
- Características clave del lenguaje Java.
- Java Development Kit (JDK) vs Java Runtime Environment (JRE).
- Componentes de la programación orientada a objetos.
- Componentes de un programa Java básico.
- Compilación y ejecución de un programa en Java.
MÓDULO 2: CREACIÓN DE UN PROGRAMA JAVA SIMPLE
- Creación de un programa ejecutable en Java con una clase principal.
- Convenciones a seguir en un programa Java.
- Comentarios en Java.
- Palabras reservadas de Java.
- Compilación y ejecución de un programa Java desde la línea de comandos.
- Creación de paquetes.
- Importación de paquetes en Java.
- El paquete java.lang.
MÓDULO 3: JAVA PLATFORM MODULE SYSTEM (JPMS)
- JDK Modular.
- Declaración de módulos.
- Configurar acceso entre módulos.
- Compilación y ejecución de un proyecto modular.
MÓDULO 4: MIGRACIÓN A UNA APLICACIÓN MODULAR
- Migración de una aplicación desarrollada con una versión anterior a Java SE 9.
- Migración de tipo top-down y bottom-up.
- División de una aplicación Java SE 8 en módulos para su migración.
- Uso de jdeps para determinar dependencias.
MÓDULO 5: TIPOS DE DATOS EN JAVA
- Declaración e inicialización de variables.
- Variables de tipo final.
- Conversiones entre tipos de datos.
- Automatic vs Manual promotion.
- Declaración e inicialización de variables de tipo String.
MÓDULO 6: OPERADORES EN JAVA
- Operadores aritméticos básicos.
- Operadores de incremento y decremento.
- Operadores relacionales.
- Operadores de asignación aritmética.
- Operadores condicionales.
- Precedencia de operadores y uso de paréntesis.
MÓDULO 7: SENTENCIAS DE DECISIÓN EN JAVA
- Sentencias de toma de decisión (if-then y if-then-else).
- La sentencia switch.
- El operador == con tipos primitivos y objetos.
- Comparación de objetos String usando los métodos compareTo() y equals().
MÓDULO 8: SENTENCIAS DE ITERACIÓN EN JAVA
- Sentencias de iteración en Java.
- Bucles de tipo for.
- Bucles de tipo for mejorado.
- Bucles de tipo while.
- Bucles de tipo do-while.
- Comparación y uso de los bucles for, while y do-while.
- Las instrucciones break y continue.
MÓDULO 9: ARRAYS VS ARRAYLISTS
- Declaración y uso de arrays unidimensionales.
- Declaración y uso de ArrayList.
- Recorrido de elementos de un Array y ArrayList.
- Comparación entre Arrays y ArrayLists.
MÓDULO 10: DEFINICIÓN Y USO DE CLASES/OBJETOS EN JAVA
- Estructura de una clase en Java.
- Declaración e instanciación de objetos en Java.
- Ciclo de vida de un objecto en memoria.
- Acceso a los atributos o campos de un objeto.
MÓDULO 11: DEFINICIÓN Y USO DE MÉTODOS EN JAVA
- Definición y uso de métodos.
- Definición y uso de constructores.
- Definición e invocación de métodos sobrecargados.
- Uso del modificador static en métodos y atributos.
MÓDULO 12: ENCAPSULACIÓN EN JAVA
- Uso de modificadores de acceso.
- Principios de encapsulación en una clase.
MÓDULO 13: HERENCIA EN JAVA
- Definición y uso de subclases y superclases.
- Definición y uso de clases abstractas.
- Polimorfismo en Java.
- Sobreescritura de métodos en Java.
- Object type vs Reference type.
- Overloading vs Overriding vs Hiding.
MÓDULO 14: GESTIÓN DE EXCEPCIONES Y ASERCIONES
- Ventajas del manejo de excepciones.
- Checked Excepcions vs Unchecked Exceptions vs Errors.
- Bloques try-catch.
- Definición e invocación de métodos que lanzan excepciones.
- Uso de la sentencia try-with-resources.
- Definición y uso de excepciones personalizadas.
- Evaluación de invariantes usando aserciones.
MÓDULO 15: NESTED CLASSES Y ENUMERACIONES EN JAVA
- Definición y uso de clases internas, anidadas y anónimas.
- Definición y uso de clases finales.
- Definición y uso de enumeraciones.
MÓDULO 16: INTERFACES EN JAVA
- Definición y uso de interfaces con default methods.
- Definición y uso de interfaces con métodos privados.
- Interfaces funcionales y expresiones lambda.
- Definición y uso de interfaces funcionales.
- Definición y uso de expresiones lambda.
MÓDULO 17: INTERFACES FUNCIONALES NATIVAS
- Uso de interfaces del paquete java.util.function.
- Interfaces funcionales base: Predicate, Consumer, Function y Supplier.
- Variantes disponibles de las interfaces base del paquete java.util.function.
MÓDULO 18: JAVA STREAM API
- La interface java.util.stream.Stream.
- Definición y uso de expresiones lambda.
- Definición y uso de method references.
MÓDULO 19: OPERACIONES LAMBDA EN STREAMS
- Uso de los métodos map, peek y flatMap en Streams.
- Uso de los métodos findFirst, findAny, anyMatch, allMatch y noneMatch en Streams.
- Uso de la clase Optional.
- Uso de operaciones de count, max, min, average y sum en Streams.
- Ordenar una colección usando expresiones lambda.
- Uso de Collectors en Streams.
- Uso de operaciones de groupingBy y partitioningBy en Streams.
MÓDULO 20: PARALLEL STREAMS
- Uso de Streams paralelos.
- Implementación de descomposición y reducción con Streams.
MÓDULO 21: JAVA COLLECTIONS FRAMEWORK Y GENERICS
- Clases wrapper, autoboxing y autounboxing.
- Definición y uso de clases genéricas.
- Métodos con notación de tipo diamond y wildcards.
- Colecciones base del API de Java Collections Framework.
- Interfaces clave en el API de Java Collections Framework.
- Las interfaces java.util.Comparator y java.lang.Comparable.
MÓDULO 22: JAVA I/O API (FUNDAMENTALS Y NIO2)
- Lectura y escritura de datos desde archivos y consols mediante I/O Streams.
- Uso de flujos de E/S para lectura y escritura de archivos.
- Lectura y escritura de objetos mediante serialización.
- Uso de la interfaz Path para operar en rutas de archivos y directorios.
- Utilice la clase Files para verificar, eliminar, copiar y mover archivos y/o directorios.
- Uso del API de Streams con archivos.
MÓDULO 23: JDBC API (JAVA DATABASE CONNECTIVITY)
- Conexión a bases de datos mediante URLs de JDBC y DriverManager.
- Uso de PreparedStatement para realizar operaciones CRUD.
- Uso de PreparedStatement y CallableStatement para realizar operaciones de acceso a datos.
MÓDULO 24: JAVA ANNOTATIONS
- Propósito de las anotaciones y patrones de uso típicos.
- Uso de anotaciones en clases y métodos.
- Anotaciones de uso común en la JDK.
- Definición y uso de anotaciones personalizadas.
MÓDULO 25: LOCALIZACIÓN EN JAVA
- Uso de la clase Locale.
- Definición y uso de resource bundles.
- Formateo de mensajes, fechas y números en Java.
MÓDULO 26: JAVA CONCURRENCY Y MULTITHREADING
- Creación de worker threads para ejecutar tareas de manera concurrente.
- Runnable, Callable y ExecutorService.
- Uso de colecciones y clases del paquete java.util.concurrent.
- Escritura de código de tipo thread-safe.
- Problemas típicos: deadlocks y livelocks.
Insignia o diploma
La superación del curso dará derecho a un diploma acreditativo de su realización y superación.
Certificación asociada
OCP Java SE 11 Developer (No Incluida).