Heim > Datenbank > MySQL-Tutorial > Meituan-Interviewer: Erklären Sie klar und deutlich das MySQL-Struktursystem und machen Sie sofort ein Angebot

Meituan-Interviewer: Erklären Sie klar und deutlich das MySQL-Struktursystem und machen Sie sofort ein Angebot

Freigeben: 2023-08-24 15:38:35
nach vorne
1011 Leute haben es durchsucht


Geschichte

Erzählen Sie mir weiter, ich bin zu einem Vorstellungsgespräch nach Shanghai Meituan gefahren und hatte damals auch keine technischen Probleme Sagen Sie, es ist schlecht oder gut. Wie auch immer, es gab dem Interviewer einfach kein angenehmes Gefühl.

Es ist schlimm, es ist bei vielen Dingen das Gleiche. Normalerweise geht es mir gut, aber wenn es Zeit für das Vorstellungsgespräch ist, fällt mir nichts mehr ein.


Obwohl ich an Java开发快五年了(2017年),用过Oracle数据库(银行里的系统),但大多数时候都是使用MySQLDatenbanken arbeite, war ich immer noch verwirrt, als ich mit dieser Frage konfrontiert wurde (ich habe in den sauren Apfel gebissen und ein wenig geredet) Der Interviewer würde Fragen zu Indizierung, langsamen Abfragen, Leistungsoptimierung usw. stellen. usw. (Denn das sind alles Interviewfragen, die ich online gefunden und auswendig gelernt habe).

Meituan-Interviewer: Erklären Sie klar und deutlich das MySQL-Struktursystem und machen Sie sofort ein Angebot

Heute werden wir überJava Entwickler, aber sie beschäftigen sich im täglichen Entwicklungsprozess häufig mit MySQL-Datenbanken. Wenn das Unternehmen );font-family: "Operator Mono", Consolas, Monaco, Menlo, monospace;word-break: break-all;color: rgb(239, 112, 96);">DBA can viel machen, aber immer noch ein bisschen besser, wenn es kein DBA ist von Kein Nutzen, wir sind immer noch sehr Es ist notwendig zu verstehenMySQL的架构体系,尽管咱们是Java开发人员,但是在日常开发过程中也会经常和MySQL数据库打交道。如果公司有DBA能干点事还稍微好点,如果是没有DBA或者DBA没什么用的情况下,我们还是很有必要了解MySQL的整个体系的,况且在面试中遇到了也是一个加分项。

Meituan-Interviewer: Erklären Sie klar und deutlich das MySQL-Struktursystem und machen Sie sofort ein Angebot

想要知道一条SQL是怎么查询的,只要对MySQL整个体系搞清楚了,才能说出个123。

Meituan-Interviewer: Erklären Sie klar und deutlich das MySQL-Struktursystem und machen Sie sofort ein Angebot

所以于情于理,我们很有必要学习一下MySQL的架构体系的。

平时,我和小伙伴们聊天的时候,经常会把MySQL

Meituan-Interviewer: Erklären Sie klar und deutlich das MySQL-Struktursystem und machen Sie sofort ein Angebot

🎜Ich möchte etwas wissenWie SQL abgefragt wird, nur MySQLNur wenn das gesamte System verstanden ist, können wir 123 sagen. 🎜

Meituan-Interviewer: Erklären Sie klar und deutlich das MySQL-Struktursystem und machen Sie sofort ein Angebot🎜🎜Es ist also notwendig, dass wir etwas über Emotionen und Vernunft lernenMySQLs Architektur. 🎜🎜Wenn ich mit meinen Freunden chatte, verwende ich normalerweise oft Was ist MySQL?

  • MySQL AB code>Von der Firma entwickelt, gehört es derzeit zu OracleCompany .
  • MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。

  • MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
  • MySQL是开源的,所以你不需要支付额外的费用。
  • MySQL支持大型的数据库,可以处理拥有上千万条记录的大型数据库。
  • MySQL使用标准的SQL数据语言形式。
  • MySQL可以允许于多个系统上,并且支持多种语言,这些编程语言包括C、C++、Python、Java、Ped、PHP、Eifel、Ruby和TCL等。
  • MySQL🎜MySQL</ code> unterstützt große Datenbanken und kann große Datenbanken mit mehreren zehn Millionen Datensätzen verarbeiten. </section></li>🎜🎜<code style=" font-size: rgba mono consolas monaco menlo monospace break-all rgb>MySQL Code>Verwendet die Standardform der SQL-Datensprache. 🎜🎜<code style="font-size: 14px;padding: 2px 4px;border-radius: 4px;margin-right: 2px;margin-left: 2px;background-color: rgba( 27, 31, 35, 0.05);font-family: „Operator Mono“, Consolas, Monaco, Menlo, monospace;word-break: break-all;color: rgb(239, 112, 96);“>MySQL</ code> kann auf mehreren Systemen verwendet werden und unterstützt mehrere Sprachen, darunter C, C++, Python, Java, Ped, PHP, Eifel, Ruby und TCL usw. </section></li>🎜🎜<code style=" font-size: rgba mono consolas monaco menlo monospace break-all rgb>MySQL code> bietet gute Unterstützung für PHP, die derzeit beliebteste Webentwicklungssprache.<li><section style="margin-top: 5px;margin-bottom: 5px;line-height: 26px;color: rgb(1, 1, 1);"><code style="font-size: 14px;padding: 2px 4px;border-radius: 4px;margin-right: 2px;margin-left: 2px;background-color: rgba(27, 31, 35, 0.05);font-family: „Operator Mono“, Consolas, Monaco, Menlo, monospace;word-break: break-all;color: rgb(239, 112, 96);“>MySQL unterstützt große Datenbanken, Unterstützt ein Data Warehouse mit 50 Millionen Datensätzen. Die 32-Bit-Systemtabellendatei kann maximal 4 GB unterstützen, und das 64-Bit-System unterstützt eine maximale Tabellendatei von 8 TB. MySQL是可以定制的,采用了GPL协议,你可以修改源码来开发自己的MySQL系统。
  • 请注意MySQL拼写,另外,很多人可能有疑问,为什么MySQL的logo是一条海豚?

    下面我们就来看看MySQL的整体架构图。

    MySQL架构图

    Meituan-Interviewer: Erklären Sie klar und deutlich das MySQL-Struktursystem und machen Sie sofort ein Angebot

    再来看看我们开发的系统架构图:

    Meituan-Interviewer: Erklären Sie klar und deutlich das MySQL-Struktursystem und machen Sie sofort ein Angebot

    其实还是蛮相似的,都有分层的概念。既然我们开发的软件系统能进行分层,那么MySQL

    🎜🎜MySQLSystem. 🎜🎜

    Bitte beachten SieMySQL Rechtschreibung, außerdem haben viele Leute möglicherweise Fragen, warum Werfen wir einen Blick daraufMySQL-Architekturdiagramm

    Meituan-Interviewer: Erklären Sie klar und deutlich das MySQL-Struktursystem und machen Sie sofort ein Angebot

    Werfen wir einen Blick auf das von uns entwickelte Systemarchitekturdiagramm: 🎜


    Eigentlich sind sie ziemlich ähnlich Konzept der Schichtung. Da das von uns entwickelte Softwaresystem geschichtet sein kann, gilt MySQL的分层情况以及每一层的功能。

    架构图分层

    上面的架构图我们可以对其进行拆分,并做简要的说明。

    连接层

    Meituan-Interviewer: Erklären Sie klar und deutlich das MySQL-Struktursystem und machen Sie sofort ein Angebot

    与客户端打交道,上面已经写明了能支持的的语言。客户端的链接支持的协议很多,比如我们在 Java 开发中的 JDBC

    这一层是不是有点像我们项目中的网关层?如果对网关不熟悉,那我们可以理解我controller

    Architekturdiagramm-Layering Wir können das obige Architekturdiagramm aufteilen und eine kurze Erklärung geben.

    Meituan-Interviewer: Erklären Sie klar und deutlich das MySQL-Struktursystem und machen Sie sofort ein AngebotVerbindungsschicht

    Meituan-Interviewer: Erklären Sie klar und deutlich das MySQL-Struktursystem und machen Sie sofort ein Angebot

    Mit Kunden Für den Umgang mit dem Terminal wurden oben die unterstützten Sprachen angegeben. Der Client-Link unterstützt viele Protokolle, zum Beispiel haben wir (27, 31, 35, 0.05);Schriftfamilie: „Operator Mono“, Consolas, Monaco, Menlo, Monospace;Wortumbruch: Break-All;Farbe: RGB (239, 112, 96);">Java In EntwicklungJDBC. Ist diese Ebene nicht ein bisschen wie die in unserem Projekt? : rgba(27, 31, 35, 0.05);font-family: „Operator Mono“, Consolas, Monaco, Menlo, monospace;word-break: break -all;color: rgb(239, 112, 96);"> Gateway-Schicht

    ? Wenn Sie mit Gateway nicht vertraut sind, können wir mich verstehenquery_cache_type ist eingestellt auf MySQL也提供了这种“按需使用”的方式。你可以将参数query_cache_type设置成DEMAND,这样对于默认的SQL语句都不使用查询缓存。

    「注意」MySQL 8.0

    "Hinweis": Parser

    Wenn der Abfragecache nicht erreicht wird, beginnt die eigentliche Ausführung der Anweisung. Zunächst muss MySQL wissen, was Sie tun möchten, also muss es die SQL-Anweisung analysieren.

    Der Analysator führt zunächst eine „lexikalische Analyse“ durch. Was Sie eingeben, ist eine SQL-Anweisung, die aus mehreren Zeichenfolgen und Leerzeichen besteht. MySQL muss identifizieren, was die darin enthaltenen Zeichenfolgen sind und was sie darstellen. 🎜

    Nach Abschluss der lexikalischen Analyse müssen Sie eine „grammatikalische Analyse“ durchführen. Basierend auf den Ergebnissen der lexikalischen Analyse bestimmt der Syntaxanalysator anhand grammatikalischer Regeln, ob die von Ihnen eingegebene SQL-Anweisung der MySQL-Syntax entspricht.

    Wenn wir bei der Schreibweise von SQL einen falschen Buchstaben vergessen oder schreiben, erhalten wir eine Fehlererinnerung mit „You have an error in your SQL syntax“.

    Zum Beispiel im folgenden Fall:

    Meituan-Interviewer: Erklären Sie klar und deutlich das MySQL-Struktursystem und machen Sie sofort ein Angebot

    Der Fehler besteht darin, dass im WHERE-Schlüsselwort ein E fehlt.

    Ebenso nutzen wir SQL, wenn ein bestimmtes Feld nicht existiert.

    Meituan-Interviewer: Erklären Sie klar und deutlich das MySQL-Struktursystem und machen Sie sofort ein Angebot

    Im Allgemeinen werden Grammatikfehler an der ersten Stelle angezeigt, an der der Fehler auftritt. Sie sollten daher auf den Inhalt achten, der unmittelbar nach „in der Nähe“ folgt. Dies dient nur als Referenz .

    Das SQL wurde vom Analysator analysiert und es wurde kein Fehler gemeldet. Geben Sie dann zu diesem Zeitpunkt den Optimierer ein, um die SQL zu optimieren.

    Optimierer

    Der Optimierer wird hauptsächlich verwendet, um zu entscheiden, welcher Index verwendet werden soll, wenn unsere Datenbanktabelle mehrere Indizes enthält oder wenn eine Anweisung mehrere Tabellenzuordnungen (Joins) aufweist. Bestimmen Sie die Verknüpfungsreihenfolge jeder Tabelle.

    Zum Beispiel:

    SELECT a.id, b.id FROM t_user a join t_user_detail b WHERE a.id=b.user_id and a.user_name=&#39;田维常&#39; and b.id=10001
    Nach dem Login kopieren

    Dadurch wird die bedingte Abfrage optimiert.

    Nach Abschluss der Optimierungsverarbeitung wurde der SQL-Ausführungsplan festgelegt. Anschließend geht es weiter in den Antrieb.

    Executor

    Zunächst müssen Sie die Berechtigungen ermitteln, also ob Sie die Berechtigung haben, dieses SQL auszuführen. Bei einigen Clients können die Berechtigungen während der Arbeit kontrolliert werden.

    Zum Beispiel: In der Produktionsumgebung haben die meisten Entwickler nur Abfrageberechtigungen und keine Berechtigungen zum Hinzufügen, Löschen oder Ändern (mit Ausnahme einiger kleiner Unternehmen).

    Meituan-Interviewer: Erklären Sie klar und deutlich das MySQL-Struktursystem und machen Sie sofort ein Angebot

    Wenn Sie die Erlaubnis haben, öffnen Sie die Tabelle und fahren Sie mit der Ausführung fort. Wenn eine Tabelle geöffnet wird, verwendet der Executor die von der Engine bereitgestellte Schnittstelle basierend auf der Engine-Definition der Tabelle.

    Speicher-Engine-Schicht

    Meituan-Interviewer: Erklären Sie klar und deutlich das MySQL-Struktursystem und machen Sie sofort ein Angebot

    Diese Schicht kann als Persistenzschicht in unserem Geschäftssystem verstanden werden.

    Das Konzept der Speicher-Engine gibt es nur bei MySQL. Nicht alle relationalen Datenbanken verfügen über das Konzept der Speicher-Engine.

    Die Datenbankspeicher-Engine ist die zugrunde liegende Softwareorganisation der Datenbank. Das Datenbankverwaltungssystem (DBMS) verwendet die Daten-Engine zum Erstellen, Abfragen, Aktualisieren und Löschen von Daten. Verschiedene Speicher-Engines bieten unterschiedliche Speichermechanismen, Indizierungstechniken, Sperrebenen und andere Funktionen. Durch die Verwendung verschiedener Speicher-Engines können Sie auch bestimmte Funktionen erhalten. Heutzutage unterstützen viele verschiedene Datenbankverwaltungssysteme eine Vielzahl unterschiedlicher Daten-Engines.

    Da Daten in Form einer Tabelle in einer relationalen Datenbank gespeichert werden, kann die Speicher-Engine auch als Tabellentyp bezeichnet werden (Tabellentyp, dh die Art der Speicherung und Operation dieser Tabelle).

    • MySQL Version 5.5 (MySQL-Version
    • MySQL Version 5.5 (MySQL-Version >= Version 5.5) und höher, die Standardspeicher-Engine ist InnoDB.

    Das Folgende ist ein Vergleich einiger relativ häufig verwendeter Engines:

    Meituan-Interviewer: Erklären Sie klar und deutlich das MySQL-Struktursystem und machen Sie sofort ein Angebot

    In tatsächlichen Projekten verwenden die meisten InnoDB, dann MyISAM und zumindest andere Speicher-Engines.

    Wir können den Befehl verwenden, um anzuzeigen, welche Speicher-Engines MySQL bereitgestellt hat:

    show engies;

    Wir können auch den Befehl verwenden, um die aktuelle Standard-Speicher-Engine von MySQL anzuzeigen:

    Variablen wie „%storage_engine%“ anzeigen;

    Der Unterschied zwischen MyISAM- und InnoDB-EnginesMyISAMInnoDB引擎的区别

    MySQL

    MySQLDie Standardspeicher-Engine vor Version 5.5 ist die MyISAM-Speicher-Engine. Viele Systemtabellen in MySQL verwenden die MyISAM-Speicher-Engine , die temporäre Systemtabelle verwendet auch die MyISAM-Speicher-Engine, aber nach Mysql5.5 ist die Standard-Speicher-Engine die InnoDB-Speicher-Engine. Meituan-Interviewer: Erklären Sie klar und deutlich das MySQL-Struktursystem und machen Sie sofort ein Angebot


    Wie wähle ich zwischen den beiden Speicher-Engines?
    • Gibt es Transaktionsvorgänge? Ja, InnoDB.
    • Speichern Sie gleichzeitige Änderungen? Ja, InnoDB.
    • Verfolgen Sie schnelle Abfragen mit weniger Datenänderungen? Ja, MyISAM.
    • Verwenden Sie die Volltextindizierung? Wenn Sie nicht auf ein Drittanbieter-Framework verweisen, können Sie MyISAM wählen, es ist jedoch effizienter, ein Drittanbieter-Framework und InnDB zu verwenden. Die InnoDB-Speicher-Engine verfügt hauptsächlich über die folgenden Funktionen: Unterstützt Transaktionen

    Unterstützung Das Lesen mehrerer Versionen unterstützt Sperren auf Zeilenebene. Lese- und Schreibblockierungen hängen von der Isolationsstufe der Transaktion ab

  • Unterstützt Caching, das sowohl Indizes als auch Daten zwischenspeichern kann

  • Die gesamte Tabelle und die Primärschlüssel werden im Cluster-Modus gespeichert, um einen ausgeglichenen Baum zu bilden

  • Natürlich nicht Es wird gesagt, dass InnoDB gut sein muss. In der tatsächlichen Entwicklung müssen Sie sich je nach Szenario entscheiden, ob Sie InnoDB oder MyISAM verwenden möchten.

    MyIASM (diese Engine war die Standardspeicher-Engine in MySQL-Datenbanken vor 5.5) Funktionen:

    1. MyISAM bietet keine Unterstützung für Datenbanktransaktionen

    2. Nicht unterstützte Zeile -Level-Sperren und Fremdschlüssel

    3. Aufgrund von 2 muss beim Ausführen einer INSERT-Einfüge- oder UPDATE-Aktualisierungsanweisung, also beim Ausführen eines Schreibvorgangs, die gesamte Tabelle gesperrt werden, damit die Effizienz verbessert wird reduziert

    4. MyISAM speichert die Anzahl der Zeilen in der Tabelle. Beim Ausführen von SELECT COUNT(*) FROM TABLE können die relevanten Werte direkt gelesen werden, ohne die gesamte Tabelle zu scannen, was schnell ist.

    Der Unterschied zwischen den beiden:

    1. MyISAM ist transaktionssicher

    2. MyISAM Die Granularität von. lock s ist auf Tabellenebene und InnoDB unterstützt Zeilenebene Schlösser

    3. MyISAM unterstützt Volltextindizes, während InnoDB keine Volltextindizes vor MySQL5.6 unterstützt. Es unterstützt VOLLTEXT-Indizes ab MySQL5.6.

    Vergleich der Nutzungsszenarien:

    1. Wenn Sie eine große Anzahl ausgewählter Vorgänge ausführen möchten, sollten Sie MyISAM wählen

    2. Wenn Sie auftreten möchten eine große Anzahl von Einfügungen und Ups Für Datumsoperationen sollte InnoDB ausgewählt werden

    3. Große Datensätze neigen dazu, die InnoDB-Engine zu wählen, da sie die Transaktionsverarbeitung und Fehlerbehebung unterstützt. Die Größe der Datenbank bestimmt die Länge der Wiederherstellungszeit. InnoDB kann Transaktionsprotokolle für die schnellere Datenwiederherstellung verwenden. Primärschlüsselabfragen werden unter der InnoDB-Engine ebenfalls recht schnell sein, es ist jedoch zu beachten, dass ein zu langer Primärschlüssel auch zu Leistungsproblemen führt.

    Relativ gesehen wird InnoDB eher von Internetunternehmen genutzt.

    Systemdateispeicherschicht

    Meituan-Interviewer: Erklären Sie klar und deutlich das MySQL-Struktursystem und machen Sie sofort ein Angebot

    Diese Schicht kann auch als Datenbank in unserem Geschäftssystem verstanden werden.

    Die Systemdateispeicherschicht ist hauptsächlich dafür verantwortlich, Datenbankdaten und Protokolle in Systemdateien zu speichern und gleichzeitig die Transaktion mit der Speicher-Engine abzuschließen. Es handelt sich um die physische Speicherschicht von Dateien.

    Zum Beispiel: Datendateien, Protokolldateien, PID-Dateien, Konfigurationsdateien usw.

    Datendatei

    „db.opt-Datei“: Zeichnen Sie den Standardzeichensatz und die Überprüfungsregeln dieser Datenbank auf.

    "frm-Datei": Im Edge gespeicherte Metadateninformationen, einschließlich Definitionsinformationen der Tabellenstruktur usw. Jede Tabelle verfügt über eine entsprechende FRM-Datei.

    „MYD-Datei“: Eine Datei für die MyISAM-Speicher-Engine, die die Dateninformationen der MyISAM-Tabelle speichert. Jede MyISAM-Tabelle verfügt über eine .MYD-Datei.

    「MYI文件」:也是MyISAM存储引擎专用的文件,存放MyISAM表的索引相关信息,每一张MyISAM表都有对应的.MYI文件。

    「ibd文件和ibdata文件」:存放InnoDB的数据文件(包括索引)。InnoDB存储引擎有两种表空间方式:独立表空间和共享表空间。

    • 独享表空间使用ibd文件来存放数据,并且每一张InnoDB表存在与之对应的.ibd文件。
    • 共享表空间使用ibdata文件,所有表共同使用一个或者多个.ibdata文件。

    「ibdata1文件」:系统表空间数据文件,存储表元数据、Undo日志等。

    「ib_logfile0、ib_logfile0文件」:Redo log日志文件。

    日志文件

    错误日志:默认是开启状态,可以通过命令查看:

    show variables like &#39;%log_error%&#39;;
    Nach dem Login kopieren

    二进制日志binary log:记录了对MySQL数据库执行的更改操作,并且记录了语句的发生时间、执行耗时;但是不记录查询select、show等不修改数据的SQL。主要用于数据库恢复和数据库主从复制。也是大家常说的binlog日志。

    show variables like &#39;%log_log%&#39;;//查看是否开启binlog日志记录。
    show variables like &#39;%binllog%&#39;;//查看参数
    show binary logs;//查看日志文件
    Nach dem Login kopieren

    慢查询日志:记录查询数据库超时的所有SQL,默认是10秒。

    show variables like &#39;%slow_query%&#39;;//查看是否开启慢查询日志记录。
    show variables &#39;%long_query_time%&#39;;//查看时长
    Nach dem Login kopieren

    通用查询日志:记录一般查询语句;

    show variables like &#39;%general%&#39;;
    Nach dem Login kopieren
    配置文件

    用于存放MySQL所有的配置信息的文件,比如:my.cnf、my.ini等。

    「pid文件」

    pid文件是mysqld应用程序在Linux或者Unix操作系统下的一个进程文件,和许多其他Linux或者Unix服务端程序一样,该文件放着自己的进程id。

    「socket文件」

    socket文件也是Linux和Unix操作系统下才有的,用户在Linux和Unix操作系统下客户端连接可以不通过TCP/IP网络而直接使用Unix socket来连接MySQL数据库。

    SQL查询流程图

    Meituan-Interviewer: Erklären Sie klar und deutlich das MySQL-Struktursystem und machen Sie sofort ein Angebot

    Zusammenfassung

    MySQL Wir können uns das gesamte System als ein Softwaresystem vorstellen, das wir täglich entwickeln. Es verfügt auch über eine Zugriffsschicht, die für die Verbindung mit externen Clients ausgelegt ist. Sie ist dem Gateway unseres Systems sehr ähnlich. und der Cache ähnelt dem in unserem Geschäftscode. Der verwendete Cache und Parser können als Mittel zur Optimierung des Codes im Geschäftssystem verwendet werden Die Engine entspricht unserer Persistenzschicht und das Dateisystem entspricht der gesamten Geschäftsdatenbank. MySQL整个系统我们可以看成是我们日常开发的软件系统,也有接入层,专门对接外面客户端的,和我们系统的网关就很像,缓存也就类似我们业务代码中使用的缓存,解析器可以理解为业务系统中参数解析以及参数校验,优化层可以当做我们开发代码优化的手段,然后存储引擎就相当于我们的持久层,文件系统相当于整个业务系统中的数据库。

    可能比喻不是非常的恰当,但是希望大家能领略轻重的含义,目的只有一个,那就是让大家能轻松掌握MySQLVielleicht ist die Metapher nicht sehr passend, aber ich hoffe, dass jeder die Bedeutung von Strenge verstehen kann. Es gibt nur einen Zweck, nämlich es jedem leicht verständlich zu machenMySQLs Gesamtsituation.

    Einige Bilder im Artikel stammen aus dem Internet und werden gelöscht!

    Beneiden Sie nicht jeden Tag einige großartige Menschen oder großartige Götter, sie sind auch Schritt für Schritt gekommen. Seien Sie zuversichtlich, solange Sie es Stück für Stück tun und bodenständig vorgehen, werden Sie ein großer Meister.

    Empfohlene Lektüre

    Das obige ist der detaillierte Inhalt vonMeituan-Interviewer: Erklären Sie klar und deutlich das MySQL-Struktursystem und machen Sie sofort ein Angebot. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Verwandte Etiketten:
    Quelle:Java后端技术全栈
    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage