Detalle del libro
Ver Índice
Cómo usar este libro
Destinatarios del libro
Organización del libro
Convenios empleados
Introducción
Objetivos
Contenido del libro
Capítulo 1. Nuevas características Java 2 v5.0
Introducción
Tipos Genéricos
Construcción de tipos genéricos
Autoboxing/unboxing
Mejoras en los bucles
Tipos enumerados
Importaciones estáticas
Argumentos variables
Entrada/Salida Formateada
Anotaciones
Inclusión de anotaciones en el código
Crear un tipo de anotación
Anotaciones de chequeo en compilación
Anotación Override
Anotación Deprecated
Anotación SupressWarnings
Anotaciones para el análisis de código
Anotación Target
Anotación Retention
Anotaciones de documentación
Anotación Inherited
Procesamiento de anotaciones con APT
Creación de un proceso en APT
Otras mejoras
Encadenamientos
Monitorización
Mejoras JVM
Capítulo 2. Las Excepciones
Introducción
¿Por qué se lanza una excepción?
Excepciones en tiempo de compilación
Excepciones en tiempo de ejecución
Los bloques try, catch y finally
Jerarquía de objetos
¿Cómo lanzar una excepción?
Atrapar una excepción
Volver a lanzar una excepción
¿Qué excepciones pueden lanzarse?
¿Cuándo van a lanzarse?
¿Dónde van a lanzarse?
¿Qué acciones hemos realizado?
Visualizar la pila de llamadas
Capítulo 3. E/S Java
Introducción
Flujos de datos estándar
Los flujos que ofrece java.io
La clase java.io.InputStream
read()
skip()
available()
mark() y reset
close()
La clase java.io.OutputStream
write()
close()
Las interfaces Closeable y Flushable
E/S en Archivos
La clase FileInputStream y FlieOutputStream
E/S con tipos
Las clases DataInputStream y DataOutputStream
La clase File y RandomAccesFile
Otras clases de java.io
Las clases ByteArrayInputStream y ByteArrayOutputStream
Las clases PipedInputStream y PipedOutputStream
Las clases FilterInputStream y FilterOutputStream
Las clases BufferedInputStream y BufferedOutputStream
La clase PrintStream
Las clases Reader y Writer
El análisis de flujos mediante la clase StreamTokenizer
NIO
Características
Buffer
Métodos clear(), flip() y rewind()
Canales
Charset
Ejemplo: Lectura de un Fichero
Capítulo 4. API Logging
Introducción
El Controlador (Log Manager)
La clase Logger
Niveles
Ejemplo Logger
El registro (LogRecord)
El Manejador (Handler)
StreamHandler
FileHandler
ConsoleHandler
SocketHandler
MemoryHandler
Formateando la salida
SimpleFormatter
XMLFormatter
Creando un nuevo tipo de formato
Estableciendo filtros
Capítulo 5. Java y la red
Introducción
Localización e identificación de recursos
La clase URL y URLConnection
La clase URI
Las clases HttpURLConnection y JarURLConnection
Direccionamiento
Inet4Address y Inet6Address
SocketAddress y InetSocketAddress
Conexiones TCP
Conexión mediante Sockets de flujo
Creación de un servidor multiusuario con conexionesde flujo
Creación de un cliente con conexiones de flujo
Comunicación sin conexión con datagramas
Aplicación cliente/servidor con datagramas
Capítulo 6. Thread
Introducción
La clase Thread
Propiedades de un Thread
Ciclo de vida de un Thread
Suspender, reanuda y parar un encadenamiento
La interfaz Runnable
La segmentación del tiempo
El problema de la exclusión mutua
El problema del productor consumidor
Los semáforos
El problema de los lectores/escritores utilizando semáforos
Los Thread Daemon
Los grupos de Thread
El ínter bloqueo
Manejo de excepciones
Utilidades de concurrencia
Objetos de sincronización
Semaphore
CountDownLatch
CyclicBarrier
Exchanger
Separación lógica ejecución
Callable y Future
TimeUnit
Variables Atómicas
Locks
Capítulo 7. Acceso a las bases de datos con Java
Introducción
Tipos de controladores
Conexión con la base de datos
Solicitud de información
Las transacciones
La interfaz Statement
Obtención de los resultados
Posicionamiento por filas
Posicionamiento por columnas
Actualización de filas
Ejemplo: Datos Personales
Instalación y Configuración SimpleSQL
Construcción del Ejemplo
Utilización de RowSet
Eventos
Implementaciones de RowSet
Capítulo 8. JNI
Introducción
¿Qué es JNI?
¿Cuándo se han de utilizar?
Pasos a seguir para enlazar con una librería externa
Creación de la clase en Java
Creación de un fichero de cabecera
Implementación de los métodos en C
Creación de la librería y ejecución de la clase
Acceso a los métodos nativos y a sus variables
Utilización de cadenas
Utilización de arrays
Acceso a los campos de una clase
Acceso a los métodos en Java
Excepciones
Manejo de hilos en C y C++
Capítulo 9. Servlets
Introducción
Características
Arquitectura
Ciclo de vida de un Servlet
Métodos de la clase Servlet
Petición de información
Generación de la respuesta
Inicialización de un servlet
La clase HttpServlet
Métodos doGet(), doPost(), doDelete()
Java es, por hoy, el lenguaje por excelencia para el desarrollo de todo tipo de aplicaciones, hoy en día el conocimiento de las tecnologías que nos aporta la plataforma Java 2, para el desarrollo de todo tipo de aplicaciones, proporciona al programador la agilidad suficiente para llevar por buen cauce cualquier desarrollo posible dentro de una empresa.
Este libro describe las principales novedades incluidas en Java 2 v5.0, se centra en las tecnologías que aporta del lado servidor, teniendo en cuenta el lado del cliente para la creación de aplicaciones distribuidas.
Este manual es puramente práctico y orientado al mundo laboral, ya que, hoy por hoy, los mecanismos y tecnologías que se describen en este libro son los más demandados por todas las empresas que desarrollan sus aplicaciones utilizando la plataforma Java: Struts como framework MVC, JUnit para el desarrollo de pruebas unitarias y Maven para la administración de proyectos.