¿Cuántos capítulos tiene Pensamientos de programación JAVA?
1*** Capítulo 17
¡Te recomiendo encarecidamente que compres este libro! Aunque hay muchos documentos electrónicos, se pueden encontrar en todas partes en Baidu, ¡pero no son muy convenientes! ¡Leer este libro realmente me hizo cambiar de opinión! !
Capítulo 1 Introducción a los objetos
1.1 Progreso de la abstracción
1.2 Interfaz de objetos
1.3 Plan de implementación oculto
1.4 Reutilización de soluciones
1.5 Herencia: Reutilización de interfaces
1.5.1 Mejora de clases básicas
1.5.2 Equivalencia y similitud
1.6 Uso intercambiable de objetos polimórficos
1.6.1 Vinculación dinámica
1.6.2 Clases base abstractas e interfaces
1.7 Tiempo de creación y existencia de objetos
1.7.1 Colecciones y herederos
1.7.2 Estructura de raíz única
1.7.3 Bibliotecas de colecciones y colecciones fáciles de usar
1.7 .4 Dilema durante la limpieza: ¿Quién es responsable de la limpieza?
1.8 Control de errores: resolución de errores
1.9 Multihilo
1.10 Persistencia
1.11 Java e Internet
1.11.1 ¿Qué es la Web?
1.11.2 Programación del lado del cliente
1.11.3 Programación del lado del servidor
1.11.4 Un dominio independiente: las aplicaciones
1.12 Análisis y Diseño
1.12.1 No te pierdas
1.12.2 Fase 0: Elabora un plan
1.12.3 Fase 1: ¿Qué hacer?
1.12.4 Fase 2: ¿Empezar a construir?
1.12.5 Fase 3: Creación formal
1.12.6 Fase 4: Revisión
1.12.7 Devolución del plan
1.13 ¿Java o C++?
Capítulo 2 Todo es un objeto
2.1 Usar identificadores para manipular objetos
2.2 Todos los objetos deben ser creados
2.2.1 Guardar en Donde
2.2.2 Caso especial: tipo principal
2.2.3 Matrices en Java
2.3 Nunca borrar objetos
2.3. 1 Alcance
2.3.2 Alcance del objeto
2.4 Nuevo tipo de datos: clase
2.4.1 Campos y métodos
2.5 Métodos , argumentos y valores de retorno
2.5.1 Lista de argumentos
2.6 Creación de programas Java
2.6.1 Visibilidad de nombres
p>
2.6.2 Uso de otros componentes
2.6.3 Palabra clave estática
2.7 Nuestro primer programa Java
2.8 Comentarios e incorporación de documentación
2.8.1 Documento de comentarios
2.8.2 Sintaxis específica
2.8.3 Incrustar HTML
2.8.4 @see: Referencia a otras clases p>
2.8.5 Marca de documento de clase
2.8.6 Marca de documento variable
2.8.7 Marca de documento de método
2.8 .8 Ejemplo de documento
2.9 Estilo de codificación
2.10 Resumen
2.11 Ejercicio
Capítulo 3 Control del flujo del programa
3.1 Uso de operadores Java
3.1.1 Prioridad
3.1.2 Asignación
3.1.3 Operadores aritméticos
3.1.4 Incremento y decremento automático p>
3.1.5 Operadores relacionales
3.1.6 Operadores lógicos
3.1.7 Operadores bit a bit
3.1.8 Operador de desplazamiento
3.1.9 If-el ternario
operador se
3.1.10 Operador coma
3.1.11 Operador cadena +
3.1.12 Reglas generales de funcionamiento de los operadores
3.1 .13 Operadores de forma
3.1.14 Java no tiene "sizeof"
3.1.15 Revisar orden de cálculo
3.1.16 Resumen de operadores
3.2 Control de ejecución
3.2.1 Verdadero y falso
3.2.2 if-else
3.2.3 Repetir
3.2.4 hacer mientras
3.2.5 para
3.2.6 Interrumpir y continuar
3.2.7 Cambiar
3.3 Resumen
3.4 Ejercicios
Capítulo 4 Inicialización y limpieza
4.1 Inicialización garantizada por parte del constructor
4.2 Sobrecarga de métodos
4.2.1 Diferenciar métodos sobrecargados
4.2.2 Sobrecarga de tipos principales
4.2.3 Sobrecarga de valor de retorno
4.2.4 Generador predeterminado
4.2.5 esta palabra clave
4.3 Limpieza: acabado y recolección de basura
4.3.1 ¿Cuál es el propósito de finalize()?
4.3.2 Se debe realizar una limpieza
4.4 Inicialización de miembros
4.4.1 Inicialización especificada
4.4.2 Inicialización del constructor
4.5 Inicialización de matriz p>
4.5.1 Matriz multidimensional
4.6 Resumen
4.7 Ejercicios
Capítulo 5 Proceso de implementación oculto
5.1 Paquete: Unidad de biblioteca
5.1.1 Crear un nombre de paquete único
5.1.2 Personalizar la biblioteca de herramientas
5.1.3 Usar importaciones para cambiar el comportamiento
5.1.4 Desactivación de paquetes
5.2 Indicadores de acceso a Java
5.2.1 "Friendly"
5.2.2 público: acceso a interfaz
5.2.3 privado: sin contacto
5.2.4 protegido: "un tipo amigable"
5.3 Interfaz e implementación
5.4 Acceso a clases
5.5 Resumen
5.6 Ejercicios
Capítulo 6 Regeneración de Clases
6.1 Sintaxis de Síntesis
p>6.2 Sintaxis de herencia
6.2.1 Inicializando clases base
6.3 Combinación de composición y herencia
6.3.1 Garantizando una correcta limpieza
6.3. 2 Ocultación de nombres
6.4 Elegir síntesis o herencia
6.5 protegido
6.6 Desarrollo incremental
6.7 Modelado ascendente
6.7.1 ¿Qué es el "modelado ascendente"?
6.8 palabra clave final
6.8.1 datos finales
6.8.2 método final
6.8.3 clase final
6.8.4 Notas finales
6.9 Inicialización y carga de clases
6.9.1 Inicialización de herencia
6.10 Resumen
6.11 Ejercicios
Capítulo 7 Polimorfismo
7.1 Backcasting
7.1.1 Por qué Backcasting
7.2 Comprensión profunda
7.2.1 Vinculación de llamadas a métodos
7.2.2 Producir un comportamiento correcto
7.2.3 Extensibilidad
7.3 Cobertura y sobrecarga
7.4 Clases y métodos abstractos
7.5 Interfaces
7.5.1 La "herencia múltiple" de Java
7.5.2 Ampliando la interfaz mediante herencia
7.5.3 Agrupación constante
7.5.4 Inicializando campos en la interfaz
7.6 Clases internas p >
7.6.1 Clases internas y upcasting
7.6.2 Métodos y clases internas en el alcance
7.6.3 Vinculación a clases externas
7.6 .4 clases internas estáticas
7.6.5 Referencia a objetos de clases externas
7.6.6 Heredar de clases internas
7.6.7 ¿Se pueden anular las clases internas? ?
7.6.8 Identificador de clase interna
7.6.9 Por qué usar clases internas: marco de control
7.7 Constructores y polimorfismo
7.7. 1 La secuencia de llamada de los constructores
7.7.2 Herencia y finalize()
7.7.3 Comportamiento de los métodos polimórficos dentro de los constructores
7.8 Diseño mediante herencia
p>7.8.1 Herencia pura y extensión
7.8.2 Downcasting e identificación del tipo de tiempo de ejecución
7.9 Resumen
7.10 Ejercicios
Capítulo 8 Acomodación de objetos
8.1 Matrices
8.1.1 Matrices y objetos de primera clase
8.1.2 Devolución de matriz
8.2 Colección
8.2.1 Desventaja: tipo desconocido
8.3 Enumerador (iterador)
8.4 Tipos de conjuntos
8.4. 1 Vector
8.4.2 BitSet
8.4.3 Pila
8.4.4 Hashtable
8.4.5 Otra discusión sobre enumeradores
8.5 Ordenar
8.6 Biblioteca de colecciones generales
8.7 Nueva colección
8.7.1 Usar colecciones
8.7. 2 Usar listas
8.7.3 Usar conjuntos
8.7.4 Usar mapas
8.7.5 Decidir la implementación
8.7.6 Operaciones no admitidas
8.7.7 Ordenar y buscar
8.7.8 Utilidades
8.8 Resumen
8.9 Ejercicios
Capítulo 9 Control de errores e infracciones
9.1 Infracciones básicas
9.1.1 Variables propias de la infracción
9.2 Captura de errores
9.2.1 try block
9.2.2 Controlador de errores
9.2.3 Especificación de errores
9.2.4 Detectar todas las excepciones
9.2.5 Re -lanzamiento de excepciones
9.3 Excepciones estándar de Java
9.3.1 RuntimeException Casos especiales
9.4 Crea tus propias excepciones
9.5 Limitaciones de las infracciones
9.6 Limpiar con finalmente
9.6.1 Usar finalmente Qué
9.6.2 Desventaja: faltan infracciones
9.7 Constructores
9.8 Coincidencia de infracciones
9.8.1 Criterios de infracción
p>
9.9 Resumen
9.10 Ejercicios
Capítulo 10 Java IO System
10.1 Entrada y salida
10.1.1 Tipo de flujo de entrada
10.1.2 Tipo de flujo de salida
10.2 Adición propiedades e interfaces útiles
10.2.1 Lectura de datos de InputStream a través de FilterInputStream
p>10.2.2 Pasar FilterOutputStream a OutputStream
Escribir datos en
10.3 Sus propios defectos: RandomAccessFile
10.4 Clase de archivo
10.4.1 Listado de directorios
10.4.2 Verificar y crear directorios
10.5 Aplicaciones típicas de flujos IO
10.5.1 Flujos de entrada
10.5.2 Flujos de salida
10.5. procesamiento de archivos
10.5.4 Lectura de datos de entrada estándar
10.5.5 Flujo de datos de canalización
10.6 StreamTokenizer
10.6.1 StringTokenizer
10.7 Java 1.1 IO stream
10.7.1 Iniciación y recepción de datos
10.7.2 Modificación del comportamiento del flujo de datos
10.7.3 Clases sin cambios
10.7.4 Un ejemplo
10.7.5 Redirección de IO estándar
10.8 Compresión
10.8.1 Compresión simple usando GZIP
10.8.2 Guardado de múltiples archivos usando Zip
10.8.3 Utilidad de archivo Java (jar)
10.9 Concatenación de objetos
10.9.1 Búsqueda de clases
10.9.2 Control de serialización
10.9.3 Uso de "persistencia"
10.10 Resumen
10.11 Ejercicios
Capítulo 11 Identificación del tipo de tiempo de ejecución
11.1 La necesidad de RTTI
11.1.1 Objeto de clase
11.1.2 Verificación antes del casting
11.2 Sintaxis RTTI
11.3 Reflexión: información de clase en tiempo de ejecución
11.3.1 un extractor de métodos de clase
11.4 Resumen p>
11.5 Ejercicios
Capítulo 12 Pasar y devolver objetos
12.1 Pasar identificadores
12.1.1 Problema de alias
12.2 Hacer una copia local
12.2.1 Pasar por valor
12.2.2 Clonar objetos
12.2.3 Hacer una clase capaz de clonar
12.2.4 Clonación exitosa
12.2.5 Efecto de Object.clone()
12.2.6 Clonación de objetos sintéticos
12.2.7 Profunda copiando con Vector
12.2.8 Copia profunda mediante serialización
12.2.9 Hacer que los clones tengan mayor profundidad
12.2.10 ¿Por qué existe este diseño extraño? p>
12.3 Control de clones
12.3.1 Generador de copias
12.4 Clase de solo lectura
12.4.1 Creación de clases de solo lectura p>
12.4.2 Las desventajas de "inmutable"
12.4.3 Cadenas inmutables
12.4.4 Clases String y StringBuffer
12.4.5 Características de las cadenas
12.5 Resumen
12.6 Ejercicios
Capítulo 13 Capítulo Creación de Windows y Programas
13.1 ¿Por qué usar AWT?
13.2 Porciones de programa básicas
13.2.1 Pruebas de porciones de programa
13.2.2 Un ejemplo más gráfico
13.2. del método framework
13.3 Crear botones
13.4 Capturar eventos
13.5 Campo de texto
13.6 Área de texto
13.7 Etiqueta
13.8 Casilla de verificación
13.9 Botón de opción
13.10 Columna desplegable
Tabla
13.11 Cuadro de lista
13.11.1 handleEvent()
13.12 Control de diseño
13.12.1 FlowLayout
13.12.2 BorderLayout
13.12.3 GridLayout
13.12.4 CardLayout
13.12.5 GridBagLayout
13.13 Reemplazos de acciones
13.14 Limitaciones de los chips del programa
13.14.1 Ventajas de los chips del programa
13.15 Aplicaciones en ventana
13.15.1 Menú
13.15.2 Cuadros de diálogo
13.16 Nuevo AWT
13.16.1 Nuevo modelo de evento
13.16.2 Tipos de eventos y receptores
13.16.3 Uso de Java 1.1 AWT para crear ventanas y programas
13.16.4 Revisando ejemplos anteriores
13.16.5 Eventos vinculantes dinámicamente
p>
13.16.6 Separar la lógica empresarial de la lógica de la interfaz de usuario
13.16.7 Métodos de codificación recomendados
13.17 API de interfaz de usuario de Java 1.1
13.17 p>
13.17.2 Impresión
13.17.3 Portapapeles
13.18 Programación visual y Beans
13.18.1 Qué es un Bean
13.18.2 Usar Introspector para extraer BeanInfo
13.18.3 Un Bean más complejo
13.18.4 Encapsulación de Bean
13.18.5 Más complejo Soporte de Bean
13.18.6 Más conocimientos sobre Beans
13.19 Comenzando con Swing
13.19.1 ¿Cuáles son las ventajas de Swing?
p>
13.19.2 Conversión conveniente
13.19.3 Marco de visualización
13.19.4 Información sobre herramientas
13.19.5 Borde
13.19.6 Botones
13.19.7 Grupos de botones
13.19.8 Iconos
13.19.9 Menús
13.19. Menú emergente
13.19.11 Cuadro de lista y cuadro combinado
13.19.12 Barra deslizante y indicador de progreso
13.19.13 Árbol
13.19.14 Mesa
13.19.15 Cuadro de diálogo Tarjeta
13.19.16 Cuadro de mensaje Swing
13.19.17 Más conocimientos sobre Swing
13.20 Resumen
13.21 Ejercicios
Capítulo 14 Subprocesos múltiples
14.1 Interfaz de usuario responsiva
14.1 .1 Heredar de subprocesos p>
14.1.2 Subprocesos múltiples para interfaz de usuario
14.1.3 Fusionar subprocesos con la clase principal
14.1.4 Crear múltiples subprocesos
14.1 .5 Hilo de demonio
14.2 ***Disfruta de recursos limitados
14.2.1 Método incorrecto de acceso a recursos
14.2 .2 Cómo Java *comparte recursos p>
14.2.3 Revisión de Java Beans
14.3 Bloqueo
14.3.1 Por qué el bloqueo
14.3.2 Punto muerto
14.4 Prioridad
14.4.1 Grupo de subprocesos
14.5 Revisión de ejecutable
<p>14.5.1 Demasiados subprocesos
14.6 Resumen
14.7 Ejercicios
Capítulo 15 Programación de redes
15.1 Identificación de máquinas
15.1.1 Servidores y Clientes
15.1.2 Puertos: Un lugar único dentro de una máquina
15.2 Sockets
15.2 .1 Un servidor simple y programa cliente
15.3 Sirviendo a múltiples clientes
15.4 Datagramas
15.5 Una aplicación web
15.5.1 Aplicación de servidor
15.5.2 Pieza del programa NameSender
15.5.3 15.5.3 Cuestiones a las que prestar atención
15.6 Comunicación entre Java y CGI
p>15.6 .1 Codificación de datos CGI
15.6.2 Porciones de programa
15.6.3 Programas CGI escritos en C++
15.6.4 El concepto de POST
15.7 Conexión a la base de datos usando JDBC
15.7.1 Obtener ejemplos de aprendizaje
15.7.2 Encontrar la versión GUI del programa
15.7. 3 ¿Por qué la API JDBC es compleja?
15.8 Métodos remotos
15.8.1 Concepto de interfaz remota
15.8.2 Implementación de interfaz remota
15.8.3 Crear raíces y tallos
15.8.4 Usar objetos remotos
15.8.5 Alternativas a RMI
15.9 Resumen
15.10 Ejercicio
Capítulo 16 Diseño de paradigma
16.1 Concepto de paradigma
16.1.1 Mónada
16.1.2 Clasificación de paradigma
16.2 Paradigma del observador
16.3 Simulación del contenedor de recolección de basura
16.4 Mejora del diseño
16.4.1 “Creación de más objetos”
16.4.2 Un paradigma para la creación de prototipos
16.5 Aplicación de la abstracción
16.6 Despacho múltiple
16.6.1 Implementación Despacho doble
16.7 Paradigma de acceso
16.8 ¿Es RTTI dañino?
16.9 Resumen
16.10 Ejercicios
Capítulo Capítulo 17 Proyecto
17.1 Procesamiento de textos
17.1.1 Lista de códigos de extracción
17.1.2 Verificar estilo de caso
17.2 Herramientas de búsqueda de métodos
17.3 Teoría de la complejidad
17.4 Resumen
17.5 Ejercicios