Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programación II (2013/2014)
Origen
• Año 1991; Sun Microsystems
– Programar dispositivos de electrónica de consumo
– Surge la idea del Java byte-code è JVM (Java Virtual Machine)
• Año 1994; Sun Microsystems
– Se desarrolla el primer navegador Web que ejecuta programas Java: HotJava
• Año 1995; Netscape Incorporated
– El navegador Netscape es capaz de ejecutar programas Java
Programación II (2013/2014)
Java: crear, compilar y ejecutar
Public class Bienvenida{
Public static void main(String[] args){ Crear/Modificar código fuente
System.out.printl(“Bienvenidos”);
}
} Código fuente
Resultado
Bienvenidos
IDE: permite editar, compilar, depurar, ejecutar cualquier código Java desde una
única herramienta.
Programación II (2013/2014)
Bases
• API (Application Program Interface):
• Conjunto de clases e interfaces predefinidas para el desarrollo de
programas. En continua expansión
• http://download.oracle.com/javase/1.5.0/docs/api/
Programación II (2013/2014)
Métodos (I) Void si no devuelve parámetros.
int resultado;
Programación II (2013/2014)
Métodos (II)
public static void main (String[] args) {
// cuerpo del programa
}
Programación II (2013/2014)
Métodos (II)
public static void main (String[] args) {
// cuerpo del programa
}
public static void main(String[] args) { public static int max(int num1, int num2) {
int i = 5; int result;
int j = 2;
int k = max(i, j); if (num1 > num2)
result = num1;
System.out.println( else
"The maximum between " + i + result = num2;
" and " + j + " is " + k);
} return result;
}
Programación II (2013/2014)
Ámbito de definición de variables
int z = 9;
.
for (int i = 1; i < 10; i++) {
.
.
int j;
.
.
.
}
Programación II (2013/2014)
Distribución de memoria en JVM
(Java Virtual Machine)
• Stack:
– Almacena variables locales.
– Llamadas a métodos (parámetros de entrada + resultado).
– Variables primitivas.
– Referencias a objetos.
• Heap:
– Espacio de memoria en tiempo de ejecución donde viven los objetos y sus
variables de instancia.
Programación II (2013/2014)
Métodos: Stack y Heap
public static void main(String[] args) { public static int max(int num1, int num2) {
int i = 5; int result;
int j = 2;
int k = max(i, j); if (num1 > num2)
result = num1;
System.out.println( else
"The maximum between " + i + result = num2;
" and " + j + " is " + k);
} return result;
}
STACK: Variables locales, llamadas a métodos, variables primitivas y referencias a objetos (en el heap)
Espacio en el
Espacio en el método “max”
método “max” result: 5
num1: 5 num1: 5
num2: 2 num2: 2
Espacio en el Espacio en el Espacio en el Espacio en el
método “main” método “main” método “main” método “main”
k: k: k: k: 5
i: 5 i: 5 i: 5 i: 5
j: 2 j: 2 j: 2 j: 2
Programación II (2013/2014)
Referencias
• Zona de datos / Stack / Heap
public class Circulo() { Circulo c1(1), c2(5);
double radio; int i = 1, j = 2;
. i = j;
. c1 = c2;
.
}
Circulo
radio = 1 Circulo
i 1 c1 radio = 1
i 2 c1
j 2 c2 Circulo
radio = 5 2 Circulo
j c2
radio = 5
• Puntero this:
– Referencia explícita al objeto cuyos métodos se están
ejecutando (o cuyas variables deben ser accedidas desde
tales métodos).
Programación II (2013/2014)
Recolector de Basura
(Garbage Collector)
Programación II (2013/2014)