Heim > Java > javaLernprogramm > Was sind die Sicherheitspunkte in Java?

Was sind die Sicherheitspunkte in Java?

下次还敢
Freigeben: 2024-04-21 02:16:14
Original
866 Leute haben es durchsucht

Java-sichere Punkte sind bestimmte Momente, in denen die JVM Threads anhält, um eine Speicherbereinigung durchzuführen, um einen stabilen Anwendungsstatus sicherzustellen und die Pausenzeit zu verkürzen. Sichere Punkte befinden sich normalerweise an Methodenaufrufen, Schleifen und synchronisierten Blockgrenzen. Nachdem die JVM die Anforderung gesendet hat, wird der Thread am nächstgelegenen sicheren Punkt angehalten, dann führt die JVM eine Speicherbereinigung durch und der Thread wird nach Abschluss der Sammlung weiter ausgeführt. Zu den Optimierungen gehören inkrementelle Speicherbereinigung, gleichzeitige Markierungsscans und voreingenommene Sperren, um Pausenzeiten zu reduzieren und eine Beeinträchtigung der Anwendungsausführung zu vermeiden.

Was sind die Sicherheitspunkte in Java?

Java-Sicherheitspunkte

Java-Sicherheitspunkte sind bestimmte Momente, in denen die Java Virtual Machine (JVM) alle Anwendungsthreads anhält, um eine Speicherbereinigung durchzuführen.

Die Rolle sicherer Punkte

  • Erlauben Sie JVM, die Speicherbereinigung durchzuführen, während die Anwendung ausgeführt wird.
  • Stellen Sie sicher, dass sich der Ausführungsstatus der Anwendung während der Speicherbereinigung nicht ändert. Reduzieren Sie die Pausenzeit der Anwendung Standort von sicheren Punkten
  • Sicherheitspunkte befinden sich normalerweise in den folgenden Szenarien:

Grenzen von Methodenaufrufen:

Wenn ein Thread eine andere Methode aufruft, werden Sicherheitspunkte vor und nach dem Methodenaufruf eingefügt.

    Schleifengrenzen:
  • Sichere Punkte werden eingefügt, wenn ein Thread in eine Schleife eintritt oder diese verlässt.
  • Synchronisierte Blockgrenzen:
  • Sichere Punkte werden eingefügt, wenn ein Thread einen synchronisierten Block betritt oder verlässt.
  • Safepoint-Mechanismus
  • Wenn die JVM für die Speicherbereinigung bereit ist:

Es wird eine Safepoint-Anfrage an alle Anwendungsthreads gesendet.

Alle Threads stoppen die Ausführung, nachdem sie den nächsten sicheren Punkt erreicht haben.

JVM führt eine Speicherbereinigung durch.
  • Der Anwendungsthread setzt die Ausführung fort, nachdem die Speicherbereinigung abgeschlossen ist.
  • Sichere Punkte optimieren
  • Um Anwendungspausenzeiten zu verkürzen, kann die JVM sichere Punkte auf folgende Weise optimieren:

Inkrementelle Speicherbereinigung:

Unterteilen Sie den Speicherbereinigungsprozess in kleinere Inkremente und verkürzen Sie dadurch die Pausenzeit für einzelne Sicherungspunkte.

    Gleichzeitiger Markierungsscan:
  • Führen Sie die Markierungsphase der Garbage Collection gleichzeitig mit der Anwendungsausführung durch und verkürzen Sie so die Anwendungspausenzeit.
  • Voreingenommene Sperren:
  • Vermeiden Sie die Synchronisierung konkurrierender Sperren und verkürzen Sie so die Wartezeiten für Sicherheitspunkte.

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

Quelle:php.cn
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