El primer capítulo Fundamentos de programación en Java (digamos 30)
03 | entorno de desarrollo para construir (macOS)
04 | HelloWorld de compilación del programa y ejecutar (macOS)
05 | entorno de desarrollo para construir (Windows)
06 | compilación HelloWorld programa y ejecutar (Windows)
07 | programa detallado HelloWorld
08 | instalar y utilizar el entorno de desarrollo integrado IDEA IntelliJ (macOS)
09 | instalar y utilizar IntelliJ IDEA entorno de desarrollo integrado (Windows)
10 | de suma y resta para la multiplicación y la división de la variable
11 | Revisited calcula el programa de matemáticas
12 | tipos de datos básicos en Java
15 | tipos de datos más básicos de la gramática
16 | juego de caracteres de codificación y cuerdas
. 17 | operadores y tipos de datos se resumen
18 | ejecución del flujo del programa if-else (a)
19 | ejecución del flujo del programa if-else (bajo)
20 | Programa de bucle de la sentencia for
21 | bloques de código y alcance de las variables
22 | mientras que las sentencias de bucle programa
23 | flujo de ejecución del programa de instrucción switch
24 | ciclo y el juicio sumario (en)
25 | ciclo y el juicio sumario (bajo)
26 | salvar con una serie de logros
27 | comprensión de variables y matrices (en)
28 | variables y matrices entendimiento (bajar)
29 | matrices multidimensionales
30 | manejador flexible con una matriz
El segundo capítulo de Java de programación orientada a objetos (digamos 74)
33 | comprensión tipo de referencia (a)
34 | reconocer un tipo de referencia (bajo)
35 | clases, objetos y referencias relación
36 | comprensión tipo de matriz
37 | El valor por defecto es de referencia nula
38 | les gusta usar la misma clase de tipo personalizado
39 | Java paquete y el acceso modificador (a)
40 | Java paquete y el acceso modificador (bajar)
41 | para construir un pequeño supermercado
43 | Método: Deje que la mercancía objeto tiene un comportamiento
44 | Rentabilidad: Mercancía cálculo de la ganancia bruta Let
45 | argumento: Que Mercancía calcular el precio total de varios elementos
46 | cómo se transmiten los parámetros y valores de retorno
47 | distinguir parámetros, variables locales y el sitio de ejemplo
48 | Ocultar esta autorreferencial
49 | entenderse que el método: a bloques de código especial
50 | llama al método de comprensión: un código especial para salto
51 | para agregar clases de Java y métodos Notas
52 | clase Object maduros como para hacer las cosas a su
53 | firmas de los métodos y la sobrecarga
54 | reglas de coincidencia de los parámetros de sobrecarga
55 | constructor: ejemplo de configuración Método
Sobrecargas y llamar a los demás constructor | 56
59 | método estático sobrecargada
60 | variables estáticas y estáticas inicialización de bloque
61 | modificadores de visibilidad métodos y propiedades
62 | nueva comprensión de un viejo amigo: Matemáticas y escáner (en)
63 | nueva comprensión de un viejo amigo: Matemáticas y escáner (bajo)
64 | El extraño familiarizado más: String (a)
65 | El extraño familiarizado más: String (bajo)
66 | nueva comprensión de un viejo amigo: clase principal Método y Sistema
67 | hermanos de clase de cuerdas
68 | Herencia: que sea más fácil para los productos para añadir nueva categoría
69 | subclase objeto oculto en un objeto padre
70 | cubriendo: quieren un poco diferentes subclases
71 | súper: el objeto primario y un puente
72 | súper: llamar al constructor de la clase padre
73 | relación de asignación de referencias de las clases de padres e hijos
74 | polimorfismo: ¿Qué llamada a un método en el final? (En)
75 | polimorfismo: ¿Qué llamada a un método en el final? (Baja)
76 | polimorfismo en más gramática (en)
77 | polimorfismo en más puntos de gramática (hacia abajo)
79 | hereda exclusiva de control de acceso: protegida
80 | último partido de clasificación (en)
82 | hereda en el método estático
83 | episodio: para otro ciclo de la escritura
Clase de objeto: ancestro millones de clase | 84
85 | hashCode y es igual método (a)
86 | hashCode y método equals (bajo)
91 | orientados a objetos de tres elementos: encapsulación, herencia y polimorfismo
92 | enumerar: la definición de las categorías de bienes
93 | Interfaz: Let tipos de productos más abundantes (en)
94 | Interfaz: make tipo de producto más rico (bajar)
95 | clase abstracta: una combinación de interfaces y clases
96 | hay maneras el código de la interfaz
97 | más contenido dentro del código de la interfaz
98 | clases internas estáticas
99 | miembros de la clase interna
Resumen de clase especial | 102
103 | Vamos supermercado en marcha y funcionando: artículos de diseño
104 | Vamos supermercado en marcha y funcionando: los artículos del Código
El tercer capítulo de la gestión de excepciones de Java (9 por ejemplo)
105 | conocido anomalía: intento de captura
106 | excepción de Java clasificación
108 | superado la excepción de Java
110 | transferencia anormal no es Lingboweibu
111 | intento de captura por último comunicado
112 | recursos de recuperación automática tratan declaración
113 | excepciones comunes en Java
Capítulo IV de herramientas comunes como Java y nueva sintaxis (Clase 22)
114 | Colección Introducción del Grupo de
115 | Colección de la lista (en)
116 | Colección de la lista (bajar)
122 | Mapa: asignación de teclas y el valor
123 | definir su propio comentario
124 | clase Lambda VS anónima (en)
125 clases de | Lambda VS anónimos (bajo)
126 | tipos básicos de boxeo automático y unboxing
127 | Java en la clase de archivos
129 | escribir el contenido de un applet de archivo
130 | leer el contenido del archivo del applet
131 | Red de Comunicación sustantivos Perfil
132 | Simple Network comunicación subprograma (en)
133 | La comunicación en red simple subprograma (bajo)
134 | simple rastrea la web del programa
El quinto capítulo de las hebras Java (digamos 19)
139 | multihilo: comenzó el caos
140 | control síncrono de sincronizada
141 | control síncrono de espera notificar
142 | multithreading clásicos modelo: productores y consumidores
143 | hilo de sincronización de unirse
145 | Variables de subproceso específicos ThreadLocal
147 | papel de la palabra clave volátiles
Obligado a recuperar datos de la memoria
public class AccessMemoryVolatile {
public volatile long counterV = 0;
public long counter = 0;
public static void main(String[] args) {
int loopCount = Integer.MAX_VALUE / 30;
// TODO 只是为了演示 volatile 每次访问都要直达内存,不能使用缓存,所以耗费的时间略多
AccessMemoryVolatile accessMemoryVolatile = new AccessMemoryVolatile();
Thread volatileAdder = new Thread(() -> {
long start = System.currentTimeMillis();
for (int i = 0; i < loopCount; i++) {
accessMemoryVolatile.counterV++;
}
System.out.println("volatile adder takes " + (System.currentTimeMillis() - start));
});
volatileAdder.start();
Thread justAdder = new Thread(() -> {
long start = System.currentTimeMillis();
for (int i = 0; i < loopCount; i++) {
accessMemoryVolatile.counter++;
}
System.out.println("simple adder takes " + (System.currentTimeMillis() - start));
});
justAdder.start();
}
}
La instrucción que afecta a la reordenación
package com.geekbang.learnvolatile;
public class VolatileAppMain {
public static void main(String[] args) {
DataHolder dataHolder = new DataHolder();
Thread operator = new Thread(() -> {
while (true) {
dataHolder.operateData();
}
});
operator.start();
Thread checker = new Thread(() -> {
while (true) {
dataHolder.check();
}
});
checker.start();
}
}
148 | concurrente justificación paquete
149 | concurrente paquete Atómica a Grupo
150 | cerradura paquete concurrente
151 | estructura de paquetes de datos concurrentes
152 | hilo concurrente paquete de la piscina
153 | sala de chat abierta a mí mismo (a)
154 | sala de chat abierta a mí mismo (bajo)
Capítulo VI Java combate de programación (digamos 16)
155 | ¿Qué está aprendiendo una lengua
157 | Maven concepto Introducción
158 | instalación y configuración de Maven
159 | crear un proyecto simple Maven
160 | un texto extraído de gadget de archivo pptx
161 | Maven utiliza con frecuencia los comandos y plug-ins
162 | IntelliJ Más Características
163 | vale la pena aprender de la biblioteca Introducción
164 | cómo hacer preguntas no lo regañen desbordamiento de pila
166 | características del programa pequeño juego definido
167 | pequeña programación de juegos y división módulo
168 | código del applet juego de análisis
169 | Uso Swagger para crear un servicio web de Primavera de arranque