Fundación Java + colección + subprocesos múltiples + JVM (3 2 + 20 + 1 0 + 4 = 66 )
(ppt: 29 páginas-117 páginas)
2.1 Conceptos básicos de JAVA (3 2 )
1 Puede comprender de un vistazo, una explicación detallada súper detallada de ClassLoader en java
https://blog.csdn.net/briblue/article/details/54973413
2 Explicación detallada de la API java.lang.Class en Java
https://juejin.im/post/5c6547ee5188252f3048262b
3 Memoria total en multi-subprocesos y memoria de trabajo de subprocesos
https://blog.csdn.net/fateruler/article/details/82917473
4 La diferencia entre el lenguaje Java y C al final de la cadena
https://blog.csdn.net/sszgg2006/article/details/49148189
5 ¿Cuál es la clase principal de un programa Java? ¿Cuál es la diferencia entre la clase principal de una aplicación y un programa pequeño?
https://blog.csdn.net/weixin_44504146/article/details/93788199
6 [Preguntas de la entrevista de Java] 7 ¿Se puede anular Constructor?
https://www.cnblogs.com/guweiwei/p/6596542.html
7 Razones por las que las variables definidas en la interfaz deben ser public static final
https://www.cnblogs.com/hunterCecil/p/5556208.html
(Pero la interfaz solo puede ser pública)
8 ¿Por qué no podemos usar modificadores estáticos (estáticos) y símbolos de control de acceso para modificar clases internas en métodos locales?
https://blog.csdn.net/seabiscuityj/article/details/80318581
(1) Esto viene determinado principalmente por el ámbito de actuación. La clase interna definida dentro del método solo se puede usar dentro del método, es decir, en el área donde se define la clase.
El resultado de esto es que, fuera del método, no se puede acceder a la clase interna, es decir, no se requiere modificación de caracteres de control de acceso como privado, porque se usa internamente y no se puede acceder externamente.
( 2 ) En una clase, una variable estática solo tendrá un espacio de memoria. Aunque hay varias instancias de clase, la variable estática en estas instancias de clase compartirá el mismo espacio de memoria. Por lo tanto, las variables declaradas como estáticas son esencialmente variables globales. Entonces, la estática no puede modificar las variables locales.
Además, las variables locales se almacenan en la pila y se liberan inmediatamente después de que se ejecuta el programa. Solo se puede utilizar dentro del método que lo define. Entonces no hay modificador estático.
9 Montón, pila y grupo constante de asignación de memoria Java
https://www.cnblogs.com/SaraMoring/p/5687466.html
10 La diferencia entre el método de clase y el método de instancia en Java
https://blog.csdn.net/qq_41941875/article/details/99561104
11 Los métodos estáticos no necesitan tener objetos, se pueden llamar usando el nombre de la clase
https://www.cnblogs.com/borter/p/9419243.html
12 El constructor JAVA no puede usar la palabra clave void
https://blog.csdn.net/weixin_43592833/article/details/85239289
13 inicialización de java
https://blog.csdn.net/Imperial_Vmlion/article/details/90081967
14 Java inicializa internamente las variables miembro de la clase, las variables locales no se inicializan
https://blog.csdn.net/u010746357/article/details/85108477
Por lo tanto, la razón de la diferencia entre los dos es que los datos de la pila no se inicializarán, pero los datos del montón se inicializarán.
15 Si el hashCode () de dos objetos es el mismo, equals () también debe ser verdadero, ¿verdad?
https://blog.csdn.net/QL753123/article/details/92841222
16 tipos de datos básicos y tipos de datos de referencia en java
https://www.cnblogs.com/qingmuchuanqi48/p/10710835.html
17 ¿Qué significa la serialización en Java?
https://www.cnblogs.com/bjanzhuo/archive/2013/02/15/3576011.html
18 Serialización y persistencia
19 Resumen de la experiencia de la interfaz serializable
https://blog.csdn.net/songguanxin/article/details/81303921
20 La diferencia entre BufferedReader y Scanner
https://blog.csdn.net/swq463/article/details/84638295
OJ es la abreviatura del sistema de jueces en línea, que se utiliza para verificar la exactitud del código fuente del programa en línea.
La diferencia entre 21 bytes y caracteres
https://blog.csdn.net/chen18677338530/article/details/90695076
La diferencia entre la secuencia de 22 nodos y la secuencia de procesamiento
https://www.cnblogs.com/ConstXiong/p/11933240.html
23 comprensión profunda de la reescritura y la sobrecarga en Java
https://www.hollischuang.com/archives/1308
Compartir tecnología | Resumió los veinticuatro aspectos esenciales de la seguridad de los subprocesos
https://zhuanlan.zhihu.com/p/98429346
Hablando de la diferencia y la conexión entre JDK, JRE y JVM
https://blog.csdn.net/ancientear/article/details/79483592
JVM, compilador de Java e intérprete de Java
https://www.jianshu.com/p/2698d5a2603c
24 explicación detallada de la fuga de memoria de JAVA (razones, ejemplos y soluciones)
https://blog.csdn.net/anxpp/article/details/51325838
25 Análisis y solución de fugas de memoria de Java
https://www.jianshu.com/p/54b5da7c6816
26 Recursos críticos y zonas críticas
https://blog.csdn.net/qq_15037231/article/details/55506669
27 Comprensión de la clase de caché y pool constante en Java
https://blog.csdn.net/KINGjw1997/article/details/53427999
¿Cuál es la diferencia entre literales, constantes y variables?
https://www.jianshu.com/p/0f2816805da6
28 proceso de carga de clases (para una comprensión fácil de entender)
https://juejin.im/post/5d3adfebf265da1bb776b11d
- La diferencia y los escenarios de aplicación de las palabras clave final, finalmente y final de Java
https://blog.csdn.net/u014590757/article/details/80142072
30 ¿Cuáles son las diferencias entre las variables miembro y las variables locales? (Correspondiente al documento en papel 18)
- Método de almacenamiento
- Tiempo de supervivencia
- Valor inicial
- Forma gramatical
Variables miembro: la diferencia entre variables de clase y variables de instancia
https://blog.csdn.net/u014375145/article/details/23774485
Variables de instancia de Java, variables de clase y variables locales (hay una imagen que es muy clara)
https://blog.csdn.net/zhangliangzi/article/details/50374954
31 ¿Cuál es el significado del boxeo automático?
https://www.jianshu.com/p/ca7d9222b45a
Análisis comparativo del lenguaje 32Go y otros lenguajes como Java y Python
https://juejin.im/post/6844903811786489870
2. 2 colección JAVA ( 20 )
1. Comprenda los paquetes comunes, como el paquete java.lang y el paquete java.util
https://blog.csdn.net/u014252871/article/details/53434530
https://songlee24.github.io/2016/03/16/java-basic-note-1/
2 hilos de seguridad
https://zhuanlan.zhihu.com/p/73899015
3 La diferencia entre foreach (mejorado para bucle) y for
https://www.cnblogs.com/xinruyi/p/11020719.html
¿Conoce la diferencia (de eficiencia) entre for, foreach e Iterator traversal?
https://www.jianshu.com/p/bbb220824c9a
Por que nunca usar for loop para iterar LinkedList
https://blog.csdn.net/u010853261/article/details/54143917
4 Análisis del principio CAS de la concurrencia de Java
https://objcoding.com/2018/11/29/cas/
¿Entiendes el CAS que debes preguntar en las entrevistas? (más específicamente)
https://zhuanlan.zhihu.com/p/34556594
¿Qué es el bloqueo de giro CAS que solemos decir?
https://www.cnblogs.com/fengzheng/p/9018152.html
De hecho, CAS se usa en muchos lugares del JDK, especialmente en el paquete java.util.concurrent, como CountDownLatch, Semaphore, ReentrantLock, y en el paquete java.util.concurrent.atomic. Creo que todos han usado Atomic * , como AtomicBoolean, AtomicInteger, etc.
Volátil y CAS, ¡nadie puede confundirte después de leer esto!
https://zhuanlan.zhihu.com/p/53795411
Volátil: resuelve la visibilidad de variables entre varios subprocesos
CAS: atómico
Sincronizado: resuelve la sincronización de acceso a recursos entre múltiples subprocesos
Atomicidad: es decir, una o varias operaciones se ejecutan todas y el proceso de ejecución no será interrumpido por ningún factor, o no se ejecutará.
5 ¿Por qué HashMap no es seguro para subprocesos?
https://blog.csdn.net/wufaliang003/article/details/80219296
2.2.5 - 2.2.12
Todos hablan de Hash
6 clasificación de la colección de Java y sus características
https://blog.csdn.net/qq_37025445/article/details/76563133
La diferencia entre agregar / ofrecer, elemento / mirar, eliminar / sondear en la cola de Java
https://blog.csdn.net/u012050154/article/details/60572567
7 Hora de lanzamiento y nombre de la versión de cada versión de JDK
https://blog.csdn.net/J080624/article/details/85259041
https://www.oracle.com/java/technologies/javase-jdk14-doc-downloads.html (última versión de Java)
https://www.oracle.com/cn/corporate/pressrelease/oracle-announces-java14-2020-03-17.html
(Información relacionada con la última versión de JAVA)
8 Dos usos comunes del retorno en java
https://blog.csdn.net/IT_Octopus/article/details/89663164
9 Tres errores comunes en las operaciones de matriz en java
https://www.cnblogs.com/benjieqiang/p/10594583.html
10 Intellij idea genera rápidamente el método principal, el bucle for y la salida
https://blog.csdn.net/fanrenxiang/article/details/79590838
11 El rango de valores de short, int, long, float, double en java
https://blog.csdn.net/qfikh/article/details/52832087
12 La diferencia entre Java ArrayList, LinkedList, Vector
https://blog.csdn.net/zhangqiluGrubby/article/details/72870493
13 Bucle sin fin de HashMap en subprocesos múltiples
https://blog.csdn.net/dingjianmin/article/details/79780350
14 Explicación detallada de las colecciones de Java (entender en segundos después de leer) ¿Qué es una colección?
https://blog.csdn.net/DreamWeaver_zhou/article/details/78724853
15 Colección de mapas de doble columna basada en la colección de Java
https://blog.csdn.net/weixin_44187963/article/details/94981968
16 Notas de estudio: memoria, pila, ¿qué son exactamente?
https://www.cnblogs.com/5207/p/4267689.html
17 Deque y ArrayDeque de análisis de código fuente de contenedor de Java
https://blog.jrwang.me/2016/java-collections-deque-arraydeque/
18 Matriz de cola de bloqueo concurrente de Java
https://blog.csdn.net/wo541075754/article/details/81182893
ArrayBlockingQueue es una cola de bloqueo limitada segura para subprocesos implementada por una matriz.
19 Sincronización de subprocesos y exclusión mutua: bloqueo de exclusión mutua
https://blog.csdn.net/qq_33951180/article/details/72801228
20 diferencias entre agregar / ofrecer, elemento / mirar, eliminar / sondear en la cola de Java
https://blog.csdn.net/u012050154/article/details/60572567
2. 3 JAVA multihilo ( 10 )
1 conceptos básicos de subprocesos JAVA (sincronizados, síncronos y asincrónicos, volátiles, lectura sucia) (con código, súper detallado)
https://blog.csdn.net/a78270528/article/details/79639313
2 Desde el código fuente de ExecutorService para ver la diferencia entre llamar a enviar y ejecutar
https://my.oschina.net/lienson/blog/1518717
La diferencia entre las interfaces invocables y ejecutables enviar y ejecutar
https://blog.51cto.com/tianxingzhe/1685978
3 sincronización java, asincrónica y de bloqueo, conexión sin bloqueo y diferencia
https://blog.csdn.net/JQ_AK47/article/details/54935392
4 [Preguntas de la entrevista de Java] 25 ¿Cuáles son las similitudes y diferencias entre sincrónico y asincrónico, y bajo qué circunstancias deben usarse? por ejemplo.
https://www.cnblogs.com/guweiwei/p/6617369.html
5 intervalo de tiempo de CPU del hilo de Java
https://blog.csdn.net/wangyangzhizhou/article/details/80141350
6 ejemplos de Java: puntos muertos y soluciones
https://www.runoob.com/java/thread-deadlock.html
7 Deja de preguntarme cuál es la conexión entre Runnable, Callable, Future, FutureTask
https://juejin.im/post/5de15d99f265da060375f022
8 Bloqueo optimista, bloqueo pesimista, ¡este es suficiente!
https://segmentfault.com/a/1190000016611415
9 Sincronización y asincronía de bloqueos de objetos sincronizados en Java Thread Safety (3)
https://blog.csdn.net/qq_33524158/article/details/78546561?utm_medium=distribute.pc_relevant_right.none-task-blog-BlogCommendFromMachineLearnPai2-4. 4.ninguno
10Executor, ExecutorService y Executors diferencia y conexión
https://zhuanlan.zhihu.com/p/63011540
2. 3 J VM ( 4 )
1 La diferencia entre el almacenamiento dinámico y el área de almacenamiento estático
https://blog.csdn.net/u011555996/article/details/51206181
2 【JVM】 Proceso de carga, conexión e inicialización de clases
https://blog.csdn.net/wangyy130/article/details/52105217
3Cómo mostrar la estructura del árbol del método en la clase de la derecha en Intellij IDEA (similar al esquema de la derecha en Eclipse)
https://blog.csdn.net/qq_39390545/article/details/102862290
Formato de código de 4idea
https://blog.csdn.net/baidu_36583119/article/details/104761270
Ctrl + alt + l: alinear código automáticamente
Hay un problema:
Test001.java
ThreadPoolExecutorDemo.java
¿Cuál es la diferencia entre agregar bloqueos a métodos, variables y clases?
2.4 Otro
Índice de MySQL
https://www.runoob.com/mysql/mysql-index.html
Dos imágenes animadas: comprenda a fondo el apretón de manos de tres vías de TCP y las cuatro manos agitadas
https://blog.csdn.net/qzcsu/article/details/72861891
2.5redis
¿Qué es 1Guava?
Guava es una biblioteca Java basada en código abierto que contiene muchas bibliotecas centrales que Google está utilizando en muchos de sus proyectos. Esta biblioteca es para facilitar la codificación y reducir los errores de codificación. Esta biblioteca proporciona métodos prácticos para colecciones, almacenamiento en caché, primitivas de soporte, simultaneidad, anotaciones comunes, procesamiento de cadenas, E / S y verificación. // El texto original es de [Yibai Tutorial]. Para reimpresiones comerciales, comuníquese con el autor para obtener autorización. Para no comerciales, mantenga el enlace original: https://www.yiibai.com/guava
2 El marco de almacenamiento en caché más simple de Fun EhCache
https://www.jianshu.com/p/5a0669d6305e
Ehcache es una biblioteca de administración de caché simple, de alta velocidad y segura para subprocesos implementada en Java. Ehcache proporciona una variedad de soluciones de administración de caché flexibles, como memoria, almacenamiento de archivos en disco y almacenamiento distribuido.
¿Qué es 3MemCache?
https://zhuanlan.zhihu.com/p/25487945
MemCache es un sistema de almacenamiento en caché de objetos de memoria distribuida, de código abierto, de alto rendimiento y gratuito, que se utiliza para aplicaciones web dinámicas para reducir la carga en la base de datos.
4La serialización de transacciones MySQL
https://blog.csdn.net/nangeali/article/details/75578787
Serializable-SERIALIZABLE
En el nivel más alto de la transacción, se agregan bloqueos a cada fila de datos leídos para que sea imposible entrar en conflicto entre sí, por lo tanto, causará una gran cantidad de tiempos de espera.
2.6 Operaciones relacionadas con IntelliJ IDEA
Utilice IntelliJ IDEA para ver el diagrama de clases de Java
https://blog.csdn.net/boling_cavalry/article/details/79418823
Intellij Idea -02 Cómo cambiar la disposición horizontal de la ingeniería de proyectos en disposición vertical
https://www.cnblogs.com/bravolove/p/6010490.html
Resolver el error de IDEA: desconectado de la máquina virtual de destino, dirección: '127.0.0.1:52315', transporte: 'socket'
https://blog.csdn.net/qq_36604139/article/details/102543539
2.7 aprendizaje avanzado de Java
1 Etapa 5. Tecnología avanzada y de vanguardia de Java
https://blog.csdn.net/weixin_41673139/article/details/100531176?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160006704219725254015393%2522%252C%2522scm%2522%25240733 = 160006704219725254015393 & biz_id = 0 & utm_medium = distribuir.pc_search_result.none-task-blog-2 ~ all ~ first_rank_ecpm_v3 ~ pc_rank_v2-1-100531176.first_rank_ecpm_v3_pc_pc_rango% E5% 8% E4% E3% E3% 8D% 8D% E8% E5% 8D% E5% E% 8D% 5% E% 8D% E% 8% E% 5% E% 8% E% 8% E% 8% E% 5% 5% E% 8% E% 8% E% 8% E% 5% E% 8% E% 5% 8% E% 8% E% 5% E% 8% E% 8% 8% B % 9C% AF & spm = 1018.2118.3001.4187
2.8 Métodos comúnmente usados de algoritmos Java
Método 1Java valueOf ()
https://www.runoob.com/java/java-string-valueof.html
2Cómo recorrer los 4 métodos del objeto Map en Java
https://blog.csdn.net/tjcyjd/article/details/11111401
3java implementa la búsqueda binaria de dos formas
https://blog.csdn.net/maoyuanming0806/article/details/78176957
4