Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Datenübertragung in Java | Tiefe Java-Struktur
Java Erweitert
course content

Kursinhalt

Java Erweitert

Java Erweitert

1. Tiefe Java-Struktur
2. Methoden
3. String Advanced
4. Klassen
5. Klassen Fortgeschritten

book
Datenübertragung in Java

Wie werden Informationen in Java übertragen?

Sie wissen aus dem vorherigen Kurs, dass es zwei Arten von Speicher gibt - Stack und Heap. Werfen wir einen Blick darauf, wie Daten in diesen beiden Speicherbereichen gespeichert werden:

java

Main

copy
123456789
package com.example; public class Main { public static void main(String[] args) { String number = new String("170"); String word = new String("word"); int poolNumber = -4; } }

Wir haben 3 verschiedene Variablen erstellt. Unten ist ein Diagramm, das veranschaulicht, wie und wo sie im Speicher gespeichert werden:

Lassen Sie uns durchgehen, was Sie im Diagramm beobachtet haben:

  • Wir sehen String Felder im Stapelspeicher, die Links zu Werten im Heapspeicher sind. Auf diese Weise greifen wir nicht jedes Mal direkt auf den Heapspeicher zu. Stattdessen greifen wir zunächst auf den Link im Stapelspeicher zu, was schneller ist als der Zugriff auf den Heapspeicher. Sie haben bereits Links zu Werten kennengelernt, als Sie das Thema String Pool gelernt haben;
  • Sie können sehen, dass int nicht im Heapspeicher gespeichert ist; sein Wert wird direkt im Stapelspeicher gespeichert. Dies gilt für alle primitiven Datentypen (byte, short, int, long, float, double und boolean). Daher werden primitive Datentypen in Java als Wert übergeben. String ist jedoch kein primitiver Datentyp, daher wird sein Wert im Heapspeicher gespeichert;
  • Für jeden neuen Link wird ein neues Objekt im Heapspeicher erstellt. Wenn jedoch zwei Variablen desselben Typs denselben Wert haben, verweisen sie auf dasselbe Objekt im Heapspeicher;
  • Der Integer Pool ist ein Bereich im Stapelspeicher, in dem alle Ganzzahlen im Bereich von -128 bis 127 verlinkt sind. Diese Optimierung wird durchgeführt, um die Leistung der Zahlenverarbeitung in Java zu verbessern, da Zahlen in diesem Bereich häufig verwendet werden. Denken Sie daran, dass der Stapelspeicher schneller arbeitet als der Heapspeicher, sodass wir dank des Integer Pools schnellere Antworten erhalten;
  • Der String Pool ist ein Bereich im Heapspeicher, in dem identische Zeichenfolgenwerte gespeichert werden.

Schlussfolgerung

Wir können schlussfolgern, dass in Java Datentypen by value übergeben werden. Objekte wie String werden ebenfalls by value übergeben, durchlaufen jedoch eine Phase des Übergebens durch eine Referenz.

1. Was ist ein Integer Pool in Java?

2. Wie werden Daten in Java übergeben, durch Referenz oder durch Wert?

Was ist ein Integer Pool in Java?

Was ist ein Integer Pool in Java?

Wählen Sie die richtige Antwort aus

Wie werden Daten in Java übergeben, durch Referenz oder durch Wert?

Wie werden Daten in Java übergeben, durch Referenz oder durch Wert?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 2
We're sorry to hear that something went wrong. What happened?
some-alt