Heim  >  Artikel  >  Java  >  Was sind die Wissenspunkte des Java-Stacks?

Was sind die Wissenspunkte des Java-Stacks?

PHPz
PHPznach vorne
2023-05-06 12:01:061208Durchsuche

Was sind die Wissenspunkte des Java-Stacks?


1. Das Konzept des Stapels

Stack, auch bekannt als Stack, ist als Datenstruktur eine spezielle lineare Tabelle, die nur an einem Ende Einfüge- und Löschvorgänge ausführen kann.
Es handelt sich um eine lineare Tabelle mit begrenzten Operationen. Die Einschränkung besteht darin, dass Einfüge- und Löschvorgänge nur an einem Ende der Tabelle zulässig sind. Dieses Ende wird als Oberseite des Stapels bezeichnet, das andere Ende als Unterseite. Der Stapel verfügt über eine First-In-Last-Out-Funktion.
Was sind die Wissenspunkte des Java-Stacks?

2. Grundlegende Stapeloperationen

Erstellen Sie einen Stapel: Erstellen Sie vor der Verwendung des Stapels einen leeren Stapel.
Push, Push: Fügen Sie neue Elemente zum Stapel hinzu.
Pop: Löschen Sie das oberste Element des Stapels
Stapel lesen: Fragen Sie das Element oben im aktuellen Stapel ab
, um die Größe des Stapels zu ermitteln und den Stapel zu leeren. . .

3. Stapelmethoden und -attribute

Was sind die Wissenspunkte des Java-Stacks?
Was sind die Wissenspunkte des Java-Stacks?

Push bedeutet, in den Stapel zu schieben.
Pop bedeutet, aus dem Stapel herauszuspringen )

Array ist erforderlich. Definieren Sie im Voraus eine feste Länge (Anzahl der Elemente).

② Verknüpfte Liste.

Die verknüpfte Liste besteht aus kleinen Räumen, auf die jeder Raum verweist Nächster Raum. Die verknüpfte Liste, auf die verwiesen wird, ist eine nicht kontinuierliche, nicht sequentielle Speicherstruktur auf der physischen Speichereinheit. Die logische Reihenfolge der Datenelemente wird durch die Zeigeradresse der verknüpften Liste realisiert Das Element enthält zwei Knoten, einer ist die Datendomäne (Speicherplatz), in der das Element gespeichert ist, und der andere ist ein Zeigerfeld, das auf die nächste Knotenadresse zeigt. Abhängig von der Zeigerrichtung kann die verknüpfte Liste unterschiedliche Strukturen bilden, z. B. eine einfach verknüpfte Liste, eine doppelt verknüpfte Liste, eine zirkulär verknüpfte Liste usw. Was sind die Wissenspunkte des Java-Stacks?

5. Der Unterschied zwischen Arrays und verknüpften Listen


ArrayWas sind die Wissenspunkte des Java-Stacks?

Vorteile:

1. Das Abfragen von Elementen nach Index ist schnell
2. Es ist praktisch, das Array gemäß dem Index zu durchlaufen
Nachteile:

1. Definieren Sie im Voraus eine feste Länge (Anzahl der Elemente) 2. Dies ist nicht möglich Passen Sie sich der dynamischen Zunahme und Abnahme der Daten an.
Wenn die Datenmenge zunimmt, kann es sein, dass die ursprünglich definierte Anzahl von Elementen überschritten wird, was dazu führt, dass das Array außerhalb der Grenzen liegt.

Wenn die Datenmenge abnimmt, führt dies zu einer Verschwendung von Speicher.
Verknüpfte Liste


Vorteile:

1. Es besteht keine Notwendigkeit, die Kapazität zu initialisieren, und Elemente können beliebig hinzugefügt oder entfernt werden. ;

2. Beim Hinzufügen oder Löschen von Elementen müssen Sie nur die Zeigerfelder der beiden Elementknoten so ändern, dass sie auf die Adresse zeigen, also hinzufügen und Das Löschen erfolgt sehr schnell
Nachteile:
1 Da es eine große Anzahl von Zeigerfeldern enthält, nimmt es viel Platz ein. Das Auffinden von Elementen erfordert das Durchlaufen der verknüpften Liste, was sehr zeitaufwändig ist.


Wenn Sie schnell auf Daten zugreifen möchten und nicht oft Elemente einfügen oder löschen, wählen Sie das Szenario, in dem die Menge der Array-Daten gering ist und häufige Hinzufügungen und Löschungen erforderlich sind
Wenn Sie keine hohen Anforderungen an die Effizienz haben Beim Zugriff auf Elemente wählen Sie „Verknüpfte Liste“

6.1. Speichern lokaler Variablen:

Lokale Variablen können auch in Funktionen verwendet werden, globale Variablen können jedoch nicht immer verwendet werden. Wo ist dann der geeignete Ort zum Speichern lokaler Variablen? Das heißt, es sollte keine Konflikte geben, wenn Funktionen verschachtelt sind, und der Schwerpunkt sollte auf der Effizienz liegen.


6.2 Parameterübergabe

Der Zweck der Parameterübergabe besteht darin, Code wiederzuverwenden, sodass eine Methode auf mehr Situationen angewendet werden kann, ohne N Sätze ähnlicher Codes für N Situationen schreiben zu müssen. Welche Methode wird also zur Parameterübertragung verwendet? Sie können wählen:

6.3 Speichern Sie den Wert des Registers.
Wenn es einen Konflikt bei der Übertragung der Registerparameter gibt, können Sie den Wert des Registers vorübergehend in den Stapel verschieben.

6.4 Andere Funktionen.
1) Der Stapel ist der Grundlage jeder Funktionsarchitektur und implementiert die Funktion Wiederverwendung.

2) Wenn ein Problem auftritt, können Sie den Stack verwenden, um die Situation zu verstehen, in der das Problem aufgetreten ist.

3) Der Stack ist die Grundlage für den Aufbau des Multitasking-Modus des Betriebssystems.

Das obige ist der detaillierte Inhalt vonWas sind die Wissenspunkte des Java-Stacks?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen