Java Foundation + Sammlung + Multithreading + JVM (3 2 + 20 + 1 0 + 4 = 66 )
(ppt: 29 Seiten-117 Seiten)
2.1 JAVA-Grundlagen (3 2 )
1 Sie können auf einen Blick eine sehr detaillierte detaillierte Erklärung von ClassLoader in Java verstehen
https://blog.csdn.net/briblue/article/details/54973413
2 Detaillierte Erläuterung der java.lang.Class-API in Java
https://juejin.im/post/5c6547ee5188252f3048262b
3 Gesamtspeicher im Multithreading und Arbeitsspeicher von Threads
https://blog.csdn.net/fateruler/article/details/82917473
4 Der Unterschied zwischen Java- und C-Sprache am Ende der Zeichenfolge
https://blog.csdn.net/sszgg2006/article/details/49148189
5 Was ist die Hauptklasse eines Java-Programms? Was ist der Unterschied zwischen der Hauptklasse einer Anwendung und einem kleinen Programm?
https://blog.csdn.net/weixin_44504146/article/details/93788199
6 [Fragen zum Java-Interview] 7 Kann der Konstruktor überschrieben werden?
https://www.cnblogs.com/guweiwei/p/6596542.html
7 Gründe, warum die in der Schnittstelle definierten Variablen public static final sein müssen
https://www.cnblogs.com/hunterCecil/p/5556208.html
(Die Schnittstelle kann aber nur öffentlich sein)
8Warum können wir keine statischen Modifikatoren (statisch) und Zugriffskontrollsymbole verwenden, um interne Klassen in lokalen Methoden zu ändern?
https://blog.csdn.net/seabiscuityj/article/details/80318581
(1) Dies wird hauptsächlich durch den Handlungsumfang bestimmt. Die innerhalb der Methode definierte innere Klasse kann nur innerhalb der Methode verwendet werden, dh in dem Bereich, in dem die Klasse definiert ist.
Dies hat zur Folge, dass außerhalb der Methode nicht auf die interne Klasse zugegriffen werden kann, dh, dass keine Änderung der Zugriffssteuerungszeichen wie privat erforderlich ist, da sie intern verwendet wird und nicht extern zugegriffen werden kann.
( 2 ) In einer Klasse hat eine statische Variable nur einen Speicherplatz. Obwohl es mehrere Klasseninstanzen gibt, teilt sich die statische Variable in diesen Klasseninstanzen denselben Speicherplatz. Als statisch deklarierte Variablen sind daher im Wesentlichen globale Variablen. Statisch kann also keine lokalen Variablen ändern.
Außerdem werden lokale Variablen im Stapel gespeichert und sofort nach Programmausführung freigegeben. Es kann nur innerhalb der Methode verwendet werden, die es definiert. Es gibt also keinen statischen Modifikator.
9 Heap-, Stack- und konstanter Pool der Java-Speicherzuordnung
https://www.cnblogs.com/SaraMoring/p/5687466.html
10 Der Unterschied zwischen Klassenmethode und Instanzmethode in Java
https://blog.csdn.net/qq_41941875/article/details/99561104
11 Statische Methoden müssen keine Objekte haben, sie können mit dem Klassennamen aufgerufen werden
https://www.cnblogs.com/borter/p/9419243.html
12 Der JAVA-Konstruktor kann das Schlüsselwort void nicht verwenden
https://blog.csdn.net/weixin_43592833/article/details/85239289
13 Java-Initialisierung
https://blog.csdn.net/Imperial_Vmlion/article/details/90081967
14 Java initialisiert intern Klassenmitgliedsvariablen, lokale Variablen werden nicht initialisiert
https://blog.csdn.net/u010746357/article/details/85108477
Daher ist der Grund für den Unterschied zwischen den beiden, dass die Daten im Stapel nicht initialisiert werden, sondern die Daten im Heap initialisiert werden.
15 Wenn der hashCode () zweier Objekte gleich ist, muss equals () auch wahr sein, oder?
https://blog.csdn.net/QL753123/article/details/92841222
16 Grundlegende Datentypen und Referenzdatentypen in Java
https://www.cnblogs.com/qingmuchuanqi48/p/10710835.html
17 Was bedeutet Serialisierung in Java?
https://www.cnblogs.com/bjanzhuo/archive/2013/02/15/3576011.html
18Serialisierung und Persistenz
19 Zusammenfassung der Erfahrung mit serialisierbaren Schnittstellen
https://blog.csdn.net/songguanxin/article/details/81303921
20 Der Unterschied zwischen BufferedReader und Scanner
https://blog.csdn.net/swq463/article/details/84638295
OJ ist die Abkürzung für Online Judge System, mit der die Richtigkeit des Programmquellcodes online überprüft wird
Der Unterschied zwischen 21 Bytes und Zeichen
https://blog.csdn.net/chen18677338530/article/details/90695076
Der Unterschied zwischen 22-Knoten-Stream und Verarbeitungs-Stream
https://www.cnblogs.com/ConstXiong/p/11933240.html
23 Vertiefte Kenntnisse über das Umschreiben und Überladen in Java
https://www.hollischuang.com/archives/1308
Technology Sharing | Fasste die vierundzwanzig wesentlichen Fragen der Thread-Sicherheit zusammen
https://zhuanlan.zhihu.com/p/98429346
Sprechen Sie über den Unterschied und die Verbindung zwischen JDK, JRE und JVM
https://blog.csdn.net/ancientear/article/details/79483592
JVM, Java-Compiler und Java-Interpreter
https://www.jianshu.com/p/2698d5a2603c
24 JAVA-Speicherverlust Ausführliche Erklärung (Gründe, Beispiele und Lösungen)
https://blog.csdn.net/anxpp/article/details/51325838
25 Analyse und Lösung von Java-Speicherverlusten
https://www.jianshu.com/p/54b5da7c6816
26 Kritische Ressourcen und kritische Zonen
https://blog.csdn.net/qq_15037231/article/details/55506669
27 Grundlegendes zu Constant Pool und Cache Class in Java
https://blog.csdn.net/KINGjw1997/article/details/53427999
Was ist der Unterschied zwischen Literalen, Konstanten und Variablen?
https://www.jianshu.com/p/0f2816805da6
28 Klassenladevorgang (für ein leicht verständliches Verständnis)
https://juejin.im/post/5d3adfebf265da1bb776b11d
- Die Differenz- und Anwendungsszenarien von Javas Schlüsselwörtern finalize, finally und final
https://blog.csdn.net/u014590757/article/details/80142072
30 Was sind die Unterschiede zwischen Mitgliedsvariablen und lokalen Variablen? (Entspricht dem Papierdokument 18)
- Speichermethode
- Überlebenszeit
- Ursprünglicher Wert
- Grammatische Form
Mitgliedsvariablen: Der Unterschied zwischen Klassenvariablen und Instanzvariablen
https://blog.csdn.net/u014375145/article/details/23774485
Java-Instanzvariablen, Klassenvariablen und lokale Variablen (es gibt ein sehr klares Bild)
https://blog.csdn.net/zhangliangzi/article/details/50374954
31 Was bedeutet automatisches Boxen?
https://www.jianshu.com/p/ca7d9222b45a
Vergleichende Analyse der 32Go-Sprache und anderer Sprachen wie Java und Python
https://juejin.im/post/6844903811786489870
2. 2 JAVA- Sammlung ( 20 )
1. Verstehen Sie gängige Pakete wie das Paket java.lang und das Paket java.util
https://blog.csdn.net/u014252871/article/details/53434530
https://songlee24.github.io/2016/03/16/java-basic-note-1/
2 Gewindesicherheit
https://zhuanlan.zhihu.com/p/73899015
3 Der Unterschied zwischen foreach (erweitert für Schleife) und for
https://www.cnblogs.com/xinruyi/p/11020719.html
Kennen Sie den (Effizienz-) Unterschied zwischen for, foreach und Iterator Traversal?
https://www.jianshu.com/p/bbb220824c9a
Warum niemals for-Schleife verwenden, um LinkedList zu iterieren?
https://blog.csdn.net/u010853261/article/details/54143917
4 CAS-Prinzipanalyse der Java-Parallelität
https://objcoding.com/2018/11/29/cas/
Verstehst du das CAS, das du in Interviews fragen musst? (genauer)
https://zhuanlan.zhihu.com/p/34556594
Was ist das CAS-Spin-Lock, das wir oft sagen
https://www.cnblogs.com/fengzheng/p/9018152.html
Tatsächlich wird CAS an vielen Stellen im JDK verwendet, insbesondere unter dem Paket java.util.concurrent, z. B. CountDownLatch, Semaphore, ReentrantLock und unter dem Paket java.util.concurrent.atomic. Ich glaube, jeder hat Atomic * verwendet wie AtomicBoolean, AtomicInteger usw.
Flüchtig und CAS, niemand kann Sie überraschen, nachdem Sie dies gelesen haben!
https://zhuanlan.zhihu.com/p/53795411
Flüchtig: Lösen Sie die Sichtbarkeit von Variablen zwischen mehreren Threads
CAS: atomar
Synchronisiert: Lösen Sie die Synchronisierung des Zugriffs auf Ressourcen zwischen mehreren Threads
Atomizität: Das heißt, eine Operation oder mehrere Operationen werden entweder alle ausgeführt und der Ausführungsprozess wird durch keinen Faktor unterbrochen oder er wird nicht ausgeführt.
5Warum ist HashMap nicht threadsicher?
https://blog.csdn.net/wufaliang003/article/details/80219296
2.2.5 - 2.2.12
Alle reden über Hash
6 Java-Sammlungsklassifizierung und ihre Merkmale
https://blog.csdn.net/qq_37025445/article/details/76563133
Der Unterschied zwischen Hinzufügen / Anbieten, Element / Peek, Entfernen / Abrufen in der Java-Warteschlange
https://blog.csdn.net/u012050154/article/details/60572567
7 Release-Zeit und Versionsname jeder Version von JDK
https://blog.csdn.net/J080624/article/details/85259041
https://www.oracle.com/java/technologies/javase-jdk14-doc-downloads.html (neueste Java-Version)
https://www.oracle.com/cn/corporate/pressrelease/oracle-announces-java14-2020-03-17.html
(Die neuesten Informationen zur JAVA-Version)
8 Zwei gebräuchliche Rückgabeverwendungen in Java
https://blog.csdn.net/IT_Octopus/article/details/89663164
9 Drei häufige Fehler bei Array-Operationen in Java
https://www.cnblogs.com/benjieqiang/p/10594583.html
10 Die Intellij-Idee generiert schnell die Hauptmethode für die Schleifen- und Ausgangsausgabe
https://blog.csdn.net/fanrenxiang/article/details/79590838
11 Der Wertebereich von short, int, long, float, double in Java
https://blog.csdn.net/qfikh/article/details/52832087
12 Der Unterschied zwischen Java ArrayList, LinkedList, Vector
https://blog.csdn.net/zhangqiluGrubby/article/details/72870493
13 Endlosschleife von HashMap unter Multithreading
https://blog.csdn.net/dingjianmin/article/details/79780350
14 Detaillierte Erklärung der Java-Sammlungen (in Sekunden nach dem Lesen verstehen) Was ist eine Sammlung?
https://blog.csdn.net/DreamWeaver_zhou/article/details/78724853
15 Map Double Column Collection basierend auf Java Collection
https://blog.csdn.net/weixin_44187963/article/details/94981968
16 Studiennotizen: Speicher, Stapel, was genau sind sie?
https://www.cnblogs.com/5207/p/4267689.html
17 Deque und ArrayDeque der Java-Container-Quellcode-Analyse
https://blog.jrwang.me/2016/java-collections-deque-arraydeque/
18Java Concurrent Blocking Queue ArrayBlockingQueue
https://blog.csdn.net/wo541075754/article/details/81182893
ArrayBlockingQueue ist eine thread-sichere, begrenzte Blockierungswarteschlange, die von einem Array implementiert wird.
19 Thread-Synchronisation und gegenseitiger Ausschluss: Sperre für gegenseitigen Ausschluss
https://blog.csdn.net/qq_33951180/article/details/72801228
20 Unterschiede zwischen Hinzufügen / Angebot, Element / Peek, Entfernen / Abrufen in der Java-Warteschlange
https://blog.csdn.net/u012050154/article/details/60572567
2. 3 JAVA- Multithread ( 10 )
1 JAVA-Thread-Grundlagen (synchronisiert, synchron und asynchron, flüchtig, Dirty Read) (mit Code, super detailliert)
https://blog.csdn.net/a78270528/article/details/79639313
2 Ermitteln Sie anhand des Quellcodes von ExecutorService den Unterschied zwischen dem Aufruf von submit und execute
https://my.oschina.net/lienson/blog/1518717
Der Unterschied zwischen aufrufbaren und ausführbaren Schnittstellen wird gesendet und ausgeführt
https://blog.51cto.com/tianxingzhe/1685978
3 Java-Synchronisation, asynchron und blockierend, nicht blockierende Verbindung und Differenz
https://blog.csdn.net/JQ_AK47/article/details/54935392
4 [Fragen zum Java-Interview] 25 Was sind die Ähnlichkeiten und Unterschiede zwischen synchron und asynchron und unter welchen Umständen sollten sie verwendet werden? zum Beispiel.
https://www.cnblogs.com/guweiwei/p/6617369.html
5 CPU-Zeitscheibe des Java-Threads
https://blog.csdn.net/wangyangzhizhou/article/details/80141350
6 Java-Beispiele - Deadlocks und Lösungen
https://www.runoob.com/java/thread-deadlock.html
7 Fragen Sie mich nicht mehr nach der Verbindung zwischen Runnable, Callable, Future, FutureTask
https://juejin.im/post/5de15d99f265da060375f022
8 Optimistisches Sperren, pessimistisches Sperren, das ist genug!
https://segmentfault.com/a/1190000016611415
9 Synchronisation und Asynchronität synchronisierter Objektsperren in Java Thread Safety (3)
https://blog.csdn.net/qq_33524158/article/details/78546561?utm_medium=distribute.pc_relevant_right. 4.nonecase
10Executor, ExecutorService und Executors Unterschied und Verbindung
https://zhuanlan.zhihu.com/p/63011540
2. 3 J VM ( 4 )
1 Der Unterschied zwischen dynamischem Speicher und statischem Speicherbereich
https://blog.csdn.net/u011555996/article/details/51206181
2 【JVM】 Lade-, Verbindungs- und Initialisierungsprozess für Klassen
https://blog.csdn.net/wangyy130/article/details/52105217
3Wie wird die Methodenbaumstruktur in der Klasse rechts in Intellij IDEA angezeigt (ähnlich der Gliederung rechts in Eclipse)?
https://blog.csdn.net/qq_39390545/article/details/102862290
4idea Code Formatierung
https://blog.csdn.net/baidu_36583119/article/details/104761270
Strg + Alt + L: Code automatisch ausrichten
Es gibt ein Problem:
Test001.java
ThreadPoolExecutorDemo.java
Was ist der Unterschied zwischen dem Hinzufügen von Sperren zu Methoden, Variablen und Klassen?
2.4 Sonstiges
MySQL-Index
https://www.runoob.com/mysql/mysql-index.html
Zwei animierte Bilder verstehen den Drei-Wege-Handschlag von TCP und vier winkende Hände
https://blog.csdn.net/qzcsu/article/details/72861891
2.5redis
Was ist 1Guava?
Guava ist eine Open Source-basierte Java-Bibliothek, die viele Kernbibliotheken enthält, die Google von vielen seiner Projekte verwendet. Diese Bibliothek soll die Codierung erleichtern und Codierungsfehler reduzieren. Diese Bibliothek bietet praktische Methoden für Sammlungen, Caching, Support-Grundelemente, Parallelität, allgemeine Anmerkungen, Zeichenfolgenverarbeitung, E / A und Überprüfung. // Der Originaltext stammt aus [Yibai Tutorial]. Für kommerzielle Nachdrucke wenden Sie sich bitte an den Autor, um eine Autorisierung zu erhalten. Für nichtkommerzielle Nachdrucke behalten Sie bitte den Originallink bei: https://www.yiibai.com/guava
2 Fun EhCaches einfachstes Caching-Framework
https://www.jianshu.com/p/5a0669d6305e
Ehcache ist eine einfache, schnelle und threadsichere Cache-Verwaltungsbibliothek, die in Java implementiert ist. Ehcache bietet eine Vielzahl flexibler Cache-Verwaltungslösungen wie Speicher, Speicher für Festplattendateien und verteilten Speicher.
Was ist 3MemCache?
https://zhuanlan.zhihu.com/p/25487945
MemCache ist ein kostenloses Open-Source-Hochleistungs-Caching-System für verteilte Speicherobjekte, das für dynamische Webanwendungen verwendet wird, um die Belastung der Datenbank zu verringern.
4Die Serialisierbarkeit von MySQL-Transaktionen
https://blog.csdn.net/nangeali/article/details/75578787
Serializable-SERIALIZABLE
Auf der höchsten Ebene der Transaktion werden jeder gelesenen Datenzeile Sperren hinzugefügt, um Konflikte miteinander zu vermeiden. Daher führt dies zu einer großen Anzahl von Zeitüberschreitungen
2.6IntelliJ IDEA-bezogene Operationen
Verwenden Sie IntelliJ IDEA, um das Java-Klassendiagramm anzuzeigen
https://blog.csdn.net/boling_cavalry/article/details/79418823
Intellij Idea -02 So ändern Sie die horizontale Anordnung der Projektierung in eine vertikale Anordnung
https://www.cnblogs.com/bravolove/p/6010490.html
IDEA-Fehler beheben: Von der Ziel-VM getrennt, Adresse: '127.0.0.1:52315', Transport: 'Socket'
https://blog.csdn.net/qq_36604139/article/details/102543539
2.7 Java Advanced Learning
1 Stufe 5. Java Advanced & Spitzentechnologie
https://blog.csdn.net/weixin_41673139/article/details/100531176?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160006704219725254015393%2522%252C%2522scm%25221 = 160006704219725254015393 & biz_id = 0 & utm_medium = Distribute.pc_search_result.none-task-blog-2 ~ all ~ first_rank_ecpm_v3 ~ pc_rank_v2-1-100531176.first_rank_ecpm_v3_pc_rank_% % 9C% AF & spm = 1018.2118.3001.4187
2.8 Häufig verwendete Methoden von Java-Algorithmen
1Java valueOf () -Methode
https://www.runoob.com/java/java-string-valueof.html
2Wie man die 4 Methoden des Map-Objekts in Java durchläuft
https://blog.csdn.net/tjcyjd/article/details/11111401
3java implementiert die binäre Suche auf zwei Arten
https://blog.csdn.net/maoyuanming0806/article/details/78176957
4