SlideShare ist ein Scribd-Unternehmen logo
1 von 65
Downloaden Sie, um offline zu lesen
Garbage Collector
Conociendo el manejo de memoria en el JVM
@SuperSerch
¿Qué ocurre en la memoria?
¿Qué ocurre en la memoria?
¿Qué ocurre en la memoria?
¿Qué ocurre en la memoria?
¿Qué ocurre en la memoria?
¿Qué ocurre en la memoria?
¿Qué ocurre en la memoria?
¿Qué ocurre en la memoria?
Retos al administrar la memoria
Velocidad de asignación ( velocidad de creación de objetos )
Seguimiento de objetos y valores vivos
Seguimiento del espacio vacío
Fragmentación de la memoria
JVMS: 2.5.3 Heap
The heap is created on virtual machine start-up. Heap storage for objects
is reclaimed by an automatic storage management system (known as a
garbage collector); objects are never explicitly deallocated. The Java
Virtual Machine assumes no particular type of automatic storage
management system, and the storage management technique may be
chosen according to the implementor's system requirements. The heap may
be of a fixed size or may be expanded as required by the computation and
may be contracted if a larger heap becomes unnecessary. The memory for
the heap does not need to be contiguous.
JVMS: 2.5.3 Heap
The heap is created on virtual machine start-up. Heap storage for objects
is reclaimed by an automatic storage management system (known as a
garbage collector); objects are never explicitly deallocated. The Java
Virtual Machine assumes no particular type of automatic storage
management system, and the storage management technique may be
chosen according to the implementor's system requirements. The heap may
be of a fixed size or may be expanded as required by the computation and
may be contracted if a larger heap becomes unnecessary. The memory for
the heap does not need to be contiguous.
If a computation requires more heap than can be made available by the
automatic storage management system, the Java Virtual Machine
throws an OutOfMemoryError.
Hipótesis Generacional
Hipótesis generacional debil
La mayoría de los objetos mueren jovenes
80% - 95% de los objetos en 1MB mueren antes de que
se llene el siguiente MB
95% de los objetos Java son de corta vida
Memoria generacional
PermGen
(jdk8-nativo)
Old Gen
Young Gen
Young Gen
Young Gen
Eden
Survivor Spaces
From To⇄
Allocation
Allocation
Allocation
From To
Allocation
From To
Allocation
To From
Allocation
To From
Allocation
From To
Promotion
From To
No hay espacio suficiente
Promotion
From To
Old Generation
Colectores en Oracle JVM
Serial Garbage Collector
Parallel Garbage Collector
Concurrent Mark-Sweep Garbage Collector
G1 Garbage Collector (Garbage 1srt)
Serial Garbage Collector
Compactación por deslizamiento, con
una pausa stop-the-world
Util para ambientes con 1 virtual
core o en ambientes donde varias
JVMs comparten el mismo hardware
Para Heaps en el orden de MBs
Pausas posiblemente largas
App App AppGC GC
Parallel Garbage Collector
Compactación por deslizamiento, con
una pausa stop-the-world
utiliza todos los núcleos disponibles
Alto throughput
Para Heaps en el orden de GBs App App AppGC GC
Concurrent Mark-Sweep Garbage
Collector
Diseñado para tener un tiempo de
respuesta consistente
Hace gran parte del trabajo de limpiar
Old Gen concurrente a la aplicación
Si se acaba el espacio antes de que
CMS pueda limpiar, ocurre una SWP y
limpia en paralelo
Require un Heap mas grande
App App AppIM RM
SW
G1 Garbage Collector
(Garbage 1srt)
G1 Garbage Collector
(Garbage 1srt)
G1 Garbage Collector
(Garbage 1srt)
G1 Garbage Collector
(Garbage 1srt)
G1 Garbage Collector
(Garbage 1srt)
G1 Garbage Collector
(Garbage 1srt)
Paralelo, concurrente e incremental
Pausas cortas y alto throughput
Divide el heap en regiones
Cada región puede cambiar de rol
según se requiera al momento
Remplazo a largo tiempo del CMS, en
JDK9 es el GC por defecto
App App AppGC GC
¿Cuándo un Objeto es basura?
Un objeto es elegible para ser colectado cuando desde
ningún GC Root de la jvm se puede alcanzar con una
referencia fuerte al objeto
Referencia fuerte (Variable en alcance)
GC Root de la jvm
GC Roots de la JVM
Variables locales (stack)
Threads activos
Variables estáticas
Referencias JNI
GC Roots
Objetos
Alcanzables
Objetos NO
Alcanzables
Tipos de Referencias
Fuerte
Suave ( SoftReference )
Debil ( WeakReference )
Fantasma ( PhantomReference )
Ejemplo WeakReference
WagTask.run Kennel.dogCache
WeakReference
Dog
Tail
Stack Heap
Ejemplo WeakReference
WagTask.run Kennel.dogCache
WeakReference
Dog
Tail
Stack Heap
El Thread se muere
Ejemplo WeakReference
Kennel.dogCache
WeakReference
Dog
Tail
Heap
Durante un GC
Ejemplo WeakReference
Kennel.dogCache
WeakReference
null
Heap
Después del GC
Problemas comunes
(y como evitarlos)
Memory leak
public void push(Object e) {
ensureCapacity();
elements[size++] = e;
}
public Object pop() {
if (size== 0)
throw new EmptyStackException();
return elements[--size];
}
Memory leak
public void push(Object e) {
ensureCapacity();
elements[size++] = e;
}
public Object pop() {
if (size== 0)
throw new EmptyStackException();
return elements[--size];
}
Memory leak
public Object pop() {
if (size== 0)
throw new EmptyStackException();
Object result = elements[--size];
elements[size] = null;
return result;
}
Clases miembro
public class MySet<E> extends AbstractSet<E> {
... // otros métodos de la clase
public Iterator<E> iterator() {
return new MyIterator();
}
private class MyIterator implements Iterator<E> {
...
}
}
Clases miembro
public class MySet<E> extends AbstractSet<E> {
... // otros métodos de la clase
public Iterator<E> iterator() {
return new MyIterator();
}
private class MyIterator implements Iterator<E> {
...
}
}
Clases miembro
public class MySet<E> extends AbstractSet<E> {
... // otros métodos de la clase
public Iterator<E> iterator() {
return new MyIterator();
}
private class MyIterator implements Iterator<E> {
...
}
}
static
Otro Memory Leak
static Vector vector = new Vector():
...
for (int n = count-1; n > 0; n--) {
vector.removeElementAt(n);
}
...
Otro Memory Leak
static Vector vector = new Vector():
...
for (int n = count-1; n > 0; n--) {
vector.removeElementAt(n);
}
...
>=
Otro Memory Leak
static Vector vector = new Vector():
...
vector.clear();
...
Nonlocal Instance Field
public class Storer {
private Map<Integer, String> hm =
new HashMap<>();
private void doSomething() {
// hm sólo se usa aquí
hm.put(1, "java");
// …
}
}
Nonlocal Instance Field
public class Storer {
private Map<Integer, String> hm =
new HashMap<>();
private void doSomething() {
// hm sólo se usa aquí
hm.put(1, "java");
// …
}
}
Referencias olvidadas
Reader reader = new Reader();
button.addActionListener(reader);
try {
reader.readSomething();
} catch (IOException e) {
// se maneja la excepción
}
// Ya no se usa reader
Referencias olvidadas
Reader reader = new Reader();
button.addActionListener(reader);
try {
reader.readSomething();
button.removeActionListener(reader);
} catch (IOException e) {
// se maneja la excepción
}
// Ya no se usa reader
Referencias olvidadas
Reader reader = new Reader();
button.addActionListener(reader);
try {
reader.readSomething();
button.removeActionListener(reader);
} catch (IOException e) {
// se maneja la excepción
}
// Ya no se usa reader
Referencias olvidadas
Reader reader = new Reader();
button.addActionListener(reader);
try {
reader.readSomething();
} catch (IOException e) {
// se maneja la excepción
} finally {
button.removeActionListener(reader);
}
// Ya no se usa reader
Referencias fuertes
class HashMetaData {
private Map<SSLSocket, InetAddress> m =
Collections.synchronizedMap( new HashMap<>());
public void storeTempConn(SSLSocket sock,
InetAddress ip) {
m.put(sock, ip);
}
pubic void removeTempConn(SSLSocket sock) {
m.remove(sock);
}
}
Referencias fuertes
class HashMetaData {
private Map<SSLSocket, InetAddress> m =
Collections.synchronizedMap( new WeakHashMap<>());
public void storeTempConn(SSLSocket sock,
InetAddress ip) {
m.put(sock, ip);
}
pubic void removeTempConn(SSLSocket sock) {
m.remove(sock);
}
}
Referencias fuertes
class HashMetaData {
private Map<WeakReference<SSLSocket>, InetAddress>
m = Collections.synchronizedMap( new HashMap<>());
ReferenceQueue queue = new ReferenceQueue();
...
Referencias fuertes
public void storeTempConn(SSLSocket sock,
InetAddress ip) {
WeakReference<SSLSocket> wr;
while((wr = (WeakReference) queue.poll) != null){
//...
m.remove(wr);
}
wr = new WeakReference<>(sock, queue);
m.put(wr, ip);
}
...
Referencias fuertes
public void storeTempConn(SSLSocket sock,
InetAddress ip) {
SoftReference<SSLSocket> sr;
while((sr = (SoftReference) queue.poll) != null){
//...
m.remove(sr);
}
sr = new SoftReference<>(sock, queue);
m.put(sr, ip);
}
...
¿ Preguntas ?
Bibliografía
Efective Java Second Edition - Joshua Bloch
Java Platform Performance - Steve Wilson, Jeff Kesselman
Java Performance - Charlie Hunt, Binu John
The CERT Oracle Secure Coding Standard For Java -
Fred Long, Dhruv Mohindra, Robert C. Seacord,
Dean F Sutherland, David Svoboda

Weitere ähnliche Inhalte

Was ist angesagt?

PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balasPHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balasPablo Godel
 
Distributed Task Processing with Celery - PyZH
Distributed Task Processing with Celery - PyZHDistributed Task Processing with Celery - PyZH
Distributed Task Processing with Celery - PyZHCesar Cardenas Desales
 
Docker en el entorno de desarrollo
Docker en el entorno de desarrolloDocker en el entorno de desarrollo
Docker en el entorno de desarrolloAlejandro Hernández
 
Terraspace, the definitive terraform framework
Terraspace, the definitive terraform frameworkTerraspace, the definitive terraform framework
Terraspace, the definitive terraform frameworkMario IC
 
Sandbox para ejercicios de programación
Sandbox para ejercicios de programaciónSandbox para ejercicios de programación
Sandbox para ejercicios de programaciónMario Garcia-Valdez
 
Silex: Microframework y camino fácil de aprender Symfony
Silex: Microframework y camino fácil de aprender SymfonySilex: Microframework y camino fácil de aprender Symfony
Silex: Microframework y camino fácil de aprender SymfonyRyan Weaver
 
Gulp js php sevilla 28 septiembre 2016
Gulp js   php sevilla 28 septiembre 2016Gulp js   php sevilla 28 septiembre 2016
Gulp js php sevilla 28 septiembre 2016Agencia INNN
 
Deployer PHP. Presentación para #PHPSevilla
Deployer PHP. Presentación para #PHPSevillaDeployer PHP. Presentación para #PHPSevilla
Deployer PHP. Presentación para #PHPSevillaAgencia INNN
 
CommitConf 2019 - Micronaut y GraalVm: La combinación perfecta
CommitConf 2019 - Micronaut y GraalVm: La combinación perfectaCommitConf 2019 - Micronaut y GraalVm: La combinación perfecta
CommitConf 2019 - Micronaut y GraalVm: La combinación perfectaIván López Martín
 
Codemotion Madrid 2019 - ¡GraalVM y Micronaut: compañeros perfectos!
Codemotion Madrid 2019 - ¡GraalVM y Micronaut: compañeros perfectos!Codemotion Madrid 2019 - ¡GraalVM y Micronaut: compañeros perfectos!
Codemotion Madrid 2019 - ¡GraalVM y Micronaut: compañeros perfectos!Iván López Martín
 
Cambia la forma de desarrollar tus aplicaciones web con groovy y grails
Cambia la forma de desarrollar tus aplicaciones web con groovy y grailsCambia la forma de desarrollar tus aplicaciones web con groovy y grails
Cambia la forma de desarrollar tus aplicaciones web con groovy y grailsFátima Casaú Pérez
 
Apache Storm: Introduccion
Apache Storm: IntroduccionApache Storm: Introduccion
Apache Storm: IntroduccionStratebi
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as CodeAngel Nuñez
 
Orquestadores para las cuatro estaciones (swarm, kubernetes, mesos y rancher)
Orquestadores para las cuatro estaciones (swarm, kubernetes, mesos y rancher)Orquestadores para las cuatro estaciones (swarm, kubernetes, mesos y rancher)
Orquestadores para las cuatro estaciones (swarm, kubernetes, mesos y rancher)Adrian Garcia Casas
 

Was ist angesagt? (18)

Introducción a Kotlin para desarrolladores Java
Introducción a Kotlin para desarrolladores JavaIntroducción a Kotlin para desarrolladores Java
Introducción a Kotlin para desarrolladores Java
 
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balasPHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
PHP Conference Argentina 2013 - Deployment de aplicaciones PHP a prueba de balas
 
Distributed Task Processing with Celery - PyZH
Distributed Task Processing with Celery - PyZHDistributed Task Processing with Celery - PyZH
Distributed Task Processing with Celery - PyZH
 
Docker en el entorno de desarrollo
Docker en el entorno de desarrolloDocker en el entorno de desarrollo
Docker en el entorno de desarrollo
 
Terraspace, the definitive terraform framework
Terraspace, the definitive terraform frameworkTerraspace, the definitive terraform framework
Terraspace, the definitive terraform framework
 
Sandbox para ejercicios de programación
Sandbox para ejercicios de programaciónSandbox para ejercicios de programación
Sandbox para ejercicios de programación
 
Silex: Microframework y camino fácil de aprender Symfony
Silex: Microframework y camino fácil de aprender SymfonySilex: Microframework y camino fácil de aprender Symfony
Silex: Microframework y camino fácil de aprender Symfony
 
Gulp js php sevilla 28 septiembre 2016
Gulp js   php sevilla 28 septiembre 2016Gulp js   php sevilla 28 septiembre 2016
Gulp js php sevilla 28 septiembre 2016
 
Mi experiencia con Amazon AWS EC2 y S3
Mi experiencia con Amazon AWS EC2 y S3Mi experiencia con Amazon AWS EC2 y S3
Mi experiencia con Amazon AWS EC2 y S3
 
Apache Mesos
Apache MesosApache Mesos
Apache Mesos
 
Deployer PHP. Presentación para #PHPSevilla
Deployer PHP. Presentación para #PHPSevillaDeployer PHP. Presentación para #PHPSevilla
Deployer PHP. Presentación para #PHPSevilla
 
CommitConf 2019 - Micronaut y GraalVm: La combinación perfecta
CommitConf 2019 - Micronaut y GraalVm: La combinación perfectaCommitConf 2019 - Micronaut y GraalVm: La combinación perfecta
CommitConf 2019 - Micronaut y GraalVm: La combinación perfecta
 
Codemotion Madrid 2019 - ¡GraalVM y Micronaut: compañeros perfectos!
Codemotion Madrid 2019 - ¡GraalVM y Micronaut: compañeros perfectos!Codemotion Madrid 2019 - ¡GraalVM y Micronaut: compañeros perfectos!
Codemotion Madrid 2019 - ¡GraalVM y Micronaut: compañeros perfectos!
 
JVM Reactive Programming
JVM Reactive ProgrammingJVM Reactive Programming
JVM Reactive Programming
 
Cambia la forma de desarrollar tus aplicaciones web con groovy y grails
Cambia la forma de desarrollar tus aplicaciones web con groovy y grailsCambia la forma de desarrollar tus aplicaciones web con groovy y grails
Cambia la forma de desarrollar tus aplicaciones web con groovy y grails
 
Apache Storm: Introduccion
Apache Storm: IntroduccionApache Storm: Introduccion
Apache Storm: Introduccion
 
Infrastructure as Code
Infrastructure as CodeInfrastructure as Code
Infrastructure as Code
 
Orquestadores para las cuatro estaciones (swarm, kubernetes, mesos y rancher)
Orquestadores para las cuatro estaciones (swarm, kubernetes, mesos y rancher)Orquestadores para las cuatro estaciones (swarm, kubernetes, mesos y rancher)
Orquestadores para las cuatro estaciones (swarm, kubernetes, mesos y rancher)
 

Ähnlich wie Garbage Collection en el JVM

Introducción al manejo de memoria en el JVM
Introducción al manejo de memoria en el JVMIntroducción al manejo de memoria en el JVM
Introducción al manejo de memoria en el JVMsuperserch
 
Administración de memoria en java
Administración de memoria en javaAdministración de memoria en java
Administración de memoria en javaLuis Miguel De Bello
 
1.4.2 stack segment
1.4.2  stack  segment1.4.2  stack  segment
1.4.2 stack segmentgabo
 
1.4.2 pila stack segment
1.4.2 pila stack  segment1.4.2 pila stack  segment
1.4.2 pila stack segmentgabo
 
Evasión de Técnicas Forenses
Evasión de Técnicas ForensesEvasión de Técnicas Forenses
Evasión de Técnicas ForensesConferencias FIST
 
Slides taller de exploiting Navaja Negra 4ed
Slides taller de exploiting Navaja Negra 4edSlides taller de exploiting Navaja Negra 4ed
Slides taller de exploiting Navaja Negra 4edIgnacio Sorribas
 
Persistencia en Java - Serialización
Persistencia en Java - SerializaciónPersistencia en Java - Serialización
Persistencia en Java - SerializaciónCarlos Hernando
 
Un poco más allá con grails. PrimerViernes
Un poco más allá con grails. PrimerViernesUn poco más allá con grails. PrimerViernes
Un poco más allá con grails. PrimerViernesDani Latorre
 
Escuela
EscuelaEscuela
EscuelaMAAP98
 
Hangout: Garbage Collectors: Qué son, Cómo funcionan y Cuáles existen
Hangout: Garbage Collectors: Qué son, Cómo funcionan y Cuáles existenHangout: Garbage Collectors: Qué son, Cómo funcionan y Cuáles existen
Hangout: Garbage Collectors: Qué son, Cómo funcionan y Cuáles existenJuan Carlos Ruiz Pacheco
 
Presentación Java Evolution - GlobalLogic Club
Presentación Java Evolution - GlobalLogic ClubPresentación Java Evolution - GlobalLogic Club
Presentación Java Evolution - GlobalLogic ClubGlobalLogic Latinoamérica
 
Marcos quesada caching_sf2
Marcos quesada caching_sf2Marcos quesada caching_sf2
Marcos quesada caching_sf2symfony_bcn
 

Ähnlich wie Garbage Collection en el JVM (20)

Introducción al manejo de memoria en el JVM
Introducción al manejo de memoria en el JVMIntroducción al manejo de memoria en el JVM
Introducción al manejo de memoria en el JVM
 
Administración de memoria en java
Administración de memoria en javaAdministración de memoria en java
Administración de memoria en java
 
Presentación Detección de Memory Leaks en Android
Presentación Detección de Memory Leaks en AndroidPresentación Detección de Memory Leaks en Android
Presentación Detección de Memory Leaks en Android
 
Java 7- Java Day Guatemala
Java 7- Java Day GuatemalaJava 7- Java Day Guatemala
Java 7- Java Day Guatemala
 
1.4.2 stack segment
1.4.2  stack  segment1.4.2  stack  segment
1.4.2 stack segment
 
1.4.2 pila stack segment
1.4.2 pila stack  segment1.4.2 pila stack  segment
1.4.2 pila stack segment
 
Máquina virtual en java
Máquina virtual en javaMáquina virtual en java
Máquina virtual en java
 
Evasión de Técnicas Forenses
Evasión de Técnicas ForensesEvasión de Técnicas Forenses
Evasión de Técnicas Forenses
 
JRuby Al Rescate J2EE
JRuby Al Rescate J2EEJRuby Al Rescate J2EE
JRuby Al Rescate J2EE
 
Slides taller de exploiting Navaja Negra 4ed
Slides taller de exploiting Navaja Negra 4edSlides taller de exploiting Navaja Negra 4ed
Slides taller de exploiting Navaja Negra 4ed
 
Persistencia en Java - Serialización
Persistencia en Java - SerializaciónPersistencia en Java - Serialización
Persistencia en Java - Serialización
 
Clase x
Clase xClase x
Clase x
 
Un poco más allá con grails. PrimerViernes
Un poco más allá con grails. PrimerViernesUn poco más allá con grails. PrimerViernes
Un poco más allá con grails. PrimerViernes
 
JRuby al Rescate de J2EE
JRuby al Rescate de J2EEJRuby al Rescate de J2EE
JRuby al Rescate de J2EE
 
Escuela
EscuelaEscuela
Escuela
 
Tablas de comandos
Tablas de comandosTablas de comandos
Tablas de comandos
 
Hangout: Garbage Collectors: Qué son, Cómo funcionan y Cuáles existen
Hangout: Garbage Collectors: Qué son, Cómo funcionan y Cuáles existenHangout: Garbage Collectors: Qué son, Cómo funcionan y Cuáles existen
Hangout: Garbage Collectors: Qué son, Cómo funcionan y Cuáles existen
 
Presentación Java Evolution - GlobalLogic Club
Presentación Java Evolution - GlobalLogic ClubPresentación Java Evolution - GlobalLogic Club
Presentación Java Evolution - GlobalLogic Club
 
Marcos quesada caching_sf2
Marcos quesada caching_sf2Marcos quesada caching_sf2
Marcos quesada caching_sf2
 
Hilos En Java
Hilos En JavaHilos En Java
Hilos En Java
 

Mehr von superserch

Identificando problemas en el JVM
Identificando problemas en el JVMIdentificando problemas en el JVM
Identificando problemas en el JVMsuperserch
 
Lambda & Stream API workshop 2019
Lambda & Stream API workshop 2019Lambda & Stream API workshop 2019
Lambda & Stream API workshop 2019superserch
 
OWASP Top 10 2017
OWASP Top 10 2017OWASP Top 10 2017
OWASP Top 10 2017superserch
 
Cloudino workshopcpmx7
Cloudino workshopcpmx7Cloudino workshopcpmx7
Cloudino workshopcpmx7superserch
 
Workshop: Lambdas y Stream API en Java 8
Workshop: Lambdas y Stream API en Java 8Workshop: Lambdas y Stream API en Java 8
Workshop: Lambdas y Stream API en Java 8superserch
 
Chela stress test
Chela stress testChela stress test
Chela stress testsuperserch
 
Zed Attack Proxy
Zed Attack ProxyZed Attack Proxy
Zed Attack Proxysuperserch
 
Inyección, XSS, CSRF en ChelaJS
Inyección, XSS, CSRF en ChelaJSInyección, XSS, CSRF en ChelaJS
Inyección, XSS, CSRF en ChelaJSsuperserch
 

Mehr von superserch (9)

Identificando problemas en el JVM
Identificando problemas en el JVMIdentificando problemas en el JVM
Identificando problemas en el JVM
 
Lambda & Stream API workshop 2019
Lambda & Stream API workshop 2019Lambda & Stream API workshop 2019
Lambda & Stream API workshop 2019
 
OWASP Top 10 2017
OWASP Top 10 2017OWASP Top 10 2017
OWASP Top 10 2017
 
Cloudino workshopcpmx7
Cloudino workshopcpmx7Cloudino workshopcpmx7
Cloudino workshopcpmx7
 
Workshop: Lambdas y Stream API en Java 8
Workshop: Lambdas y Stream API en Java 8Workshop: Lambdas y Stream API en Java 8
Workshop: Lambdas y Stream API en Java 8
 
Jvmmx jigsaw
Jvmmx jigsawJvmmx jigsaw
Jvmmx jigsaw
 
Chela stress test
Chela stress testChela stress test
Chela stress test
 
Zed Attack Proxy
Zed Attack ProxyZed Attack Proxy
Zed Attack Proxy
 
Inyección, XSS, CSRF en ChelaJS
Inyección, XSS, CSRF en ChelaJSInyección, XSS, CSRF en ChelaJS
Inyección, XSS, CSRF en ChelaJS
 

Kürzlich hochgeladen

Delitos informáticos en Slideshare.pptx
Delitos informáticos en  Slideshare.pptxDelitos informáticos en  Slideshare.pptx
Delitos informáticos en Slideshare.pptxmaykolmagallanes012
 
Instalacion de servicios windows, configuracion y aplicacion.
Instalacion de servicios windows, configuracion y aplicacion.Instalacion de servicios windows, configuracion y aplicacion.
Instalacion de servicios windows, configuracion y aplicacion.CZSOTEC
 
Se realiza instalacion y configuraacion servicios Windows
Se realiza instalacion y configuraacion servicios WindowsSe realiza instalacion y configuraacion servicios Windows
Se realiza instalacion y configuraacion servicios WindowsCZSOTEC
 
SQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptxSQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptxRAMIROANTONIOGALINDO
 
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOSISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOELIAMARYTOVARFLOREZD
 
Webinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdfWebinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdfAnaRosaMontenegro
 
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxMacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxcalzadillasluis134
 

Kürzlich hochgeladen (7)

Delitos informáticos en Slideshare.pptx
Delitos informáticos en  Slideshare.pptxDelitos informáticos en  Slideshare.pptx
Delitos informáticos en Slideshare.pptx
 
Instalacion de servicios windows, configuracion y aplicacion.
Instalacion de servicios windows, configuracion y aplicacion.Instalacion de servicios windows, configuracion y aplicacion.
Instalacion de servicios windows, configuracion y aplicacion.
 
Se realiza instalacion y configuraacion servicios Windows
Se realiza instalacion y configuraacion servicios WindowsSe realiza instalacion y configuraacion servicios Windows
Se realiza instalacion y configuraacion servicios Windows
 
SQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptxSQL server Analysis Services & SQL Server Reporting Services.pptx
SQL server Analysis Services & SQL Server Reporting Services.pptx
 
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVOSISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
SISTEMA INTEGRADO DE ADMINISTRACION FINANCIERA - SIAF MODULO ADMINISTRATIVO
 
Webinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdfWebinar Resolucion2335 de 2023 Kubapp.pdf
Webinar Resolucion2335 de 2023 Kubapp.pdf
 
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptxMacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
MacOS SISTEMA OPERATIVO CARACTERISTICAS.pptx
 

Garbage Collection en el JVM