Programmieranfänger geraten meist in das Missverständnis, dass sie allein durch das Erlernen einer Sprache als bestimmter Sprachingenieur bezeichnet werden können. Aber ist das wirklich so? Dies ist nicht der Fall.
Heute werden wir darüber sprechen, was genau Java-Entwicklungsingenieure entwickeln. Um genau zu sein: Was genau macht das Java-Backend?
Jeder weiß, dass Java eine Back-End-Sprache ist. Der serverseitige Code bezieht sich im Allgemeinen auf den Server, auf dem wir Java-Programme ausführen.
Diese Server werden in Internetunternehmen normalerweise an einem Ort namens Computerraum aufgestellt, sodass der Code von Java-Programmierern wie uns normalerweise auf den Servern in diesen Computerräumen läuft.
Es gibt ein Konzept in Java, das als virtuelle Maschine bezeichnet wird. Sie können es sich als einen Android-Emulator vorstellen Kann Es wird zum Ausführen von Android-Anwendungen verwendet, z. B. zum Installieren einer APP, für mobile Spiele usw.
Wenn Sie also etwas namens JDK auf Ihrem Computer installieren, gibt es auf Ihrem Computer JRE, die Java-Laufzeitumgebung. Mit dieser Laufzeitumgebung können Sie Java-Anwendungen ausführen.
Nachdem wir wissen, wie Java-Programme auf Computern ausgeführt werden, sprechen wir über einige grundlegende Java-Kenntnisse, die wir normalerweise erlernen. Welchen Nutzen haben sie?
Tatsächlich handelt es sich bei dieser grundlegenden Java-Syntax nur um einige Grundkenntnisse zum Schreiben von Code, was 26 Buchstaben auf Englisch entspricht. Zu den gebräuchlichen gehören grundlegende Typvariablen, for-Schleifen, if else und andere grundlegende Syntax. Nachdem Sie sich diese Grundkenntnisse angeeignet haben, können Sie mit dem Schreiben einiger sehr einfacher Codes beginnen.
Darüber hinaus verfügt Java auch über einige spezielle Konzepte, z. B. objektorientierte Funktionen, einschließlich Klassen, Schnittstellen und anderer Konzepte. Warum führt Java diese Dinge tatsächlich ein? Es möchte, dass Benutzer besser entwerfen, abstrahieren und programmieren können.
Anfänger müssen es nicht sehr tief verstehen, da diese Dinge erst nach und nach verstanden werden können, nachdem Sie den Code tatsächlich geschrieben haben.
Nachdem wir über die Grundkenntnisse gesprochen haben, werden Sie meiner Meinung nach auch neugierig sein, wozu einige in Java häufig erwähnte Sammlungsklassen dienen, da es im wirklichen Leben viele Szenarien gibt, die die Verwendung von Sammlungsklassen erfordern, z Lassen Sie uns über eine Liste mit Benutzernamen sprechen.
Um es richtig zu machen, verwenden Sie eine Liste. Die Rolle der Sammlungsklasse besteht also darin, Ihnen eine bessere Speicherung von Daten in der Programmierung zu ermöglichen.
Tatsächlich stammt das Konzept der Sammlungsklasse aus der Datenstruktur, da es in Computern viele spezielle Datenspeicherstrukturen wie Dateibäume, verknüpfte Listen, Arrays und andere Strukturen gibt, sodass sich die Computertheorie auf diese gespeicherten Strukturen bezieht Daten Das Modell ist in einige gemeinsame Strukturen abstrahiert, die zusammenfassend als Datenstrukturen bezeichnet werden.
Was bedeutet Multithreading in Java? Durch gleichzeitige Programmierung kann die Effizienz der Programmparallelität verbessert werden.
Aber hinter der gleichzeitigen Programmierung ist die Unterstützung des Betriebssystems und der Computerhardware erforderlich. Wenn Sie Multithreading vollständig verstehen möchten, reicht es daher nicht aus, nur Thread oder Thread-Pool zu verstehen Java müssen Sie auch das Betriebssystem und die Prinzipien der Computerkomposition verstehen.
Ähnlich wie bei der gleichzeitigen Programmierung handelt es sich bei der Netzwerkprogrammierung in Java auch um eine Reihe von APIs, die auf dem TCP/IP-Protokoll basieren Beim Programmieren können Sie im Programm die Daten, die Sie übertragen möchten, an das andere Ende des Netzwerks übertragen. Mit Netzwerkprogrammierung und gleichzeitiger Programmierung sind Java-Programmierer bereits sehr leistungsfähig
Fertig Nach diesen Punkten sprechen wir über die Java-Backend-Technologie, über die wir normalerweise sprechen. In der Vergangenheit gab es nicht viele Alipay-Benutzer, die alle Unternehmen unterstützen konnten.
Als die Anzahl der Alipay-Benutzer zunahm, konnte ein Server die Anforderungen einer großen Anzahl von Benutzern gleichzeitig nicht erfüllen, sodass mehrere Server einen Cluster bildeten und Benutzer die Last nutzen konnten Durch den Zugriff auf diese Server kann jeder Benutzer auf einen anderen Computer zugreifen, wodurch ein Umleitungseffekt erzielt und die Belastung des Servers verringert wird.
Da die Datenbank die Zuverlässigkeit der Daten gewährleisten muss, sind die Daten nicht zugänglich, wenn eine bestimmte Datenbank ausfällt und keine Sicherung vorhanden ist. Dies ist in großen Systemen nicht zulässig, daher erfolgt die Master-Slave-Bereitstellung Datenbank.
Tatsächlich nimmt jedoch mit der Geschäftsentwicklung auch der Druck auf die Datenbank zu. Die aktive und Standby-Bereitstellung kann das Problem der Datenbankzugriffsleistung nicht lösen, daher müssen wir die Datenbank in separate Tabellen aufteilen. In der aktiven und Standby-Datenbank teilen wir eine Tabelle mit einer großen Datenmenge in mehrere Tabellen auf und leiten Datenbankanforderungen an verschiedene Daten weiter. Beispielsweise entsprechen 100 Unterdatenbanken und 100 Untertabellen einer Aufteilung Eine Datentabelle wird in 10.000 Datentabellen unterteilt.
Zu diesem Zeitpunkt tritt ein weiteres Problem auf. Wenn eine Datenbank über mehrere Standby-Datenbanken verfügt und beim Auflegen der Primärdatenbank ein Master-Slave-Umschalten erforderlich ist, sind die Daten zwischen der Primär- und der Standby-Datenbank möglicherweise inkonsistent ist auch eines der Themen, die in der verteilten Theorie untersucht werden. Da es relativ kompliziert ist, werden wir es hier überspringen.
Ich habe gerade die verteilte Technologie erwähnt. Tatsächlich sind Lastausgleich und Unterdatenbank und Untertabelle alle Implementierungen der verteilten Technologie Möglichkeiten, den Datenbankzugriff zu reduzieren? Wie sieht es mit dem Druck aus? Der Cache ermöglicht es dem Server, die Anforderung zuerst an den Cache zu senden. Da sich die zwischengespeicherten Daten im Allgemeinen im Speicher befinden, ist die Zugriffsgeschwindigkeit sehr hoch und diese Anforderungen müssen nicht durch die Datenbank geleitet werden.
Mit der Entwicklung des Geschäfts wird der Druck des Einzelpunkt-Cache relativ groß sein, sodass der Cache im Allgemeinen nicht die Zuverlässigkeit der Daten garantieren kann Ihre Daten können verloren gehen und der Cache kann nur einen Teil der Daten speichern und nicht alle Probleme lösen.
Wenn also das Anfragevolumen einiger Unternehmen sehr groß ist, kann Caching allein das Problem nicht lösen. Zu diesem Zeitpunkt können wir auch die Nachrichtenwarteschlange verwenden, um das Problem gleichzeitiger Anfragen mit großem Datenverkehr zu lösen.
Wir können einen Teil der Anforderungsnachrichten über die Nachrichtenwarteschlange speichern und die Nachrichten dann basierend auf der Fähigkeit unseres Servers, die Anforderungen zu verarbeiten, schrittweise herausnehmen und diese Nachrichten dann schrittweise verarbeiten, sodass dies möglich ist Sehr gut. Lösen Sie das Problem der hohen Parallelität. Voraussetzung ist natürlich, dass die Nachrichtenwarteschlange die Zuverlässigkeit der Nachrichtenspeicherung gewährleisten muss, was auch eine Fähigkeit ist, die die meisten Nachrichtenwarteschlangen garantieren.
Nachdem ich so viel in einem Atemzug gesagt habe, habe ich das allgemeine Erscheinungsbild des Java-Backends klar vorgestellt. Darüber hinaus gibt es viele Dinge, die nicht erwähnt wurden, wenn ich es wirklich beenden wollte in der Lage sein, es in einer Nacht fertigzustellen.
Im Allgemeinen ist die Java-Back-End-Technologie weder schwierig noch einfach. Ich versuche, diese Inhalte so einfach wie möglich zu gestalten. Tatsächlich steckt hinter jeder Technologie eine große Komplexität. Nachdem Sie das Gesamtkonzept der Java-Back-End-Technologie verstanden haben, wird es meiner Meinung nach für Ihr späteres Lernen hilfreicher sein.
Das obige ist der detaillierte Inhalt vonEinführung in das Java-Backend. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!