Java para Administradores de Sistemas

Todo lo que un Administrador de Sistemas debería saber sobre la plataforma Java y sus componentes
5.0 (2 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
19 students enrolled
$40
Take This Course
  • Lectures 122
  • Contents Video: 12.5 hours
  • Skill Level All Levels
  • Languages Spanish
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works

Discover

Find online courses made by experts from around the world.

Learn

Take your courses with you and learn anywhere, anytime.

Master

Learn and practice real-world skills and achieve your goals.

About This Course

Published 6/2016 Spanish

Course Description

En este curso pretendemos enseñar a los Administradores de Sistemas todo lo que deberían conocer sobre Java para hacer un buen despliegue, monitorización y optimización de aplicaciones en esta plataforma.

Pero tranquilo, no es un curso de programación (ni tienes que saber programar). ¡No tenemos intención reconvertir a los administradores de sistemas en programadores!

Lo que queremos es que los administradores de sistemas entiendan qué es la Java y cómo funcionan los diferentes componentes que forman parte en las aplicaciones que despliegan día a día.

Veremos aspectos como:

  • La plataforma Java.

  • Las tecnologías que intervienen en las aplicaciones Web en Java.

  • Los tipos y características de los servidores de aplicaciones en Java.

  • El acceso a las fuentes de datos (bases de datos, transacciones, servicios de directorio).

  • La estructura y gestión de la memoria, y el mecanismo del Garbage Collector.

  • Monitorización y rendimiento de aplicaciones Java.

  • Logging de aplicaciones.

What are the requirements?

  • Deben tener nociones básicas de administración de sistemas.
  • No es necesario saber programar en Java, aunque ayudará tener ciertas nociones básicas de programación para entender algunos ejemplos.
  • Disponer de un ordenador con Java instalado por si quiere reproducir algunos ejemplos.

What am I going to get from this course?

  • Comprender la estructura de la plataforma Java y su funcionamiento interno.
  • Entender el funcionamiento de las tecnologías más relevantes en las aplicaciones empresariales Java.
  • Monitorizar sistemas Java para entender y cuantificar su comportamiento real y las causas que lo provocan.
  • Optimizar sistemas ejecutándose en Java para lograr las mejores prestaciones.
  • Conocer las arquitecturas de despliegue Java más empleadas a nivel empresarial.

What is the target audience?

  • Administradores de sistemas que trabajen con entornos Java y deseen conocer el funcionamiento de esta platafoma.
  • NO ES UN CURSO DE PROGRAMACIÓN, pero los desarrolladores pueden conocer Java desde el punto de vista de un administrador de sistemas: cómo se despliegan sus aplicaciones, las monitorizan y mantienen.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.

Curriculum

Section 1: 0. Presentación del Curso
03:04

Hola:

Bienvenidos al curso de Java para Administradores de Sistemas.

Como sabes, Java es una de las plataformas más utilizadas en el mundo de las aplicaciones empresariales. A día de hoy, muchos de los grandes sistemas corporativos están realizados con esta tecnología.

Así mismo Java es uno de los lenguajes más populares y demandados entre los programadores, según el índice TIOBE…. ¿Pero qué conocen de Java los administradores de sistemas?

En este curso pretendemos reducir la distancia que hay en el mundo Java entre los programadores y los administradores de sistemas.

Pero tranquilo, no es un curso de programación. No tenemos intención reconvertir a los administradores de sistemas en programadores…

Lo que queremos es que los administradores de sistemas entiendan qué es Java y cómo funcionan los diferentes componentes que forman parte en las aplicaciones que despliegan día a día.

De este modo los administradores de sistemas podrán entender cómo optimizar las características de la infraestructura de los servidores, o estarán más preparados para aportar soluciones ante las incidencias.


Resumen del contenido

En el primer módulo comenzaremos con una introducción a la plataforma Java. Hablaremos del lenguaje y la plataforma, la máquina virtual, tipos de empaquetados que se producen o tipos de aplicaciones.

En el segundo módulo trataremos la relación de Java con las aplicaciones de Internet: veremos los componentes que se emplean para poder crear aplicaciones Web, tales como los servlets, JSP. También introduciremos el concepto de los frameworks modelo vista controlador

En el tercer módulo hablaremos de contenedores de aplicaciones en Java y arquitecturas de ejecución: proxies con Apache, clusters de tomcat, incluso algunas nuevas herramientas para la automatización del despliegue de aplicaciones como por ejemplo Docker.

El cuarto módulo lo hemos dedicado al acceso a Base de datos desde Java, con el protocolo JDBC, Datasources o transacciones y servicios de directorio.

La gestión de la memoria en Java protagoniza el quinto módulo. Veremos cómo está la memoria estructurada y dividida en zonas y los mecanismos del garbage collector, así como su impacto en el rendimiento y herramientas para el análisis de la memoria.

En el sexto módulo hablaremos sobre la monitorización y el rendimiento. Veremos el protocolo que utiliza Java para transmitir el estado de sus componentes, y veremos las herramientas existentes en la actualidad, desde las consolas de monitorización que vienen con el JDK hasta las nuevas herramientas de análisis tipo AppDynamics o New Relic.

Finalmente, en el séptimo módulo veremos las trazas o logging en Java. Qué tipos de frameworks de trazas existen en java y las características de cada uno. También veremos otros aspectos como el cambio de configuración en caliente o los principales mensajes que se pueden encontrar en un log y su explicación.

Section 2: 1. Introducción a Java
10:01

En este primer capítulo de introducción a Java vamos a explicar qué es Java y cómo se divide en JRE+JDK. Veremos tanto sus principales características como sus distintos componentes, módulos y versiones. Así podrás hacer una idea básica de esta plataforma.

11:44

En este tema vamos a ver una introducción con algo más de detalle a la máquina virtual de Java o JVM: Veremos sus principales componentes internos para así tener una noción básica de su funcionamiento. También trataremos la posibilidad de ejecutar otros lenguajes, y veremos más detalladamente el proceso de ejecución.

06:43

En esta lección vamos a ver las diferentes formas en las que se distribuye Java gracias a su arquitectura modular. Veremos desde las versiones normales, hasta otras empresariales, introduciendo el nuevo enfoque modular que inicia Java 8 con sus Compact Profiles y que continúa Java 9 con el proyecto Jigsaw.

04:57

En este tema vamos a ver brevemente la historia y la evolución de Java, guiada por los JSR y en el Java Community Process (JSP), y que lo han convertido uno de los lenguajes y plataformas más relevantes de nuestro tiempo.

08:32

En este tema vamos a tratar el tema del empaquetado de código en Java, que es una forma de compactar y distribuir las aplicaciones, facilitando la labor de despliegue y la especificación de dependencias. Veremos tanto el empaquetado Java básico (.jar) como los dedicados a web (.war) y aplicaciones empresariales (.ear)

06:27

Java, al ser un lenguaje orientado a objetos se basa en instancias de clases que contienen el código. Para cargar estas clases se utiliza un mecanismo particular de la plataforma llamados ClassLoaders. Veremos su funcionamiento y la importancia que tienen en la plataforma.

14:42

En esta lección vamos a ver una clasificación básica  de los tipos de aplicaciones que se pueden desarrollar en Java, así podremos ubicar, dentro del ecosistema Java, las aplicaciones sobre las que trabajamos: stand-alone, Web, Applets, Empresariales, JavaFX...

02:36

En este vídeo veremos cómo crear una aplicación Java sencilla utilizando el entorno de desarrollo "Eclipse", cómo ejecutarla, y también empaquetarla en un ficheros distribuíble de tipo .jar

03:25

En este video vamos a ver cómo se crea una aplicación web sencilla en Java utilizando servlets, que son la piedra angular sobre la que se basan todas las aplicaciones en Web de Java. Crearemos un paquete de tipo .war y lo desplegaremos en un contenedor de servlets clásico como es Tomcat.

25 questions

Test de autoevaluación de conocimientos sobre el tema.

Section 3: 2. Java en Aplicaciones Web
15:08

Las aplicaciones Web, sea cual sea la tecnología que utilicen, deben utilizar un protocolo para comunicarse con los clientes y entre ellas. Este protocolo es HTTP. Vamos a ver de qué trata para poder entender el papel de Java en este tipo de aplicaciones.

05:55

En esta lección vamos a ver unas primeras nociones sobre las páginas web dinámicas, que son fundamentales para entender cómo Java aporta valor a la hora de crear aplicaciones basadas en tecnologías Web.

02:43

Las aplicaciones Web escritas en Java necesitan de un entorno de ejecución. Este entorno de ejecución no puede ser el de un servidor Web estándar que sirve recursos estáticos como Apache, sino que es un tipo de servidor especial llamado Contenedor de aplicaciones. Vamos a ver una breve introducción a este tipo de servidores.

02:52

Los contenedores de servlets utilizan un descriptor de despliegue para saber cómo tienen que operar con los  servlets de la aplicación y otros elementos como filtros y listeners. Este fichero está estandarizado en la API Servlet en forma de web.xml. En esta lección vamos a ver una introducción al contenido de este descriptor de despliegue.

03:30

Los servlets son la piedra angular de la tecnología de Java para la creación de aplicaciones Web. Están organizados en dos niveles: los genéricos y los dependientes del protocolo HTTP. En esta lección veremos los servlets genéricos

10:00

Cuando se trabaja con servlets para el desarrollo de aplicaciones Web se emplea una implementación del servlet genérico específica para HTTP. En esta lección vamos a ver cómo es un servlet de tipo HTTP, su modelo de ejecución y la relación con el request y el response del protocolo HTTP.

04:46

Dentro de los request que hace un usuario a una aplicación Web, destacan dos tipos principalmente: Las peticiones de tipo get y las de tipo post. Vamos a ver en esa lección las diferencias entre una y otra, y cómo le afectan a los servlets de tipo HTTP.

04:06

El modelo de servlets tiene un ciclo de vida que gobierna su comportamiento desde que se arranca el contenedor de servlets hasta que se dejan de usar, pasando claro está, por la recepción de las peticiones. Vamos a ver en esta lección las características de este ciclo de vida.

04:14

Los servlets de tipo HTTP no viven aisladamente en el contenedor de servlets. Existe una configuración que describe cómo tiene que ser su despliegue y qué valores iniciales se le asignan para poder dar el servicio para el que fueron creados. Éstos son los puntos que trataremos en esta lección.

01:20

Los servlets son el punto de entrada para hacer aplicaciones Web en Java, pero desde luego que no son los ideales para tareas complejas. Tienen sus ventajas y sus inconvenientes, que veremos en esta lección.

04:36

En esta lección vamos a ver una introducción a JSP o Java Server Pages, que es una tecnología de Java para el desarrollo de aplicaciones Web, y que combina HTML con código Java. Está basado en los servlets como veremos.

05:05

En esta lección vamos a ver los componentes básicos que utilizan para crear páginas JSP.

04:48

Una de las posibilidades más importantes de JSP es la posibilidad de facilitar el desarrollo en base a etiquetas propias del lenguaje y librerías, reduciendo la cantidad de código Java que es necesario escribir para muchas funcionalidades. Lo veremos en esta lección.

05:43

Las páginas JSP deben poder comunicarse con otros componentes que el contenedor de servlets utiliza para modelar el protocolo HTTP tal y como se hacía con los servlets. En esta lección vamos a ver las referencias a estos recursos en forma de variables implícitas y las directivas que se pueden usar en JSP para extender sus posibilidades.

07:30

Las aplicaciones empresariales actuales están construidas sobre la base de los Servlets y las páginas JSP, pero utilizando frameworks mucho más complejos. Estos frameworks están basados en el patrón MVC o Modelo Vista Controlador. Vamos a ver una introducción a esta arquitectura de aplicaciones.

11:44

En esta lección vamos a ver en detalle los componentes del patrón Modelo Vista Controlador o MVC, y que es el más utilizado para el desarrollo de aplicaciones Web, y en general para las aplicaciones que tienen interacción compleja con el usuario final.

09:03

Los contextos son otra de las piezas fundamentales para las aplicaciones Web en todas las arquitecturas y tecnologías. Java también los utiliza, y sobre ellos se modela gran parte de la funcionalidad de los frameworks. Vamos a ver cuáles son y qué se puede hacer con ellos.

08:13

El patrón MVC es seguido por la mayoría de los frameworks de aplicaciones Web en cualquier lenguaje, y cómo no, también por Java. En esta lección vamos a hacer un breve repaso por los frameworks más relevantes.

09:36

Dentro del esquema de las aplicaciones Web en Java, además de los servlets, no podemos dejar pasar por alto un componente muy útil que permite realizar operaciones previas al procesamiento del request y el response. En esta lección vamos a ver qué son los filtros en aplicaciones Web Java, para qué se pueden usar y cómo se crean y configuran.

04:09

Otro elemento de la arquitectura básica de Java en Web, además de los servlets y los filtros son los listeners. Vamos a ver qué son y cómo se utilizan.

10:26

En este vídeo veremos cómo se crean las páginas de tipo JSP, su sintáxis, librerías de tags y scriptlets de código.

08:25

En este vídeo veremos ejemplos de la funcionalidad que nos brindan los filtros y listeners, ilustrándolo con una pequeña aplicación de Login.

05:32

En este vídeo haremos uso de Maven y SpringMVC para crear una pequeña aplicación web de ejemplo que nos sirva para introducirnos en la arquitectura de Spring.

46 questions

Test de autoevaluación de conocimientos sobre el tema.

Section 4: 3. Despliegue en servidores
11:56

En esta lección vamos a tratar la distinción entre los tres tipos fundamentales de servidores que están involucrados en la  distribución de las aplicaciones Web: estáticos, contenedores de servlets y servidores de aplicaciones.

04:21

El servidor más sencillo para las aplicaciones Web desarrolladas en Java es un Contenedor de Servlets, y el más popular es Apache Tomcat, que será el que veamos en esta lección.

11:51

En esta lección vamos a ver cómo podemos instalar Tomcat y comprender las variables de entorno que utiliza, así como su particular modo de establecer el classpath para acceder a las clases Java que ejecuta.

12:39

En los entornos en los que se requiere de alto rendimiento y disponibilidad es común contar con varias instancias de Tomcat que se ejecutan en modo cluster. En este caso Apache actúa como puerta de entrada y balanceador. Vamos a ver de qué se trata todo este sistema en esta lección.

11:20

En este vídeo vamos a hacer un repaso de los principales problemas que suelen surgir en Tomcat a la hora de poner en funcionamiento las aplicaciones Web.

09:12

En esta lección continuaremos viendo los problemas más comunes que nos podemos encontrar a la hora de tratar con el contenedor de servlets Tomcat, y que suelen repetirse en otros servidores de aplicaciones. Nos centraremos especialmente en problemas relacionados con la memoria, que son excepciones en tiempo de ejecución.

02:00

En este vídeo veremos cómo se instala y se pone en marcha el contenedor de servlets Tomcat 7 de forma manual usando wget con un vídeo de demostración práctico.

02:15

En este vídeo veremos como se instala y se pone en marcha el contenedor de servlets Tomcat 7 a través del gestor de paquetes APT que incluyen los servidores de tipo linux Debian.

08:03

En este vídeo de demostración veremos cómo se construye una arquitectura básica de clustering de servidores Tomcat detrás de un servidor web Apache a modo de proxy.

04:23

En este tema vamos a presentar algunos de los contenedores de aplicaciones (bien contenedores de Servlets o bien servidores de aplicaciones) más utilizados en el mundo Java.

04:16

Jetty es una de las alternativas más populares a Tomcat ya que se sitúan en el mismo nivel: como contenedores de Servlets. Además destaca por su capacidad de innovación y de implementación de las últimas evoluciones de las especificaciones de Java. Vamos a ver sus principales características.

04:49

Tomcat es un contenedor de servlets que no dispone de las capacidades de Java Enterprise Edition (Java EE) que pueden tener los servidores de aplicaciones más potentes. Existe una distribución llamada TomEE que complementa a Tomcat con módulos de JEE y una interfaz de gestión que lo asemeja a otras soluciones más completas, incluso comerciales. Vamos a repasar sus características en este vídeo.

03:04

WildFly es la alternativa de código abierto con más recorrido a los servidores de aplicaciones comerciales. Es el nuevo nombre del clásico JBoss Application Server (AS). Vamos a ver sus características principales en esta lección.

03:32

A grandes problemas grandes soluciones. Este parece ser el lema de la suite de Oracle para soluciones empresariales de alto calado, donde su servidor Weblogic Server juega un papel importante. Vamos a ver sus principales características en esta lección.

04:31

Otra de las soluciones comerciales para grandes sistemas es el conocido IBM Websphere Application Server o más conocido como WAS. Vamos a ver sus características principales en esta lección.

00:57

En este vídeo vamos a ver un cuadro resumen de las características de los servidores de aplicaciones Java vistos con anterioridad.

02:45

En este vídeo veremos un screencast de la instalación del servidor de aplicaciones JBoss Wildfly, principal alternativa a los servidores de Oracle e IBM.

10:01

Es bastante común que los servidores de aplicaciones no ejecuten una única aplicación sino varias de forma simultánea. De hecho es posible que una gran aplicación Web esté dividida en sub-aplicaciones que pueden o no compartir librerías. En este tema vamos a ver cómo los servidores de aplicaciones en Java se las arreglan para gestionar diferentes aplicaciones Web de forma paralela.

03:10

El concepto de sesión es uno de los mecanismos más importantes a la hora de la interacción entre los usuarios y los servidores. Vamos a ver en esta lección las particularidades de las sesiones en los servidores de aplicaciones.

12:38

La sesión es un mecanismo imprescindible par las aplicaciones Web actuales ya que almacena los datos del cliente en el servidor. Pero en los entornos reales de producción suelen existir clusters con varios servidores, lo que requiere tener especial cuidado en el tratamiento de la memoria. En esta lección vamos a ver los mecanismos de tratamiento de sesiones en servidores en cluster, tomando al servidor Tomcat como ejemplo.

03:58

En esta lección veremos el modo que tiene Tomcat para configurar las diferentes estrategias para  gestionar la sesión distribuida cuando opera en un cluster de servidores.

12:15


Después del boom en la industria que produjo la virtualización de máquinas, empleadas como entornos de producción, una nueva tecnología de virtualización ligera ha emergido en los últimos tiempos, que parece ser el nuevo paso en entornos de este tipo. En esta lección veremos qué es Docker y sobre qué conceptos se asienta, así como las posibles arquitecturas que se pueden diseñar con ello.

08:50

En la actualidad suele ser requisito que las comunicaciones con las aplicaciones tengan que ir cifradas para proteger estas informaciones. En esta lección vamos a ver qué son los certificados y cómo se gestionan con el keytool de Java.

06:50

En este vídeo veremos las diferentes opciones que se nos presenta en un cluster de Tomcats para mantener la afinidad de sesión de los usuarios.

07:01

En este vídeo veremos como implementar un canal seguro de comunicación entre las instancias de un cluster de Tomcats con SSL.

03:32

En esta lección vamos a ver uno de los primeros puntos que se deben considerar a la hora de configurar un servidor que se ejecuta con el sistema operativo Unix o Linux. No es otro que los descriptores de ficheros.

05:06

En cualquier arquitectura, lo común es que existan unos servidores Apache que actúen como proxy o puerta de entrada al sistema completo. Por tanto las conexiones a estos servidores Apache son vitales. En esta lección veremos las diferencias entre los módulos que Apache utiliza para procesar las peticiones de los clientes.

04:42

En esta lección vamos a ver otro parámetro importante en Apache, sobre todo cuando actúa como frontal de una gran arquitectura. No es otro que el KeepAlive de las conexiones HTTP.

04:45

Una de las partes más importantes de una arquitectura es la base de datos, donde reside la información con la que se trabaja. También es fuente de problemas para la carga de la aplicación completa. Vamos a ver algunos consejos de interés.

04:55

En esta lección vamos a ver un concepto básico a la hora de establecer los parámetros de configuración de la red en una arquitectura compleja, como son los tiempos de time out.

07:01

En esta lección vamos a ver un ejemplo en el que implementamos una arquitectura de servidores Tomcat y Apache para cubrir unas necesidades típicas que pueden darse en un caso real. Vamos a verlo en detalle.

07:21

En esta demostración veremos como operar con las herramientas que Docker pone a nuestra disposición: desde descargar imágenes oficiales a desplegar nuestras propias aplicaciones haciendo uso de varios contenedores.

42 questions

Test de autoevaluación de conocimientos sobre el tema.

Section 5: 4. Acceso a Datos
03:16

Una de las partes más importantes de una aplicación empresarial es la base de datos. Naturalmente Java cuenta con tecnologías para poder conectarse a estos repositorios de información. Vamos a ver una primera aproximación a la tecnología JDBC.

05:39

Una de las partes fundamentales de la tecnología JDBC de acceso a base de dato es  el driver JDBC, que es el que canaliza la comunicación con la base de datos y permite a Java adaptarse a diferentes sistemas de gestión de bases de datos. Vamos a ver sus detalles. en este video.

07:32

Los drivers JDBC son un componente complejo que tiene una misión complicada: hacer de puente entre la base de datos y el API de JDBC. Como se enfrenta a diferentes escenarios, existen tipos de drivers para cada situación. Vamos a ver los que son.

05:11

Además del driver de JDBC, el otro componente necesario y fundamental es la API, que es lo que utiliza el desarrollador para poder programar funcionalidades que se conectan a la base de datos.

08:08

Aunque el modo inicial de obtener una conexión a una base de datos es a través del DriverManager,a lo largo del tiempo se ha demostrado que tiene una serie de problemas, por lo que se crearon los Datasource como Alternativa. Vamos a verlos en detalle.

02:47

En el siguiente vídeo veremos cómo se debe registrar y utilizar un DataSource en el contenedor de servlets Tomcat 7 para su uso dentro de una aplicación Java.

05:15

En el este vídeo veremos cómo se debe registrar y utilizar un DataSource en el servidor de aplicaciones WildFly para su uso dentro de una aplicación Java.

07:06

Uno de los mecanismos fundamentales para gestionar las conexiones en las aplicaciones empresariales son los pool de conexiones. Vamos a ver de qué tratan y cómo nos pueden ayudar.

03:00

En el siguiente vídeo veremos las opciones de configuración básicas concernientes a recursos externos que nos permite manipular Tomcat 7 para solucionar problemas de conectividad con, en este caso, un DataSource.

05:12

En las aplicaciones empresariales es común que el acceso a datos esté formado por operaciones complejas agrupadas en conjuntos de tareas que deben realizarse de forma simultánea. Esto se lleva a cabo a través de las transacciones. Vamos a ver una introducción a los conceptos básicos.

03:31

En esta lección veremos los dos tipos de transacciones con respecto a los recursos que involucran: las transacciones locales y las transacciones distribuidas. 

02:40

Java proporciona una tecnología para el manejo de transacciones en sus aplicaciones. Se trata de JTA y su API. Vamos a ver sus principales características.

04:34

Las transacciones distribuidas necesitan un mecanismo que coordine todas las operaciones individuales que se ejecutan sobre los diferentes recursos. El mecanismo más utilizado es el Two Phase Commit. En este vídeo veremos en qué consiste.

04:21

Una de las características más importantes de las transacciones es el aislamiento. Este aislamiento tiene diferentes niveles, lo que posibilita que exista o no cierto grado de concurrencia en la ejecución. En esta lección vamos a ver los niveles de aislamiento y el impacto sobre la concurrencia.

05:03

Los servicios de directorio permiten definir recursos a nivel global en una arquitectura completa como es la de las aplicaciones empresariales, lo que permite un diseño más limpio y menos acoplado. Vamos a ver en esta lección una introducción a los conceptos básicos para entender cómo Java implementa esta tecnología.

13:24

Java Permite utilizar su implementación del sistema de nombres y directorio, llamado, JNDI. Es importante para las aplicaciones que involucran diferentes componentes porque actúa a modo de pegamento que permite unirlos para formar una aplicación completa. Vamos a ver en este vídeo los puntos más importantes de su especificación.

01:43

En este vídeo veremos cómo se registran nuevos contextos JNDI de forma programática desde Java, así como el acceso a los mismos.

39 questions

Test de autoevaluación de conocimientos sobre el tema.

Section 6: 5. Gestión de memoria en Java
08:56


Una de las características esenciales de todo lenguaje de programación y de Java en particular, es la gestión de la memoria. En esta lección veremos  una introducción a las características principales de la gestión de la memoria en Java, que lo hacen tan especial.

07:35

La memoria es un recurso fundamental con el que tienen que trabajar las aplicaciones. La máquina virtual de Java (JVM) presenta una forma particular de distribuir la memoria abstrayendo al programa en ejecución de la memoria real de la máquina física. Vamos a ver en esta lección cómo Java realiza la distribución de esta memoria.

03:56

Java es una plataforma en constante evolución, tanto en el lenguaje como en la estructura. En esta lección vamos a tratar un hito en la forma de gestionar la memoria que sucedió en la versión Java 8: el paso de un modelo con PermGen a un modelo con Metaspaces, que le permite ser más flexible.

05:11

Para que el mecanismo de garbage collector pueda actuar correctamente, Java organiza los objetos en memoria en diferentes zonas dependiendo de la logevidad de los objetos en memoria. Estas zonas son los espacios de generaciones. En esta lección veremos de qué tratan.

04:36

En este vídeo se verán las diferentes configuraciones que se pueden aplicar a las máquinas virtuales de Java para la gestión de la memoria.

03:49

El Garbage Collector es el mecanismo fundamental que interviene en la gestión de la memoria en Java. En este vídeo veremos una primera aproximación a las razones de su exitencia y funcionamiento.

08:23

El Garbage Collector es un mecanismo complejo que actúa sobre las diferentes zonas de la memoria de Java, por lo que realmente existen diferentes tipos especializados en cada área. En esta lección vamos a ver la hipótesis de distribución de la memoria sobre la que se sustentan y la tipología teórica de los garbage collectors con las características que hay que tener en cuenta para elegir uno u otro tipo.

10:04

Las características y tipos de Garbage Collector deben ser implementados en las diferentes distribuciones de la máquina virtual de Java. Estas implementaciones están basadas en algoritmos concretos. Vamos a ver los tipos generales y la implementación de la máquina virtual "Hotspot" de Oracle.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Autentia University, Instructor de Autentia

Autentia nace en 2003 con la intención de cimentar un sector del desarrollo de apasionados por lo que hacen, de artesanos del software con gran disciplina colectiva y ampliamente motivados, que desarrollen de acuerdo a los principios del Agilismo y la formación continua.

Como demostramos a diario con la grabación de charlas técnicas, realizando auditorías tanto a equipos como a clientes, o en nuestro portal adictosaltrabajo, nuestro leit motiv enfatiza en compartir conocimiento. De esta necesidad nace Autentia University, donde la formación se concilie con el tiempo del que disponga el usuario.

Nos apasiona el conocimiento y el saber hacer. Por ello apoyamos junto a una serie de empresas la creación de un nuevo ecosistema del sector.

Ready to start learning?
Take This Course