Resumo do conhecimento básico de JAVA (mapa mental)

1. Conhecimento básico de Java

Um resumo dos pontos de conhecimento Java, desde o básico até APIs comumente usadas e classes de coleção comumente usadas, o resumo é muito detalhado. As fotos foram encontradas no fórum e organizadas para facilitar a revisão. Este é um mapa mental relativamente detalhado e completo que vi até agora e é muito adequado para quem está apenas começando.
Insira a descrição da imagem aqui

2. Orientado a objetos

Insira a descrição da imagem aqui

3. APIs comumente usadas

Insira a descrição da imagem aqui

4. Coleta IO

Insira a descrição da imagem aqui

1. O que significa "coleções não são seguras para threads"?

Primeiro, vamos entender quais coleções não são seguras para threads:

Quando múltiplas adições, exclusões e modificações simultâneas são feitas em coleções não-thread-safe ao mesmo tempo, a integridade dos dados dessas coleções será destruída; por exemplo:
quando vários threads acessam a mesma coleção ou mapa, se mais de um thread modifica a coleção ArrayList, então o programa deve garantir manualmente a sincronização desta coleção.

2. Coleções thread-safe e thread-insafe

Vector, HashTable, Properties e ConcurrentHashMap são thread-safe;

ArrayList, LinkedList, HashSet, TreeSet, HashMap, TreeMap, etc. são todos thread-inseguros.

Vale a pena notar que, para garantir que a coleção seja segura para threads, a eficiência correspondente é relativamente baixa; a eficiência de uma coleção insegura para threads será relativamente maior.

3. Como considerar de forma abrangente as questões de insegurança de thread e baixa eficiência

Para garantir que as coleções sejam seguras e eficientes, Collections nos fornece uma solução para agrupar essas coleções em coleções thread-safe.
Collections fornece os seguintes métodos estáticos.

//返回指定collection 对应的线程安全的collection。
<T> Collection<T> synchronizedCollection(Collection<T> c); 
//返回指定List对象对应的线程安全的List 对象。
static <T> List<T> synchronizedList(List<T> list); 
//返回指定Map对象对应的线程安全的Map对象。
static <K, V> Map<K, V> synchronizedMap(Map<K, V> m); 
//返回指定Set对象对应的线程安全的Set对象。
static <T> Set<T> synchronizedSet(Set<T> s); 
//返回指定SortedMap对象对应的线程安全的SortedMap对象。
static <K, V> SortedMap<K, V> synchronizedSortedMap(SortedMap<K, V> m);

5. Multi-threading, programação de rede, reflexão, padrões de design

Insira a descrição da imagem aqui

6. Detalhes de multithread

Insira a descrição da imagem aqui

7. Detalhes de programação de rede

Insira a descrição da imagem aqui

Acho que você gosta

Origin blog.csdn.net/m0_49353216/article/details/109121070
Recomendado
Clasificación