Sunteți pe pagina 1din 16

RESUMEN DEL CONTENIDO

PARTE 1. PROGRAMACIN BSICA .................................

CAPTULO 1. FASES EN EL DESARROLLO DE UN PROGRAMA .................

CAPTULO 2. INTRODUCCIN A JAVA ............................................................

19

CAPTULO 3. INTRODUCCIN A LA POO ........................................................

33

CAPTULO 4. ELEMENTOS DEL LENGUAJE ...................................................

59

CAPTULO 5. ESTRUCTURA DE UN PROGRAMA ..........................................

85

CAPTULO 6. CLASES DE USO COMN ........................................................... 109


CAPTULO 7. SENTENCIAS DE CONTROL ....................................................... 147
CAPTULO 8. MATRICES ..................................................................................... 185
CAPTULO 9. MS SOBRE MTODOS Y COLECCIONES .............................. 239

PARTE 2. MECANISMOS DE ABSTRACCIN................... 271


CAPTULO 10. CLASES Y PAQUETES ............................................................... 273
CAPTULO 11. SUBCLASES E INTERFACES .................................................... 365
CAPTULO 12. CLASES GENRICAS ................................................................. 427
CAPTULO 13. EXCEPCIONES ............................................................................ 439

VIII

JAVA 2: CURSO DE PROGRAMACIN

CAPTULO 14. FLUJOS ......................................................................................... 463

PARTE 3. DISEO Y PROGRAMACIN ............................. 535


CAPTULO 15. ESTRUCTURAS DINMICAS ................................................... 537
CAPTULO 16. ALGORITMOS ............................................................................. 623
CAPTULO 17. HILOS ........................................................................................... 669
CAPTULO 18. INTERFACES GRFICAS Y APLICACIONES PARA
INTERNET ... ............................................................................... 731

PARTE 4. APNDICES ............................................................. 777


A. INSTALACIN DEL SOFTWARE ................................................................... 779
B. ENTORNO DE DESARROLLO INTEGRADO PARA JAVA.......................... 783
C. PLATAFORMAS UNIX/LINUX........................................................................ 817
D. FICHEROS JAR .................................................................................................. 819
E. JAVA COMPARADO CON C/C++.................................................................... 823
NDICE .................................................................................................................... 827

CONTENIDO
PRLOGO......................................................................................................... XXIII

PARTE 1. PROGRAMACIN BSICA ................................

CAPTULO 1. FASES EN EL DESARROLLO DE UN PROGRAMA ............

QU ES UN PROGRAMA.................................................................................
LENGUAJES DE PROGRAMACIN...............................................................
Compiladores .................................................................................................
Intrpretes.......................................................................................................
QU ES JAVA? ................................................................................................
HISTORIA DE JAVA .........................................................................................
POR QU APRENDER JAVA? .......................................................................
REALIZACIN DE UN PROGRAMA EN JAVA ............................................
Cmo crear un programa ................................................................................
Interfaz de lnea de rdenes............................................................................
Qu hace este programa?.........................................................................
Guardar el programa escrito en el disco....................................................
Compilar y ejecutar el programa ...............................................................
Biblioteca de clases ...................................................................................
Guardar el programa ejecutable en el disco ..............................................
Depurar un programa ................................................................................
Entorno de desarrollo integrado .....................................................................
EJERCICIOS RESUELTOS ...............................................................................
EJERCICIOS PROPUESTOS.............................................................................

3
4
6
6
7
8
9
9
11
11
12
13
13
15
15
16
16
16
18

JAVA 2: CURSO DE PROGRAMACIN

CAPTULO 2. INTRODUCCIN A JAVA ........................................................

19

DECLARACIN DE UNA VARIABLE ...........................................................


ASIGNAR VALORES ........................................................................................
AADIR COMENTARIOS ...............................................................................
MOSTRAR DATOS POR LA PANTALLA ......................................................
EXPRESIONES ARITMTICAS ......................................................................
EXPRESIONES CONDICIONALES .................................................................
ESCRIBIR NUESTROS PROPIOS MTODOS................................................
EJERCICIOS PROPUESTOS.............................................................................

19
22
23
24
25
27
29
31

CAPTULO 3. INTRODUCCIN A LA POO ....................................................

33

PENSAR EN OBJETOS .....................................................................................


Clases y objetos ..............................................................................................
Mensajes y mtodos .......................................................................................
DISEO DE UNA CLASE DE OBJETOS ........................................................
CONSTRUCTORES ...........................................................................................
HERENCIA.........................................................................................................
EJERCICIOS RESUELTOS ...............................................................................
EJERCICIOS PROPUESTOS.............................................................................

34
34
35
36
43
46
53
57

CAPTULO 4. ELEMENTOS DEL LENGUAJE ...............................................

59

PRESENTACIN DE LA SINTAXIS DE JAVA ..............................................


CARACTERES DE JAVA .................................................................................
Letras, dgitos y otros .....................................................................................
Espacios en blanco .........................................................................................
Caracteres especiales y signos de puntuacin ................................................
Secuencias de escape......................................................................................
TIPOS DE DATOS .............................................................................................
Tipos primitivos .............................................................................................
Tipos referenciados ........................................................................................
Tipos enumerados ..........................................................................................
LITERALES .......................................................................................................
Literales enteros .............................................................................................
Literales reales ...............................................................................................
Literales de un solo carcter ...........................................................................
Literales de cadenas de caracteres ..................................................................
IDENTIFICADORES .........................................................................................
PALABRAS CLAVE ..........................................................................................
COMENTARIOS ................................................................................................

59
60
60
60
61
61
62
62
64
64
65
65
66
66
67
67
68
68

CONTENIDO

XI

DECLARACIN DE CONSTANTES SIMBLICAS ......................................


Por qu utilizar constantes? ..........................................................................
Sentencia import static ...................................................................................
DECLARACIN DE UNA VARIABLE ...........................................................
Iniciacin de una variable ..............................................................................
EXPRESIONES NUMRICAS ..........................................................................
CONVERSIN ENTRE TIPOS DE DATOS.....................................................
OPERADORES...................................................................................................
Operadores aritmticos...................................................................................
Operadores de relacin...................................................................................
Operadores lgicos .........................................................................................
Operadores unitarios ......................................................................................
Operadores a nivel de bits ..............................................................................
Operadores de asignacin ..............................................................................
Operador condicional .....................................................................................
PRIORIDAD Y ORDEN DE EVALUACIN ...................................................
EJERCICIOS RESUELTOS ...............................................................................
EJERCICIOS PROPUESTOS.............................................................................

69
70
70
71
72
73
73
74
74
75
76
77
77
78
80
81
82
84

CAPTULO 5. ESTRUCTURA DE UN PROGRAMA...........................................

85

ESTRUCTURA DE UNA APLICACIN JAVA ..............................................


Paquetes y proteccin de clases .....................................................................
Proteccin de una clase ..................................................................................
Sentencia import ............................................................................................
Definiciones y declaraciones..........................................................................
Sentencia simple ............................................................................................
Sentencia compuesta o bloque .......................................................................
Mtodos..........................................................................................................
Definicin de un mtodo ...........................................................................
Mtodo main ..................................................................................................
Crear objetos de una clase ..............................................................................
Cmo acceder a los miembros de un objeto ...................................................
Proteccin de los miembros de una clase .......................................................
Miembro de un objeto o de una clase.............................................................
Referencias a objetos......................................................................................
Pasando argumentos a los mtodos ................................................................
PROGRAMA JAVA FORMADO POR MLTIPLES FICHEROS .......................
ACCESIBILIDAD DE VARIABLES.................................................................
EJERCICIOS PROPUESTOS.............................................................................

85
89
90
91
92
93
94
94
94
95
95
97
98
99
101
104
105
107
108

XII

JAVA 2: CURSO DE PROGRAMACIN

CAPTULO 6. CLASES DE USO COMN ........................................................ 109


ENTRADA Y SALIDA ......................................................................................
Flujos de entrada ............................................................................................
Flujos de salida...............................................................................................
Excepciones ...................................................................................................
Flujos estndar de E/S ....................................................................................
Determinar la clase a la que pertenece un objeto ......................................
BufferedInputStream.................................................................................
BufferedReader .........................................................................................
PrintStream ...............................................................................................
Trabajar con tipos de datos primitivos ...........................................................
Clases que encapsulan los tipos primitivos ...............................................
Clase Leer ......................................................................................................
DNDE SE UBICAN LAS CLASES QUE DAN SOPORTE?........................
Variable CLASSPATH ..................................................................................
CARCTER FIN DE FICHERO ........................................................................
CARACTERES \r\n ............................................................................................
ALTERNATIVA A LOS FLUJOS DE E/S ........................................................
Entrada de datos .............................................................................................
Salida con formato .........................................................................................
Clase Formatter ..............................................................................................
MTODOS MATEMTICOS ...........................................................................
EJERCICIOS RESUELTOS ...............................................................................
EJERCICIOS PROPUESTOS.............................................................................

110
111
112
113
114
115
116
117
119
121
122
125
128
128
129
131
133
133
135
136
138
140
144

CAPTULO 7. SENTENCIAS DE CONTROL ................................................... 147


SENTENCIA if ...................................................................................................
ANIDAMIENTO DE SENTENCIAS if .............................................................
ESTRUCTURA else if ........................................................................................
SENTENCIA switch ...........................................................................................
SENTENCIA while .............................................................................................
Bucles anidados..............................................................................................
SENTENCIA do ... while ....................................................................................
SENTENCIA for .................................................................................................
SENTENCIA break .............................................................................................
SENTENCIA continue ........................................................................................
ETIQUETAS .......................................................................................................
SENTENCIAS try ... catch..................................................................................
EJERCICIOS RESUELTOS ...............................................................................
EJERCICIOS PROPUESTOS.............................................................................

147
150
152
154
159
162
165
168
171
172
172
174
175
182

CONTENIDO

XIII

CAPTULO 8. MATRICES .................................................................................. 185


INTRODUCCIN A LAS MATRICES .............................................................
MATRICES NUMRICAS UNIDIMENSIONALES ........................................
Declarar una matriz ........................................................................................
Crear una matriz .............................................................................................
Iniciar una matriz ...........................................................................................
Acceder a los elementos de una matriz ..........................................................
Mtodos de una matriz ...................................................................................
Trabajar con matrices unidimensionales ........................................................
Tamao de una matriz ....................................................................................
ArrayList ........................................................................................................
Aadir un elemento ...................................................................................
Insertar un elemento ..................................................................................
Modificar un elemento ..............................................................................
Obtener un elemento .................................................................................
Iteradores...................................................................................................
Tamao .....................................................................................................
Eliminar elementos ...................................................................................
Buscar elementos ......................................................................................
Copiar listas ..............................................................................................
Ejemplo .....................................................................................................
Matrices asociativas .......................................................................................
Map ................................................................................................................
CADENAS DE CARACTERES .........................................................................
Leer y escribir una cadena de caracteres ........................................................
Clase String ....................................................................................................
String(String valor) ...................................................................................
String toString() ........................................................................................
String concat(String str) ............................................................................
int compareTo(String otroString) .............................................................
int length().................................................................................................
String toLowerCase() ................................................................................
String toUpperCase() ................................................................................
String trim() ..............................................................................................
boolean startsWith(String prefijo) ............................................................
boolean endsWith(String sufijo) ...............................................................
String substring(int IndiceInicial, int IndiceFinal) ....................................
char charAt(int ndice) ..............................................................................
int indexOf(int car) ...................................................................................
int indexOf(String str) ...............................................................................
String replace(char car, char nuevoCar) ...................................................
static String valueOf(tipo dato) .................................................................

186
187
187
188
189
189
190
191
192
193
194
194
194
194
194
195
195
195
195
196
198
200
203
204
206
207
207
208
208
209
209
210
210
210
210
210
211
211
211
211
211

XIV

JAVA 2: CURSO DE PROGRAMACIN

char[] toCharArray() .................................................................................


byte[] getBytes() .......................................................................................
Clase StringBuffer..........................................................................................
StringBuffer([arg]) ....................................................................................
int length().................................................................................................
int capacity() .............................................................................................
StringBuffer append(tipo x) ......................................................................
StringBuffer insert(int ndice, tipo x)........................................................
StringBuffer delete(int p1, int p2) .............................................................
StringBuffer replace(int p1, int p2, String str) ..........................................
StringBuffer reverse() ...............................................................................
String substring(int IndiceInicial, int IndiceFinal) ....................................
char charAt(int ndice) ..............................................................................
void setCharAt(int ndice, char car) ..........................................................
String toString() ........................................................................................
Clase StringTokenizer ....................................................................................
Conversin de cadenas de caracteres a datos numricos ...............................
MATRICES DE REFERENCIAS A OBJETOS.................................................
Matrices numricas multidimensionales ........................................................
Matrices de cadenas de caracteres ..................................................................
SENTENCIA for para colecciones......................................................................
EJERCICIOS RESUELTOS ...............................................................................
EJERCICIOS PROPUESTOS.............................................................................

211
212
212
212
213
213
213
213
213
214
214
214
214
215
215
215
216
217
218
222
227
228
235

CAPTULO 9. MS SOBRE MTODOS Y COLECCIONES ......................... 239


PASAR UNA MATRIZ COMO ARGUMENTO A UN MTODO ....................
DATOS RETORNADOS POR UN MTODO ..................................................
REFERENCIA A UN TIPO PRIMITIVO ...........................................................
ARGUMENTOS EN LA LNEA DE RDENES ..............................................
MTODOS RECURSIVOS ................................................................................
MTODOS SOBRECARGADOS ......................................................................
NMERO VARIABLE DE PARMETROS ....................................................
LA CLASE Object ..............................................................................................
boolean equals(Object obj) ............................................................................
String toString() .............................................................................................
void finalize() .................................................................................................
LA CLASE Arrays ..............................................................................................
binarySearch...................................................................................................
equals .............................................................................................................
fill ...................................................................................................................
sort..................................................................................................................

239
241
243
246
248
250
252
254
254
255
256
256
256
257
258
258

CONTENIDO

COLECCIONES .................................................................................................
MS SOBRE REFERENCIAS Y OBJETOS String ..........................................
EJERCICIOS RESUELTOS ...............................................................................
EJERCICIOS PROPUESTOS.............................................................................

XV
259
260
263
268

PARTE 2. MECANISMOS DE ABSTRACCIN.................. 271


CAPTULO 10. CLASES Y PAQUETES ............................................................ 273
DEFINICIN DE UNA CLASE ........................................................................
Atributos ........................................................................................................
Mtodos de una clase .....................................................................................
Control de acceso a los miembros de la clase ................................................
Acceso predeterminado .............................................................................
Acceso pblico ..........................................................................................
Acceso privado..........................................................................................
Acceso protegido ......................................................................................
IMPLEMENTACIN DE UNA CLASE ...........................................................
MTODOS SOBRECARGADOS ......................................................................
NMERO VARIABLE DE PARMETROS ....................................................
IMPLEMENTACIN DE UNA APLICACIN ................................................
CONTROL DE ACCESO A UNA CLASE ........................................................
REFERENCIA this .............................................................................................
VARIABLES, MTODOS Y CLASES FINALES ............................................
INICIACIN DE UN OBJETO ..........................................................................
Constructor .....................................................................................................
Sobrecarga del constructor .............................................................................
Llamar a un constructor .................................................................................
Asignacin de objetos ....................................................................................
Constructor copia ...........................................................................................
DESTRUCCIN DE OBJETOS.........................................................................
Destructor .......................................................................................................
Ejecutar el recolector de basura .....................................................................
REFERENCIAS COMO MIEMBROS DE UNA CLASE .................................
REDEFINIR MTODOS HEREDADOS DE Object .........................................
Mtodo equals ................................................................................................
Mtodo clone..................................................................................................
MIEMBROS STATIC DE UNA CLASE ...........................................................
Atributos static ...............................................................................................
Acceder a los atributos static..........................................................................
Mtodos static ................................................................................................

273
275
276
277
278
279
279
279
280
283
285
286
287
288
289
290
292
295
296
297
298
299
300
302
302
310
310
312
314
314
316
317

XVI

JAVA 2: CURSO DE PROGRAMACIN

CLASES ANIDADAS ........................................................................................


Clases internas................................................................................................
Clases definidas dentro de un mtodo ............................................................
Clases annimas .............................................................................................
TIPOS ENUMERADOS .....................................................................................
MATRICES DE OBJETOS ................................................................................
PAQUETES ........................................................................................................
Crear un paquete ............................................................................................
La clase aplicacin pertenece a un paquete ....................................................
Compilar y ejecutar la aplicacin desde NetBeans ...................................
Compilar y ejecutar la aplicacin desde una consola................................
EJERCICIOS RESUELTOS ...............................................................................
EJERCICIOS PROPUESTOS.............................................................................

319
320
322
323
325
327
336
337
339
339
342
343
358

CAPTULO 11. SUBCLASES E INTERFACES ................................................ 365


CLASES Y MTODOS ABSTRACTOS ...........................................................
SUBCLASES Y HERENCIA .............................................................................
DEFINIR UNA SUBCLASE ..............................................................................
Control de acceso a los miembros de las clases .............................................
Qu miembros hereda una subclase ...............................................................
ATRIBUTOS CON EL MISMO NOMBRE.......................................................
REDEFINIR MTODOS DE LA SUPERCLASE .............................................
CONSTRUCTORES DE LAS SUBCLASES ....................................................
COPIA DE OBJETOS ........................................................................................
DESTRUCTORES DE LAS SUBCLASES........................................................
JERARQUA DE CLASES ................................................................................
REFERENCIAS A OBJETOS DE UNA SUBCLASE .......................................
Conversiones implcitas .................................................................................
Conversiones explcitas..................................................................................
INFORMACIN DE TIPOS DURANTE LA EJECUCIN .............................
POLIMORFISMO...............................................................................................
MTODOS EN LNEA .........................................................................................
INTERFACES.....................................................................................................
Definir una interfaz ........................................................................................
Un ejemplo: la interfaz IFecha .......................................................................
Utilizar una interfaz .......................................................................................
Clase abstracta frente a interfaz .....................................................................
Utilizar una interfaz como un tipo .................................................................
Interfaces frente a herencia mltiple ..............................................................
Para qu sirve una interfaz .............................................................................
Implementar mltiples interfaces ...................................................................

366
367
370
372
373
378
379
382
385
387
389
398
398
400
401
401
411
412
412
413
415
418
419
421
421
422

CONTENIDO

XVII

EJERCICIOS RESUELTOS ............................................................................... 422


EJERCICIOS PROPUESTOS............................................................................. 425
CAPTULO 12. CLASES GENRICAS .............................................................. 427
DEFINICIN DE CLASES GENRICAS ........................................................
Relacin entre clases genricas ......................................................................
Tipo comodn .................................................................................................
MTODOS GENRICOS ..................................................................................
EJERCICIOS RESUELTOS ...............................................................................
EJERCICIOS PROPUESTOS.............................................................................

428
432
432
435
436
438

CAPTULO 13. EXCEPCIONES ......................................................................... 439


EXCEPCIONES DE JAVA ................................................................................
MANEJAR EXCEPCIONES ..............................................................................
Lanzar una excepcin.....................................................................................
Capturar una excepcin ..................................................................................
Excepciones derivadas ...................................................................................
BLOQUE DE FINALIZACIN .........................................................................
DECLARAR EXCEPCIONES ...........................................................................
CREAR EXCEPCIONES ...................................................................................
FLUJO DE EJECUCIN ....................................................................................
CUNDO UTILIZAR EXCEPCIONES Y CUNDO NO ................................
EJERCICIOS RESUELTOS ...............................................................................
EJERCICIOS PROPUESTOS.............................................................................

441
443
444
444
446
447
449
451
453
455
456
461

CAPTULO 14. FLUJOS....................................................................................... 463


VISIN GENERAL DE LOS FLUJOS DE E/S.................................................
Flujos que no procesan los datos de E/S ........................................................
Flujos que procesan los datos de E/S .............................................................
ABRIENDO FICHEROS PARA ACCESO SECUENCIAL ..............................
Flujos de bytes ...............................................................................................
FileOutputStream ......................................................................................
FileInputStream.........................................................................................
Clase File........................................................................................................
Flujos de caracteres ........................................................................................
FileWriter ..................................................................................................
FileReader .................................................................................................

465
466
468
473
474
474
477
478
481
482
483

XVIII

JAVA 2: CURSO DE PROGRAMACIN

Flujos de datos ...............................................................................................


DataOutputStream.....................................................................................
DataInputStream .......................................................................................
Un ejemplo de acceso secuencial ...................................................................
SERIACIN DE OBJETOS ...............................................................................
Escribir objetos en un fichero ........................................................................
Leer objetos desde un fichero ........................................................................
Seriar objetos que referencian a objetos.........................................................
ABRIENDO FICHEROS PARA ACCESO ALEATORIO ................................
La clase RandomAccessFile...........................................................................
La clase CPersona ..........................................................................................
La clase CListaTfnos......................................................................................
Constructor CListaTfnos ...........................................................................
Escribir un registro en el fichero ...............................................................
Aadir un registro al final del fichero .......................................................
Leer un registro del fichero .......................................................................
Eliminar un registro del fichero ................................................................
Hay registros marcados para eliminar? ...................................................
Buscar un registro en el fichero ................................................................
Un ejemplo de acceso aleatorio a un fichero..................................................
Modificar un registro ................................................................................
Actualizar el fichero ..................................................................................
ESCRIBIR DATOS EN LA IMPRESORA ........................................................
EJERCICIOS RESUELTOS ...............................................................................
EJERCICIOS PROPUESTOS.............................................................................

484
485
486
487
492
494
495
497
501
501
504
505
505
507
508
508
509
510
510
511
514
516
517
518
532

PARTE 3. DISEO Y PROGRAMACIN ............................ 535


CAPTULO 15. ESTRUCTURAS DINMICAS ................................................ 537
LISTAS LINEALES ...........................................................................................
Listas lineales simplemente enlazadas ...........................................................
Operaciones bsicas .......................................................................................
Insercin de un elemento al comienzo de la lista ......................................
Buscar en una lista un elemento con un valor x ........................................
Insercin de un elemento en general .........................................................
Borrar un elemento de la lista ...................................................................
Recorrer una lista ......................................................................................
Borrar todos los elementos de una lista ....................................................
UNA CLASE PARA LISTAS LINEALES ........................................................
Clase genrica para listas lineales ..................................................................
Clase LinkedList<T> .....................................................................................

538
538
541
542
544
544
545
546
546
547
550
558

CONTENIDO

XIX

LISTAS CIRCULARES .....................................................................................


Clase CListaCircularSE<T>...........................................................................
PILAS..................................................................................................................
COLAS ................................................................................................................
EJEMPLO ...........................................................................................................
LISTA DOBLEMENTE ENLAZADA ...............................................................
Lista circular doblemente enlazada ................................................................
Clase CListaCircularDE<T> .....................................................................
Ejemplo .....................................................................................................
RBOLES...........................................................................................................
rboles binarios .............................................................................................
Formas de recorrer un rbol binario ...............................................................
RBOLES BINARIOS DE BSQUEDA ..........................................................
Clase CArbolBinB<T> ..................................................................................
Buscar un nodo en el rbol .............................................................................
Insertar un nodo en el rbol............................................................................
Borrar un nodo del rbol ................................................................................
Utilizacin de la clase CArbolBinB<T> ........................................................
RBOLES BINARIOS PERFECTAMENTE EQUILIBRADOS ......................
Clase CArbolBinE<T> ...................................................................................
Utilizacin de la clase CArbolBinE<T> ........................................................
CLASES APORTADAS POR LA BIBLIOTECA JAVA ..................................
EJERCICIOS RESUELTOS ...............................................................................
EJERCICIOS PROPUESTOS.............................................................................

560
562
566
567
569
571
572
572
578
579
580
582
584
585
588
589
590
593
596
597
602
604
605
619

CAPTULO 16. ALGORITMOS .......................................................................... 623


RECURSIVIDAD ...............................................................................................
ORDENACIN DE DATOS ..............................................................................
Mtodo de la burbuja .....................................................................................
Mtodo de insercin .......................................................................................
Mtodo quicksort ...........................................................................................
Comparacin de los mtodos expuestos.........................................................
BSQUEDA DE DATOS ..................................................................................
Bsqueda secuencial ......................................................................................
Bsqueda binaria ............................................................................................
Bsqueda de cadenas .....................................................................................
ORDENACIN DE FICHEROS EN DISCO.....................................................
Ordenacin de ficheros. Acceso secuencial ...................................................
Ordenacin de ficheros. Acceso aleatorio ......................................................
ALGORITMOS HASH .......................................................................................
Matrices hash .................................................................................................

623
629
630
633
634
638
638
638
639
640
643
644
651
654
655

XX

JAVA 2: CURSO DE PROGRAMACIN

Mtodo hash abierto .......................................................................................


Mtodo hash con desbordamiento ..................................................................
Eliminacin de elementos ..............................................................................
Clase CHashAbierto .......................................................................................
Un ejemplo de una matriz hash ......................................................................
EJERCICIOS RESUELTOS ...............................................................................
EJERCICIOS PROPUESTOS.............................................................................

656
657
658
658
662
665
667

CAPTULO 17. HILOS ......................................................................................... 669


CONCEPTO DE PROCESO ..............................................................................
HILOS .................................................................................................................
Estados de un hilo ..........................................................................................
Cundo se debe crear un hilo .........................................................................
PROGRAMAR CON HILOS .............................................................................
Crear un hilo...................................................................................................
Hilo derivado de Thread ...........................................................................
Hilo asociado con una clase ......................................................................
Demonios .......................................................................................................
Finalizar un hilo .............................................................................................
Controlar un hilo ............................................................................................
Preparado ..................................................................................................
Bloqueado .................................................................................................
Dormido ....................................................................................................
Esperando..................................................................................................
SINCRONIZACIN DE HILOS ........................................................................
Secciones crticas ...........................................................................................
Exclusin mutua........................................................................................
Monitor reentrante ....................................................................................
Utilizar wait y notify ......................................................................................
Por qu los mtodos almacenar y obtener utilizan un bucle?..................
Interbloqueo ...................................................................................................
GRUPO DE HILOS ............................................................................................
Grupo predefinido ..........................................................................................
Grupo explcito ..............................................................................................
PLANIFICACIN DE HILOS ...........................................................................
Qu ocurre con los hilos que tengan igual prioridad? ..................................
Asignar prioridades a los hilos .......................................................................
TUBERAS .........................................................................................................
ESPERA ACTIVA Y PASIVA...........................................................................
EJERCICIOS RESUELTOS ...............................................................................
EJERCICIOS PROPUESTOS.............................................................................

669
674
676
677
677
677
679
681
684
685
687
688
688
689
689
690
691
695
698
699
705
706
707
707
709
709
710
711
714
719
719
728

CONTENIDO

XXI

CAPTULO 18. INTERFACES GRFICAS Y APLICACIONES PARA


INTERNET .................................................................................. 731
INTERFACES GRFICAS ................................................................................
Estructura de una aplicacin ..........................................................................
Compilar y ejecutar la aplicacin ...................................................................
DISEO DE LA INTERFAZ GRFICA ...........................................................
Crear un componente Swing ..........................................................................
Componentes Swing ms comunes ...........................................................
Contenedores ..................................................................................................
Administradores de diseo .............................................................................
Aadir los componentes al contenedor ..........................................................
Asignar un administrador de diseo..........................................................
Aadir una etiqueta y editar sus propiedades............................................
Aadir un botn de pulsacin y editar sus propiedades ............................
MANEJO DE EVENTOS ...................................................................................
Asignar manejadores de eventos a un objeto .................................................
Adaptadores ...................................................................................................
Responder a los eventos .................................................................................
ACCEDER A LA WEB ......................................................................................
PGINAS WEB..................................................................................................
PGINAS WEB DINMICAS ..........................................................................
APPLETS ............................................................................................................
Crear un applet ...............................................................................................
Un ejemplo simple .........................................................................................
Restricciones de seguridad con los applets ....................................................
Instalacin de un applet en un servidor ..........................................................
SERVLETS .........................................................................................................
Estructura de un servlet ..................................................................................
Software necesario para ejecutar un servlet ...................................................
Desplegar un servlet en el servidor ................................................................
Invocando al servlet desde una pgina HTML ..............................................
Descriptor de despliegue ................................................................................
Ejecutar un servlet ..........................................................................................
EJERCICIOS RESUELTOS ...............................................................................
EJERCICIOS PROPUESTOS.............................................................................

732
732
736
736
737
737
738
739
740
741
741
742
743
744
746
748
749
751
752
753
754
757
761
762
763
763
768
769
770
772
773
773
776

PARTE 4. APNDICES ............................................................ 777


INSTALACIN DEL SOFTWARE ..................................................................... 779
ENTORNO DE DESARROLLO INTEGRADO PARA JAVA ......................... 783

XXII

JAVA 2: CURSO DE PROGRAMACIN

PLATAFORMAS UNIX/LINUX .......................................................................... 817


FICHEROS JAR .................................................................................................... 819
JAVA COMPARADO CON C/C++ ..................................................................... 823

NDICE .................................................................................................................. 827

S-ar putea să vă placă și