¿Qué quieres aprender?

Programación avanzada en Java - Certificación OCP Java SE 11 Developer

Programación avanzada en Java - Certificación OCP Java SE 11 Developer

PUE

Curso subvencionado para trabajadores presencial

Barcelona


Gratis

Duración : 2 Meses

El presente curso se basa en la versión actual de Java SE y está diseñado para alumnos que deseen aprender y profundizar sus conocimientos en el lenguaje de programación Java y en el desarrollo de aplicaciones en la plataforma Java SE.

Los asistentes aprenderán a diseñar aplicaciones robustas mediante el uso de la programación modular en la plataforma Java, a la vez que conocen y ponen en práctica los componentes nativos claves de la API de Java (Java Stream API, Java NIO.2, Java Collections Framework, JDBC, Java Concurrency, etc).

Destacar, como valor añadido, que el presente curso prepara a los estudiantes hacia la superación de la prestigiosa certificación oficial de Oracle OCP: Java SE 11 Developer.

¿Quieres hablar con un asesor sobre este curso?

Sedes

Localización

Fecha inicio

Barcelona
Abril 2024

Objetivos

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.

A quién va dirigido

Este curso está dirigido a personas en situación de desempleo, ERTE, autónomos y a profesionales del Sector Servicios a las Empresas que desean aprender y profundizar sus conocimientos en el lenguaje de programación Java y en el desarrollo de aplicaciones en la plataforma Java SE, incluyendo entre otros sus componentes y conceptos principales, las construcciones principales del lenguaje, la utilización de las APIs fundamentales de la plataforma, la gestión de colecciones, el uso de expresiones lambda y la API de Streams, el acceso a base de datos y sistema de archivos, la concurrencia y la modularización, etc. Se recomienda tener conocimientos previos en otros lenguajes de programación y sobre el paradigma de programación orientada a objetos (POO). Aunque no se trata de un requisito imprescindible para realizar el curso, será recomendable por parte del alumno realizar un esfuerzo en obtener estas nociones para poder seguir el ritmo del curso con garantías.

Temario completo de este curso

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 unaclase 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.
Ver más