aprendizaje basado en Java cero

El primer capítulo Fundamentos de programación en Java (digamos 30)

01 | Cursos

02 | examen del contenido

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

13 | operadores en Java

14 | Java bits de Operadores

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)

31 | clase (clase)

32 | En las clases y objetos

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

42 | En el depurador IntelliJ

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

57 | variables estáticas

58 | método estático

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)

78 | operador instanceof

79 | hereda exclusiva de control de acceso: protegida

80 | último partido de clasificación (en)

81 | calificador final (bajo)

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)

87 | método toString

88 | En la clase Clase

89 | En la reflexión (a)

90 | En la reflexión (bajar)

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

100 | clase interna local,

101 | clase anónima

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

107 | sintaxis lanzado

108 | superado la excepción de Java

109 | excepción personalizada

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)

117 | Colección de Set

118 | Breve genérica (a)

119 | Breve genérica (bajar)

120 | Revisited genérica

121 | iterador Interfaz

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

128 | Java I / O 简介

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

135 | JDK 和 JRE

El quinto capítulo de las hebras Java (digamos 19)

136 | hilo conocidos

137 | crear su propio hilo

138 | hilo Revisited

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

144 | Punto muerto

145 | Variables de subproceso específicos ThreadLocal

146 | tareas regulares

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

156 | Plataforma Java general

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

165 | En Programación

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

170 | Conclusión

Publicados 105 artículos originales · ganado elogios 33 · Vistas a 30000 +

Supongo que te gusta

Origin blog.csdn.net/github_38596081/article/details/104315843
Recomendado
Clasificación